{"_id":"gpu-time","_rev":"6-4a0639bc9393277de82236544a093ee3","name":"gpu-time","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"gpu-time","version":"0.1.0","keywords":["schedule","natural-language","date","recurrence","webgpu"],"author":{"name":"Arik Chakma"},"license":"MIT","_id":"gpu-time@0.1.0","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"dist":{"shasum":"986d882da387958f37561314115eac1e3c14a583","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.1.0.tgz","fileCount":11,"integrity":"sha512-OyZZyDq5vZu1o7ZTMiyTJS0wT9n2544Jl8lT+ykMHxyVV9z195cb9seyU8jXSmWIi7yUggPVdKkSEwc2wo33fg==","signatures":[{"sig":"MEUCICM7NHnVQpSl1MFM1D1UbWOVYeEtwj/u3TMSVKzK/SniAiEA55KgfOPjMZxan6MTytfRHMExTX/dqP7zlxxjQxH6v7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187192},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"cc4c150548ef8c25c886015de4507f3892f96ca1","scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","prepack":"pnpm build","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"_npmVersion":"11.19.0","description":"A compact neural parser for English schedules","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/gpu-time_0.1.0_1789146691972_0.03970959818214004","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"gpu-time","version":"0.2.0","keywords":["schedule","natural-language","date","recurrence","webgpu"],"author":{"name":"Arik Chakma"},"license":"MIT","_id":"gpu-time@0.2.0","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"dist":{"shasum":"f44a4b4118fd6ba28a8a7158b132592985e98e4e","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.2.0.tgz","fileCount":11,"integrity":"sha512-5fOnVro8kCdLX9Rw/JU41Viz2U+7o7ETCc7Lqh8nN15Fshm5VrlJexjj7vxBq8H6cL6Yb1Q6FXD2CPAcCg829A==","signatures":[{"sig":"MEQCIGfayUeet0AJxR6YyMvMcSvLGxF7ZkG27wyE3UfTWu1UAiAm2agVxo5kWNfzrdNfO1Y4pz5hbg9IX/4NX5gedsfPsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICera6dqPsMoB86SgmtvZESa1GVA3uQSx16FqyPTiwgxAiEAxIioJKZeZc5u82n3eOyd+RiNhag5I180nPDZK6GhmqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"bbd7611c1f58c451d3caeed27e5d51ffc473d0e2","scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","prepack":"pnpm build","release":"bumpp","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"_npmVersion":"11.19.0","description":"A compact neural parser for English schedules","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/gpu-time_0.2.0_1789225486553_0.6136131706866523","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"gpu-time","version":"0.2.1","keywords":["schedule","natural-language","date","recurrence","webgpu"],"author":{"name":"Arik Chakma"},"license":"MIT","_id":"gpu-time@0.2.1","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"dist":{"shasum":"1c468bfe591b5f0c59abd9a615a22e85d8c62426","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.2.1.tgz","fileCount":11,"integrity":"sha512-KWC9qpmJBJvxI9gyT+1CpXUee+62fGyVSIFLW4BXbF4plNcs8/U/vdS+ClQTZUpEQzyY+ViqMx+2f3Ht8Alssg==","signatures":[{"sig":"MEUCICLQUnKeCGN+mzEmbtn3EjjRJDqthrPtpNHxLaoVgok2AiEAzPCKhuRN0bkBhsUUM8biyBIGKGkJWtLP+DpViQpM8PM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDiskHO9eBO8onLQ09OE8FoVP4x5R6U6KNXtN+nry8l4gIhAKvv7zoFZXkPcUTg5koo2WQvntxRPv65rDDfRZIwtFT+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231525},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"aba27e54aabe7310cba5c160fa2079045096ffb1","scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","prepack":"pnpm build","release":"bumpp","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"_npmVersion":"11.19.0","description":"A compact neural parser for English schedules","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/gpu-time_0.2.1_1789233639847_0.33688027308083446","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"gpu-time","version":"0.3.0","keywords":["schedule","natural-language","date","recurrence","webgpu"],"author":{"name":"Arik Chakma"},"license":"MIT","_id":"gpu-time@0.3.0","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"dist":{"shasum":"66dff8ce9c5d1654e382990d39ff73a05f1a3871","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.3.0.tgz","fileCount":11,"integrity":"sha512-DRMtH1wAMJBR5F0NjzHJoMKmW2Xlt4xnFfXeV42u0W8uFNfJWiUQPTDP27epQNA+JcQnenJ8v0C100WSVFqshw==","signatures":[{"sig":"MEUCIGCNwNZb7xwRno8VihUGRVP3Vf1L5Bi4Hbo4WyM14GCZAiEAt8q9cTzrQ75cFjVSuxd/pp3mrTMMgcoKnwIGnTqHmbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDeBQP1AXQ5HUwYOLS9XvR25fUCVYlz8ggx5HU6aq+yLAiB4xT5nv49U3VOcYuaDSN0m71D/tit+TmsWMeh40rJA0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232392},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"acbf55593449950405e7489b38b75e3082201479","scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","prepack":"pnpm build","release":"bumpp","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"_npmVersion":"11.19.0","description":"A compact neural parser for English schedules","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/gpu-time_0.3.0_1789326359331_0.08031879830597277","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"gpu-time","version":"0.4.0","keywords":["schedule","natural-language","date","recurrence","webgpu"],"author":"Arik Chakma","license":"MIT","_id":"gpu-time@0.4.0","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"dist":{"shasum":"dddb6c204909784d5d0cb1179eb13d3e55f0f443","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.4.0.tgz","fileCount":11,"integrity":"sha512-f2TQclDPU25ShcTq2iX7fSYlcb5j04W09zaU3frxPuEnUSTf9mTBuLgxQM70VdIXqR3EwgNiRNf3scn/bJfOcA==","signatures":[{"sig":"MEYCIQDgok7iAvfZyQLnKem9HIx4cnmSf2JhP4bY4R54bRuI4AIhAI4v3dTKw8D1MlXQoPEiBd2blergaIK3bPAvrw9kZfuD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICk/JFtXJNvsoTYrS9HndS1IOUnpPq7mey2byo4dtuM3AiEAukOf9Qt3mIhSw0FDCjx2vwHfiOebS95hntMwMxG4+EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235450},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","release":"bumpp","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"description":"A compact neural parser for English schedules","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/gpu-time_0.4.0_1789507004583_0.5702074763957634","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"gpu-time@0.5.0","dist":{"shasum":"efd307ec8555ebbbf39cc467868dce41e1ad6218","tarball":"https://registry.npmjs.org/gpu-time/-/gpu-time-0.5.0.tgz","fileCount":11,"integrity":"sha512-aifuK92PAtO97DXg7f0iWVnwAomIoRnos20Ca8UTKEOtzi47iPlchHtSnzHdOscGy4TX9Dh7pJdrniQQRh6q9w==","signatures":[{"sig":"MEQCICZTWL93W0/prJetfUoaiknZC4dOLD8E0NW8xfZ1XfleAiB7mpi36zRPzEALrJT4YEY3C5km6igDhjCBw0x7xlRAnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHt/YteOSyzY3EKpTiQostGTw02OlR7uw5mvFhywCzRJAiA+IlSN3KVvh3rBEYQQmnXX6t+4NT+mAd2IXgOpCO6g6g=="}],"unpackedSize":237736},"main":"./dist/index.js","name":"gpu-time","type":"module","types":"./dist/index.d.ts","author":"Arik Chakma","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"license":"MIT","scripts":{"test":"vitest run","build":"node --experimental-strip-types scripts/build.ts --report-only","check":"tsc --noEmit","schema":"node --experimental-strip-types scripts/generate-schema.ts","release":"bumpp","test:browser":"node --experimental-strip-types scripts/build.ts --report-only && node --experimental-strip-types test/browser.ts","build:release":"node --experimental-strip-types scripts/build.ts","check:package":"pnpm build && node --experimental-strip-types scripts/check-package.ts"},"version":"0.5.0","_npmUser":{"name":"arikchakma","email":"arikchangma@gmail.com"},"keywords":["schedule","natural-language","date","recurrence","webgpu"],"description":"A compact neural parser for English schedules","directories":{},"maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","vite":"7.3.6","rrule":"2.8.1","terser":"5.51.2","vitest":"4.1.11","esbuild":"0.28.2","wgslender":"1.4.1","playwright":"1.63.0","typescript":"5.9.3","@types/node":"24.13.3","@webgpu/types":"0.1.72","@js-temporal/polyfill":"0.5.1","ts-json-schema-generator":"2.9.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gpu-time_0.5.0_1790008252328_0.7568040831653593"}}},"time":{"created":"2026-09-11T17:11:31.673Z","modified":"2026-09-21T16:30:52.589Z","0.1.0":"2026-09-11T17:11:32.159Z","0.2.0":"2026-09-12T15:04:46.661Z","0.2.1":"2026-09-12T17:20:39.945Z","0.3.0":"2026-09-13T19:05:59.437Z","0.4.0":"2026-09-15T21:16:44.677Z","0.5.0":"2026-09-21T16:30:52.420Z"},"author":"Arik Chakma","license":"MIT","keywords":["schedule","natural-language","date","recurrence","webgpu"],"description":"A compact neural parser for English schedules","maintainers":[{"name":"arikchakma","email":"arikchangma@gmail.com"}],"readme":"# gpu-time\n\nA compact neural parser for English schedules. One small trained model reads a natural-language time expression and returns concrete dates, time ranges, and RFC 5545 recurrence rules. The public API returns dates and rules without internal token labels or syntax trees.\n\n```sh\npnpm add gpu-time\n```\n\n```js\nimport { parse } from \"gpu-time\";\n\nconst result = await parse(\"Sat Sun 1pm-8pm Mon 10pm-12am\", {\n  reference: \"2026-09-09T12:00:00+06:00\",\n  timeZone: \"Asia/Dhaka\",\n});\n\nconsole.log(result.occurrences);\n// Saturday and Sunday: 13:00–20:00\n// Monday: 22:00–Tuesday 00:00\nconsole.log(result.rrules);\nconsole.log(result.diagnostics);\n```\n\n`parse(text, context)` and `parseMany(texts, context)` are the convenience entry points. `context` must carry a `reference` instant and a `timeZone`; an unknown timezone rejects the call. The result holds `occurrences` (ISO `start`, optional `end`, `allDay`), `rrules`, `truncated`, `diagnostics`, the `backend` that ran, and `timings`. Diagnostics report known problems, but model errors can still produce incorrect dates.\n\nFor a reusable instance or explicit backend selection, use `defineParser({ backend })` and release its GPU resources with `dispose()`:\n\n```js\nimport { defineParser } from \"gpu-time\";\n\nconst parser = await defineParser({ backend: \"webgpu\" });\nconst results = await parser.parseMany(texts, context);\nparser.dispose();\n```\n\nAutomatic mode tries WebGPU at 32 inputs or 512 tokens per batch. Smaller batches use the CPU. If WebGPU fails in automatic mode, the parser uses CPU and reports a `fallbackReason`. Explicit `backend: \"webgpu\"` requests reject on failure. GPU calls reuse the device, pipelines, and weights.\n\nThe model can return incorrect dates, even without a diagnostic. Before you use a result, make sure that its dates match the intended schedule. See the project repository for architecture, benchmarks, and model limitations.\n","readmeFilename":""}