{"_id":"@cool-ai/beach-channel-cron","_rev":"2-6eea555c67298f63ed711aaf8181f3b4","name":"@cool-ai/beach-channel-cron","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"@cool-ai/beach-channel-cron","version":"0.1.1","license":"Apache-2.0","_id":"@cool-ai/beach-channel-cron@0.1.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"06d12bb22ac450b2609871669e9245c97cfabf65","tarball":"https://registry.npmjs.org/@cool-ai/beach-channel-cron/-/beach-channel-cron-0.1.1.tgz","fileCount":23,"integrity":"sha512-fCJtwVWL4zyhxSJ4Kvv4lIakCcjPrgirZ6gq4w5/A3YxiyZBCYFBB+ozVvTbBmaPvDJM0mIwlerTZyKJCgFTug==","signatures":[{"sig":"MEUCIQCS567Ck1en45YoS3MWCeJ0qqGDkB0bRFGZK7O+vL4TPAIgMB53bZjoEpYIwd0rm3EvhTTTAhdgr47yJZ/GuYf8D1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314669},"type":"module","_from":"file:cool-ai-beach-channel-cron-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/af2f04303139ebbecce7f2a04dbd4461/cool-ai-beach-channel-cron-0.1.1.tgz","_integrity":"sha512-fCJtwVWL4zyhxSJ4Kvv4lIakCcjPrgirZ6gq4w5/A3YxiyZBCYFBB+ozVvTbBmaPvDJM0mIwlerTZyKJCgFTug==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/beach-channel-cron"},"_npmVersion":"10.9.8","description":"Beach cron channel — scheduled inbound triggers. Implements core's ChannelAdaptor (inbound only).","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beach-channel-cron_0.1.1_1780677376029_0.7384106534021302","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cool-ai/beach-channel-cron","version":"0.1.2","description":"Beach cron channel — scheduled inbound triggers. Implements core's ChannelAdaptor (inbound only).","license":"Apache-2.0","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/beach-channel-cron"},"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"publishConfig":{"access":"public"},"dependencies":{"@cool-ai/beach-core":"^0.13.3"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0","vitest":"^2.0.0"},"scripts":{"build":"tsc --project tsconfig.json","dev":"tsc --project tsconfig.json --watch","test":"vitest run","coverage":"vitest run --coverage","test:watch":"vitest","typecheck":"tsc --noEmit"},"_id":"@cool-ai/beach-channel-cron@0.1.2","_integrity":"sha512-650PkWjAJx8WhiLcxv1RPlLGTcPjOZEa6mpql8EU9TWgPJTZ8FPuXPbcDbqXcRi99g8qNlsB/ZRQPj1xeCpsCw==","_resolved":"/tmp/e45491930a5669922a3b8ef6af42b788/cool-ai-beach-channel-cron-0.1.2.tgz","_from":"file:cool-ai-beach-channel-cron-0.1.2.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-650PkWjAJx8WhiLcxv1RPlLGTcPjOZEa6mpql8EU9TWgPJTZ8FPuXPbcDbqXcRi99g8qNlsB/ZRQPj1xeCpsCw==","shasum":"7f088b67341b94127aa8a9a3a5d164e1fcd54130","tarball":"https://registry.npmjs.org/@cool-ai/beach-channel-cron/-/beach-channel-cron-0.1.2.tgz","fileCount":23,"unpackedSize":307350,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE4E0NuBr8RGl3HhoJSOmymmLusvzTioERx+hR4OKlN0AiBNz+AokzsAwmSysVulwcpkrCXOdtXosUMUyYzf7RxNYw=="}]},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"directories":{},"maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/beach-channel-cron_0.1.2_1781772153989_0.899620976694971"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-05T16:36:15.825Z","modified":"2026-06-18T08:42:34.270Z","0.1.1":"2026-06-05T16:36:16.203Z","0.1.2":"2026-06-18T08:42:34.139Z"},"bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"license":"Apache-2.0","homepage":"https://cool-ai.org","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/beach-channel-cron"},"description":"Beach cron channel — scheduled inbound triggers. Implements core's ChannelAdaptor (inbound only).","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"readme":"# @cool-ai/beach-channel-cron\n\nThe cron channel adaptor: scheduled inbound triggers. You own the scheduler — node-cron, a platform timer, whatever — and call `fire` on each tick; the adaptor turns the tick into an `InboundRequest` and routes it. A tick fires work; it does not answer a caller, so there is no reply path — `send` is a no-op and the request carries no reply destination.\n\nIt implements core's `ChannelAdaptor` so it registers with the channel-router uniformly, but only its trigger side does anything.\n\n## Use\n\n```ts\nimport { CronChannelAdaptor } from '@cool-ai/beach-channel-cron';\n\nconst cron = new CronChannelAdaptor({\n  inbound: (req) => channelRouter.inbound(req),\n});\n\n// From your scheduler:\nschedule('0 2 * * *', () => cron.fire('nightly-report', { window: 'last-24h' }));\n```\n\nThe `jobId` keys the conversation thread, so repeated ticks of the same job share a session; the payload is handed through channel-blind as the message's data.\n","readmeFilename":"README.md"}