{"_id":"@cofy-x/dsh-cron","_rev":"5-510b0547a5538a0baba1797408df3c17","name":"@cofy-x/dsh-cron","dist-tags":{"latest":"0.8.0-alpha.4"},"versions":{"0.8.0-alpha.2":{"name":"@cofy-x/dsh-cron","version":"0.8.0-alpha.2","license":"MIT","_id":"@cofy-x/dsh-cron@0.8.0-alpha.2","maintainers":[{"name":"rcyw","email":"rcywjo@gmail.com"}],"homepage":"https://github.com/cofy-x/dsh-cron#readme","bugs":{"url":"https://github.com/cofy-x/dsh-cron/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"f331007f619ee57096fce9e5c25b33bd4d206d56","tarball":"https://registry.npmjs.org/@cofy-x/dsh-cron/-/dsh-cron-0.8.0-alpha.2.tgz","fileCount":74,"integrity":"sha512-WAIwrT+x81vu5V/0i5Q+X9kl6XfcYgu3m70rApl7m6W/nDunoGDBNi+Zsa2SVUvfQpd/o4AHBr+XdqWv1slc4g==","signatures":[{"sig":"MEYCIQDAo9hunXvyIarypCLAc9DBRIpfp/tEVLj7h3Go9R5PeAIhAKlwUcYWkJQRLo55iWioxuwlOUiXR1Voa9KrmbPREyvw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356393},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"6d8576724c6353937c6f52ecc4e5c550a6d4ef57","scripts":{"test":"vitest run","build":"tsc -b && tsdown --config-loader tsx","prepare":"node scripts/prepare.mjs","smoke:git":"node scripts/git-install-smoke.mjs","typecheck":"tsc -b --pretty false && tsc -p tsconfig.vitest.json --pretty false","patch:host":"bash scripts/patch.sh","extract:patch":"node scripts/extract-patch.mjs","verify:release":"node scripts/verify-release.mjs","release:publish":"node scripts/publish.mjs","verify:self-contained":"node scripts/verify-self-contained.mjs"},"_npmUser":{"name":"rcyw","email":"rcywjo@gmail.com"},"dshSmoke":{"peerSources":{"dsh-automation":"github:cofy-x/dsh-automation#b18136b890a702b97440a40da21f60fa9985259b"},"profileOverrides":{"commander":"15.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-shell":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-cmdline":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-permission-presets":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"}},"repository":{"url":"git+https://github.com/cofy-x/dsh-cron.git","type":"git"},"_npmVersion":"11.13.0","description":"Durable cron Trigger adapter for DSH Automation: calendar occurrences become idempotent fresh-Session Runs","directories":{},"dshWorkshop":{"type":"plugin","schema":"omdsh-workshop-package/v1","install":{"mode":"transactional","adapter":"profile-bundle","failurePolicy":"generation-rollback","touchesCurrentBeforeActivation":false},"evidence":{"remove":null,"install":null,"hotReload":null,"failureIsolation":null},"lifecycle":{"dispose":"supported","activation":"restart-profile"},"integration":{"artifact":"cordis.patch.yml","protocol":"harness-profile"},"permissions":["filesystem:write"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"4.20.6","react":"18.3.1","tsdown":"0.22.14","vitest":"4.1.11","react-dom":"18.3.1","typescript":"6.0.3","@types/node":"24.13.3","@types/react":"18.3.31","lightningcss":"^1.32.0","@types/react-dom":"18.3.7","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-fs":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-skill":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-storage":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-subagent":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-util-time":"0.1.5-rc.1","@deepseek-ai/dsh-workspace":"0.1.5-rc.1","@deepseek-ai/dsh-attachment":"0.1.5-rc.1","@deepseek-ai/dsh-compaction":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-http-proxy":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-subprocess":"0.1.5-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.5-rc.1","@deepseek-ai/dsh-api-remotes":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"0.1.5-rc.1","@deepseek-ai/dsh-session-query":"0.1.5-rc.1","@deepseek-ai/dsh-session-title":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-file-reference":"0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"0.1.5-rc.1","@deepseek-ai/dsh-native-command":"0.1.5-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-theme":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/dsh-client-ui-layout":"0.1.5-rc.1","@deepseek-ai/dsh-command-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-message-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-output-retention":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-anonymous-user-id":"0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.5-rc.1","@deepseek-ai/dsh-session-reference":"0.1.5-rc.1","@deepseek-ai/dsh-client-file-upload":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-settings":"0.1.5-rc.1","@deepseek-ai/dsh-cordis-host-runner":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.5-rc.1","@deepseek-ai/dsh-host-plugin-inventory":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","dsh-automation":">=0.2.0-alpha.0 <0.3.0","@deepseek-ai/cordis":">=4.0.2 <5.0.0","@deepseek-ai/dsh-tools":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/schemastery":">=3.18.1-rc.1 <4.0.0","@deepseek-ai/dsh-commands":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-home-paths":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-util-values":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1 <0.2.0"},"peerDependenciesMeta":{"react":{"optional":true},"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/schemastery":{"optional":true},"@deepseek-ai/dsh-commands":{"optional":true},"@deepseek-ai/dsh-home-paths":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-locale":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-connection":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-sidebar":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-cron_0.8.0-alpha.2_1789114655973_0.893179479581584","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-alpha.3":{"name":"@cofy-x/dsh-cron","version":"0.8.0-alpha.3","license":"MIT","_id":"@cofy-x/dsh-cron@0.8.0-alpha.3","maintainers":[{"name":"rcyw","email":"rcywjo@gmail.com"}],"homepage":"https://github.com/cofy-x/dsh-cron#readme","bugs":{"url":"https://github.com/cofy-x/dsh-cron/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"08b34cbd171693477a05a3ec0e703e0334f60184","tarball":"https://registry.npmjs.org/@cofy-x/dsh-cron/-/dsh-cron-0.8.0-alpha.3.tgz","fileCount":74,"integrity":"sha512-9SX0TXo67O6SQs9nXTXVR1sNPsWXxdcfIULp3FxAIm7OYryHY6PtO0+gbnou9jX4thZIzFOqbD5YkA0G6FtNbg==","signatures":[{"sig":"MEUCIQDgZDkcuMS38mM9gx2Un6G5egkgPo5kmKW7b/Qd7KKiKQIgdztl90oxCa2DmyAM/dbCibiCg0O/E9cwSewLTv0I73c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICVQTdpPvuepJWBhREFKcfZ1QCqkHeQI8Dauo504qzidAiB85yB0UVIFb9Ijk9sRXzGPRS+suQirX1konkGZ7KEVLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cofy-x%2fdsh-cron@0.8.0-alpha.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":356380},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"67acf1ed398b768b0bac5cfbd40f2b3fd112810a","scripts":{"test":"vitest run","build":"tsc -b && tsdown --config-loader tsx","prepare":"node scripts/prepare.mjs","smoke:git":"node scripts/git-install-smoke.mjs","typecheck":"tsc -b --pretty false && tsc -p tsconfig.vitest.json --pretty false","patch:host":"bash scripts/patch.sh","extract:patch":"node scripts/extract-patch.mjs","verify:release":"node scripts/verify-release.mjs","release:publish":"node scripts/publish.mjs","verify:self-contained":"node scripts/verify-self-contained.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:18792faa-6459-46cf-a7cf-5fac797309f8"}},"dshSmoke":{"peerSources":{"dsh-automation":"github:cofy-x/dsh-automation#b18136b890a702b97440a40da21f60fa9985259b"},"profileOverrides":{"commander":"15.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-shell":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-cmdline":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-permission-presets":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"}},"repository":{"url":"git+https://github.com/cofy-x/dsh-cron.git","type":"git"},"_npmVersion":"11.5.1","description":"Durable cron Trigger adapter for DSH Automation: calendar occurrences become idempotent fresh-Session Runs","directories":{},"dshWorkshop":{"type":"plugin","schema":"omdsh-workshop-package/v1","install":{"mode":"transactional","adapter":"profile-bundle","failurePolicy":"generation-rollback","touchesCurrentBeforeActivation":false},"evidence":{"remove":null,"install":null,"hotReload":null,"failureIsolation":null},"lifecycle":{"dispose":"supported","activation":"restart-profile"},"integration":{"artifact":"cordis.patch.yml","protocol":"harness-profile"},"permissions":["filesystem:write"]},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh.md","devDependencies":{"tsx":"4.20.6","react":"18.3.1","tsdown":"0.22.14","vitest":"4.1.11","react-dom":"18.3.1","typescript":"6.0.3","@types/node":"24.13.3","@types/react":"18.3.31","lightningcss":"^1.32.0","@types/react-dom":"18.3.7","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-fs":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-skill":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-storage":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-subagent":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-util-time":"0.1.5-rc.1","@deepseek-ai/dsh-workspace":"0.1.5-rc.1","@deepseek-ai/dsh-attachment":"0.1.5-rc.1","@deepseek-ai/dsh-compaction":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-http-proxy":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-subprocess":"0.1.5-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.5-rc.1","@deepseek-ai/dsh-api-remotes":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"0.1.5-rc.1","@deepseek-ai/dsh-session-query":"0.1.5-rc.1","@deepseek-ai/dsh-session-title":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-file-reference":"0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"0.1.5-rc.1","@deepseek-ai/dsh-native-command":"0.1.5-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-theme":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/dsh-client-ui-layout":"0.1.5-rc.1","@deepseek-ai/dsh-command-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-message-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-output-retention":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-anonymous-user-id":"0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.5-rc.1","@deepseek-ai/dsh-session-reference":"0.1.5-rc.1","@deepseek-ai/dsh-client-file-upload":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-settings":"0.1.5-rc.1","@deepseek-ai/dsh-cordis-host-runner":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.5-rc.1","@deepseek-ai/dsh-host-plugin-inventory":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","dsh-automation":">=0.2.0-alpha.0 <0.3.0","@deepseek-ai/cordis":">=4.0.2 <5.0.0","@deepseek-ai/dsh-tools":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/schemastery":">=3.18.1-rc.1 <4.0.0","@deepseek-ai/dsh-commands":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-home-paths":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-util-values":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1 <0.2.0"},"peerDependenciesMeta":{"react":{"optional":true},"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/schemastery":{"optional":true},"@deepseek-ai/dsh-commands":{"optional":true},"@deepseek-ai/dsh-home-paths":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-locale":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-connection":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-sidebar":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-cron_0.8.0-alpha.3_1789116107933_0.588124064382421","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-alpha.4":{"name":"@cofy-x/dsh-cron","version":"0.8.0-alpha.4","license":"MIT","_id":"@cofy-x/dsh-cron@0.8.0-alpha.4","maintainers":[{"name":"rcyw","email":"rcywjo@gmail.com"}],"homepage":"https://github.com/cofy-x/dsh-cron#readme","bugs":{"url":"https://github.com/cofy-x/dsh-cron/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"4d1f808fd7bb84b9920c3ad81cfb7a996ebaf78e","tarball":"https://registry.npmjs.org/@cofy-x/dsh-cron/-/dsh-cron-0.8.0-alpha.4.tgz","fileCount":74,"integrity":"sha512-i6G2ndWltloIk5mC+AYg/MhRptqm07ssCpdWm/vwRb+7ZotuKvIM1RaT6A94DNOz3VCKCHK8jBS2AjlzGPzOew==","signatures":[{"sig":"MEYCIQClPFsyirNnmvK+DVENGiKX6woZnRvvrLHZbnGgHvbxggIhAMme51XtDHGD2ECsy6Piqs6ZZHJGc0nXXgYOUuCQd7V3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEtAZutvAA8LDDc5/swNNcw3t1+t/8kYX3upwH/+c9KzAiAeX+ZTTDJ0+IWB6dnqKbkq0U/cGVAT5h5YWvfPjRnk7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cofy-x%2fdsh-cron@0.8.0-alpha.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":356391},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"e7a5731e9d54d673c38bd8338fa07f6a1feda2e3","scripts":{"test":"vitest run","build":"tsc -b && tsdown --config-loader tsx","prepare":"node scripts/prepare.mjs","smoke:git":"node scripts/git-install-smoke.mjs","typecheck":"tsc -b --pretty false && tsc -p tsconfig.vitest.json --pretty false","patch:host":"bash scripts/patch.sh","extract:patch":"node scripts/extract-patch.mjs","verify:release":"node scripts/verify-release.mjs","release:publish":"node scripts/publish.mjs","verify:self-contained":"node scripts/verify-self-contained.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:18792faa-6459-46cf-a7cf-5fac797309f8"}},"dshSmoke":{"peerSources":{"dsh-automation":"github:cofy-x/dsh-automation#b18136b890a702b97440a40da21f60fa9985259b"},"profileOverrides":{"commander":"15.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-shell":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-cmdline":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-permission-presets":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"}},"repository":{"url":"git+https://github.com/cofy-x/dsh-cron.git","type":"git"},"_npmVersion":"11.5.1","description":"Durable cron Trigger adapter for DSH Automation: calendar occurrences become idempotent fresh-Session Runs","directories":{},"dshWorkshop":{"type":"plugin","schema":"omdsh-workshop-package/v1","install":{"mode":"transactional","adapter":"profile-bundle","failurePolicy":"generation-rollback","touchesCurrentBeforeActivation":false},"evidence":{"remove":null,"install":null,"hotReload":null,"failureIsolation":null},"lifecycle":{"dispose":"supported","activation":"restart-profile"},"integration":{"artifact":"cordis.patch.yml","protocol":"harness-profile"},"permissions":["filesystem:write"]},"_nodeVersion":"24.20.0","publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"4.20.6","react":"18.3.1","tsdown":"0.22.14","vitest":"4.1.11","react-dom":"18.3.1","typescript":"6.0.3","@types/node":"24.13.3","@types/react":"18.3.31","lightningcss":"^1.32.0","@types/react-dom":"18.3.7","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-fs":"0.1.5-rc.1","@deepseek-ai/dsh-agent":"0.1.5-rc.1","@deepseek-ai/dsh-brand":"0.1.5-rc.1","@deepseek-ai/dsh-scope":"0.1.5-rc.1","@deepseek-ai/dsh-skill":"0.1.5-rc.1","@deepseek-ai/dsh-tools":"0.1.5-rc.1","@deepseek-ai/dsh-sandbox":"0.1.5-rc.1","@deepseek-ai/dsh-session":"0.1.5-rc.1","@deepseek-ai/dsh-storage":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-commands":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-subagent":"0.1.5-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.5-rc.1","@deepseek-ai/dsh-util-time":"0.1.5-rc.1","@deepseek-ai/dsh-workspace":"0.1.5-rc.1","@deepseek-ai/dsh-attachment":"0.1.5-rc.1","@deepseek-ai/dsh-compaction":"0.1.5-rc.1","@deepseek-ai/dsh-home-paths":"0.1.5-rc.1","@deepseek-ai/dsh-http-proxy":"0.1.5-rc.1","@deepseek-ai/dsh-invariants":"0.1.5-rc.1","@deepseek-ai/dsh-subprocess":"0.1.5-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.5-rc.1","@deepseek-ai/dsh-api-remotes":"0.1.5-rc.1","@deepseek-ai/dsh-util-values":"0.1.5-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.5-rc.1","@deepseek-ai/dsh-client-store":"0.1.5-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.5-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"0.1.5-rc.1","@deepseek-ai/dsh-session-query":"0.1.5-rc.1","@deepseek-ai/dsh-session-title":"0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.5-rc.1","@deepseek-ai/dsh-user-approval":"0.1.5-rc.1","@deepseek-ai/dsh-file-reference":"0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"0.1.5-rc.1","@deepseek-ai/dsh-native-command":"0.1.5-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-theme":"0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.5-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/dsh-client-ui-layout":"0.1.5-rc.1","@deepseek-ai/dsh-command-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-message-feedback":"0.1.5-rc.1","@deepseek-ai/dsh-output-retention":"0.1.5-rc.1","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-anonymous-user-id":"0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.5-rc.1","@deepseek-ai/dsh-session-reference":"0.1.5-rc.1","@deepseek-ai/dsh-client-file-upload":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.5-rc.1","@deepseek-ai/dsh-client-ui-settings":"0.1.5-rc.1","@deepseek-ai/dsh-cordis-host-runner":"0.1.5-rc.1","@deepseek-ai/dsh-session-projection":"0.1.5-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.5-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.5-rc.1","@deepseek-ai/dsh-host-plugin-inventory":"0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","dsh-automation":">=0.2.0-alpha.0 <0.3.0","@deepseek-ai/cordis":">=4.0.2 <5.0.0","@deepseek-ai/dsh-tools":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/schemastery":">=3.18.1-rc.1 <4.0.0","@deepseek-ai/dsh-commands":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-home-paths":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-util-values":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1 <0.2.0","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1 <0.2.0"},"peerDependenciesMeta":{"react":{"optional":true},"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/schemastery":{"optional":true},"@deepseek-ai/dsh-commands":{"optional":true},"@deepseek-ai/dsh-home-paths":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-locale":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-connection":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-sidebar":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-cron_0.8.0-alpha.4_1789129859630_0.6301031679609299","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-09-11T08:17:35.840Z","modified":"2026-09-11T12:34:55.369Z","0.8.0-alpha.2":"2026-09-11T08:17:36.123Z","0.8.0-alpha.3":"2026-09-11T08:41:48.010Z","0.8.0-alpha.4":"2026-09-11T12:30:59.731Z"},"bugs":{"url":"https://github.com/cofy-x/dsh-cron/issues"},"license":"MIT","homepage":"https://github.com/cofy-x/dsh-cron#readme","repository":{"url":"git+https://github.com/cofy-x/dsh-cron.git","type":"git"},"description":"Durable cron Trigger adapter for DSH Automation: calendar occurrences become idempotent fresh-Session Runs","maintainers":[{"name":"rcyw","email":"rcywjo@gmail.com"}],"readme":"# dsh-cron\n\n[English](README.md) | 中文\n\nDSH Automation 的持久化日历 Trigger 适配器。它把一次性或周期性计划 occurrence 转成幂等 fresh-Session Run，自身不再执行 Agent turn。\n\n## 责任边界\n\n- dsh-cron 负责计划解析、时区计算、持久化 occurrence 身份、catch-up 策略与任务中心 UI；\n- dsh-automation 负责 Run 队列、canonical fresh Session、跨 Worker 并发、取消、显式重试、事件历史、retention 与崩溃恢复；\n- dsh-webhook 是对应的事件驱动 Trigger 适配器，并可选提供终态回调。\n\n## 安装\n\n需要 Node.js 24 或更新版本、DSH `0.1.5-rc.1` 或更新的 `0.1.x` 版本，以及 dsh-automation `0.2.x`。\n\n```sh\ndsh plugin --profile web add dsh-automation@next\ndsh plugin --profile web add @cofy-x/dsh-cron\n```\n\n如需测试尚未发布的源码 revision，则从 GitHub 安装：\n\n```sh\ndsh plugin --profile web add github:cofy-x/dsh-automation\ndsh plugin --profile web add github:cofy-x/dsh-cron\n```\n\n插件通过 `dsh.client` manifest 提供浏览器任务中心，在 headless profile 中也可通过工具、命令与 RPC 使用。\n\n## 计划语义\n\n支持：\n\n- 五段 cron：分、时、日、月、周；\n- 带显式 offset 或 `Z` 的 RFC 3339 一次性 `at`；\n- 支持夏令时的 IANA 时区。\n\n每个日历 occurrence 都会先持久化 run record 并推进计划，再提交 Automation。稳定身份和幂等键由 job id 与 scheduled instant 确定性生成。如果进程在 Automation 已提交、但本地尚未记录 Run id 时崩溃，重启后会使用同一幂等键取回同一 Run。\n\n错过的周期使用明确的 latest-only catch-up：只执行最新已到期时刻一次，不回放旧积压。一次性 job 执行后作为历史保留。暂停保留计划；恢复周期 job 时会把 next occurrence 推进到当前时间之后。\n\n每个 job 使用并发键 `cron:<job-id>`，默认 limit 为 1，由 dsh-automation 在所有 Worker 和进程之间事务性执行。\n\n## 使用\n\n模型工具：`cron_add`、`cron_update`、`cron_list`、`cron_remove`。\n\n```text\n/cron add 0 9 * * 1-5 总结项目状态\n/cron add tz=Asia/Shanghai 30 18 * * 5 准备周报\n/cron add-at 2026-09-01T09:00:00+08:00 执行发布检查清单\n/cron pause cron-1\n/cron resume cron-1\n/cron remove cron-1\n```\n\n命令或模型工具创建的 job 会捕获创建 Session 的绝对工作目录，作为 fresh Automation target。浏览器/API job 必须携带 `cwd` 或继承 `defaultCwd`。无法得到 fresh target 的旧 job 会安全暂停并记录 `migrationIssue`，等待重新设置目标。\n\n## 持久化对账\n\nOccurrence record 从 `submitting` 推进到关联 Automation state 与终态投影，保留：\n\n- 确定性 `occurrenceId`、`scheduledAt` 与 `idempotencyKey`；\n- `automationRunId` 与当前 Run state；\n- 终态时间、outcome、结果摘要或错误。\n\n适配器使用持久化 checkpoint `cron.adapter.v1` 消费 Automation 事件流。cursor 过期时，它会逐个刷新所有已关联 Run，并从 prune watermark 继续。可选 callback 集成只在首次终态结算时发出。\n\n源 store 只裁剪终态历史，活跃 occurrence 绝不因历史上限被删除。schema v1 在加载时迁移到 v2，旧 `lastRun` 保留为 `legacy` occurrence。\n\n## 配置\n\n| 键 | 默认 | 含义 |\n|:---|:---|:---|\n| `dataDir` | `$DSH_HOME/cron` | 持久化 job store 与 scheduler lock |\n| `defaultTimeZone` | 主机时区 | cron 未指定时的默认 IANA 时区 |\n| `maxJobs` | `64` | 最大活跃 job 数 |\n| `minIntervalMinutes` | `1` | 周期计划最小间隔 |\n| `defaultCwd` | 无 | 浏览器/API job 的 fresh Session 工作目录 |\n| `reconcilePollMs` | `1000` | Automation 事件流轮询间隔 |\n| `maxRunHistory` | `100` | 每 job 保留的终态 occurrence 数 |\n\n只有持有 scheduler lock 的进程会设置 timer、提交 pending occurrence 并对账事件流。其他共享 Harness home 的进程提供管理服务，并可在主进程退出后接管。\n\n管理写入使用独立的短期跨进程 lock、无冲突 sequence sidecar 和 record-level 三方合并。进程会接纳 peer 新增记录和未在本地修改的编辑，不会复活已删除记录；长时间 lock 竞争必须 fail closed，不得覆盖 peer 状态。\n\n本适配器仅依赖公开的 `dsh-automation >=0.2.0-alpha.0 <0.3.0` service contract，不引入私有源码，也不需要修改 deepseek-harness。\n\n## 开发\n\n```sh\npnpm install\npnpm run verify:self-contained\npnpm run typecheck\npnpm test\npnpm run build\npnpm run prepare\n```\n\n## 许可证\n\n[MIT](LICENSE)\n","readmeFilename":"README.zh.md"}