@cjhyy/code-shell-core 0.5.0-rc.1 → 0.6.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -10
- package/dist/agent/agent-definition-registry.d.ts +21 -3
- package/dist/agent/agent-definition-registry.js +49 -18
- package/dist/agent/agent-definition.d.ts +32 -0
- package/dist/agent/agent-definition.js +49 -4
- package/dist/arena/arena.js +11 -12
- package/dist/arena/context/context-tools.js +47 -6
- package/dist/arena/context/within-root.d.ts +7 -0
- package/dist/arena/context/within-root.js +15 -0
- package/dist/arena/iterate/phases/argue.js +8 -2
- package/dist/arena/iterate/phases/revise.js +1 -1
- package/dist/arena/iterate/phases/tournament.js +3 -3
- package/dist/arena/ledger.js +9 -1
- package/dist/arena/phases/adjudication.js +1 -4
- package/dist/arena/phases/build-consensus.js +1 -4
- package/dist/arena/phases/cross-review.js +2 -8
- package/dist/arena/phases/debate-rounds.js +1 -4
- package/dist/arena/phases/participant-research.js +1 -4
- package/dist/arena/phases/planning-detail-expansion.js +8 -10
- package/dist/arena/planner.js +0 -1
- package/dist/arena/providers/docs.d.ts +1 -0
- package/dist/arena/providers/docs.js +5 -2
- package/dist/arena/providers/repo.d.ts +1 -0
- package/dist/arena/providers/repo.js +5 -2
- package/dist/arena/strategies/utils.d.ts +1 -4
- package/dist/arena/strategies/utils.js +7 -51
- package/dist/arena/transitions.d.ts +7 -2
- package/dist/arena/transitions.js +9 -4
- package/dist/arena/types.d.ts +8 -2
- package/dist/automation/cron-expr.d.ts +41 -0
- package/dist/automation/cron-expr.js +169 -0
- package/dist/automation/index.d.ts +41 -0
- package/dist/automation/index.js +39 -0
- package/dist/automation/runner.d.ts +84 -0
- package/dist/automation/runner.js +92 -0
- package/dist/automation/scheduler.d.ts +194 -0
- package/dist/automation/scheduler.js +623 -0
- package/dist/automation/store.d.ts +39 -0
- package/dist/automation/store.js +122 -0
- package/dist/automation/write-policy.d.ts +34 -0
- package/dist/automation/write-policy.js +113 -0
- package/dist/automation/write-run.d.ts +51 -0
- package/dist/automation/write-run.js +38 -0
- package/dist/capability-control/disabled-lists.d.ts +25 -0
- package/dist/capability-control/disabled-lists.js +57 -0
- package/dist/capability-control/index.d.ts +5 -0
- package/dist/capability-control/index.js +3 -0
- package/dist/capability-control/overlay.d.ts +64 -0
- package/dist/capability-control/overlay.js +116 -0
- package/dist/capability-control/project.d.ts +65 -0
- package/dist/capability-control/project.js +147 -0
- package/dist/capability-control/service.d.ts +70 -0
- package/dist/capability-control/service.js +147 -0
- package/dist/capability-control/types.d.ts +62 -0
- package/dist/capability-control/types.js +17 -0
- package/dist/cc-orchestrator/agent-adapter.d.ts +50 -0
- package/dist/cc-orchestrator/agent-adapter.js +133 -0
- package/dist/cc-orchestrator/cc-capability.d.ts +19 -0
- package/dist/cc-orchestrator/cc-capability.js +53 -0
- package/dist/cc-orchestrator/codex-session-discovery.d.ts +24 -0
- package/dist/cc-orchestrator/codex-session-discovery.js +191 -0
- package/dist/cc-orchestrator/codex-session-history.d.ts +25 -0
- package/dist/cc-orchestrator/codex-session-history.js +187 -0
- package/dist/cc-orchestrator/external-agent-changes.d.ts +19 -0
- package/dist/cc-orchestrator/external-agent-changes.js +214 -0
- package/dist/cc-orchestrator/external-agent-driver.d.ts +18 -0
- package/dist/cc-orchestrator/external-agent-driver.js +69 -0
- package/dist/cc-orchestrator/index.d.ts +8 -0
- package/dist/cc-orchestrator/index.js +8 -0
- package/dist/cc-orchestrator/relevance-judge.d.ts +15 -0
- package/dist/cc-orchestrator/relevance-judge.js +29 -0
- package/dist/cc-orchestrator/session-discovery.d.ts +46 -0
- package/dist/cc-orchestrator/session-discovery.js +125 -0
- package/dist/cc-orchestrator/session-history.d.ts +19 -0
- package/dist/cc-orchestrator/session-history.js +67 -0
- package/dist/cli/agent-server-stdio.d.ts +26 -1
- package/dist/cli/agent-server-stdio.js +221 -28
- package/dist/cli/agent-server-tcp.d.ts +20 -0
- package/dist/cli/agent-server-tcp.js +134 -0
- package/dist/cli/graceful-shutdown.d.ts +27 -0
- package/dist/cli/graceful-shutdown.js +30 -0
- package/dist/context/compaction.d.ts +56 -0
- package/dist/context/compaction.js +209 -15
- package/dist/context/manager.d.ts +0 -20
- package/dist/context/manager.js +25 -41
- package/dist/cost-tracker.js +5 -61
- package/dist/credentials/cipher.d.ts +49 -0
- package/dist/credentials/cipher.js +45 -0
- package/dist/credentials/cookie-jar.d.ts +24 -0
- package/dist/credentials/cookie-jar.js +40 -0
- package/dist/credentials/index.d.ts +7 -0
- package/dist/credentials/index.js +5 -0
- package/dist/credentials/inject-credential-tool.d.ts +20 -0
- package/dist/credentials/inject-credential-tool.js +130 -0
- package/dist/credentials/store.d.ts +72 -0
- package/dist/credentials/store.js +184 -0
- package/dist/credentials/types.d.ts +56 -0
- package/dist/credentials/use-credential-tool.d.ts +29 -0
- package/dist/credentials/use-credential-tool.js +205 -0
- package/dist/credentials/use-gate.d.ts +56 -0
- package/dist/credentials/use-gate.js +52 -0
- package/dist/cron/cron-runtime.d.ts +2 -0
- package/dist/cron/cron-runtime.js +2 -0
- package/dist/cron/cron-store.d.ts +2 -0
- package/dist/cron/cron-store.js +2 -0
- package/dist/cron/scheduler.d.ts +5 -32
- package/dist/cron/scheduler.js +5 -113
- package/dist/data/model-metadata.d.ts +77 -0
- package/dist/data/model-metadata.js +56 -0
- package/dist/data/model-metadata.json +216 -0
- package/dist/data/openrouter-models.d.ts +18 -7
- package/dist/data/openrouter-models.js +35 -8
- package/dist/data/openrouter-sync.js +1 -1
- package/dist/engine/aux-key.d.ts +10 -0
- package/dist/engine/aux-key.js +11 -0
- package/dist/engine/dynamic-tool-defs.d.ts +19 -0
- package/dist/engine/dynamic-tool-defs.js +36 -0
- package/dist/engine/engine.d.ts +431 -108
- package/dist/engine/engine.js +1630 -279
- package/dist/engine/friendly-error.d.ts +18 -0
- package/dist/engine/friendly-error.js +63 -0
- package/dist/engine/goal.d.ts +187 -0
- package/dist/engine/goal.js +196 -0
- package/dist/engine/image-compression.d.ts +81 -0
- package/dist/engine/image-compression.js +186 -0
- package/dist/engine/image-policy.d.ts +165 -0
- package/dist/engine/image-policy.js +189 -0
- package/dist/engine/model-connections-pool.d.ts +17 -0
- package/dist/engine/model-connections-pool.js +66 -0
- package/dist/engine/model-facade.d.ts +10 -0
- package/dist/engine/model-facade.js +25 -0
- package/dist/engine/patch-orphaned-tools.js +3 -0
- package/dist/engine/reactive-threshold.d.ts +13 -0
- package/dist/engine/reactive-threshold.js +17 -0
- package/dist/engine/resolve-llm-config.d.ts +16 -0
- package/dist/engine/resolve-llm-config.js +44 -0
- package/dist/engine/runtime.js +9 -1
- package/dist/engine/sandbox-cache-key.d.ts +10 -0
- package/dist/engine/sandbox-cache-key.js +9 -0
- package/dist/engine/sandbox-config.d.ts +31 -0
- package/dist/engine/sandbox-config.js +38 -0
- package/dist/engine/session-title.d.ts +13 -0
- package/dist/engine/session-title.js +34 -0
- package/dist/engine/session-usage.d.ts +19 -0
- package/dist/engine/session-usage.js +25 -0
- package/dist/engine/steer-queue.d.ts +32 -0
- package/dist/engine/steer-queue.js +26 -0
- package/dist/engine/streaming-tool-queue.d.ts +12 -0
- package/dist/engine/streaming-tool-queue.js +50 -10
- package/dist/engine/turn-loop.d.ts +94 -9
- package/dist/engine/turn-loop.js +775 -342
- package/dist/engine/types.d.ts +175 -0
- package/dist/engine/types.js +13 -0
- package/dist/external-agents/config.d.ts +2 -0
- package/dist/external-agents/config.js +15 -0
- package/dist/external-agents/types.d.ts +31 -0
- package/dist/external-agents/types.js +1 -0
- package/dist/git/parse-log.d.ts +13 -0
- package/dist/git/parse-log.js +21 -0
- package/dist/git/utils.d.ts +8 -6
- package/dist/git/utils.js +62 -26
- package/dist/git/worktree.d.ts +48 -0
- package/dist/git/worktree.js +111 -20
- package/dist/hooks/events.d.ts +23 -1
- package/dist/hooks/goal-stop-hook.d.ts +58 -0
- package/dist/hooks/goal-stop-hook.js +279 -0
- package/dist/hooks/hook-output.d.ts +33 -0
- package/dist/hooks/hook-output.js +79 -0
- package/dist/hooks/registry.d.ts +15 -0
- package/dist/hooks/registry.js +57 -1
- package/dist/hooks/shell-runner.d.ts +2 -0
- package/dist/hooks/shell-runner.js +48 -18
- package/dist/index.d.ts +79 -11
- package/dist/index.js +89 -6
- package/dist/llm/capabilities/param-specs.d.ts +14 -0
- package/dist/llm/capabilities/param-specs.js +62 -0
- package/dist/llm/capabilities/reasoning-control.d.ts +24 -0
- package/dist/llm/capabilities/reasoning-control.js +38 -0
- package/dist/llm/capabilities/rules.js +37 -3
- package/dist/llm/capabilities/types.d.ts +32 -2
- package/dist/llm/clamp-max-tokens.d.ts +11 -0
- package/dist/llm/clamp-max-tokens.js +17 -0
- package/dist/llm/client-base.d.ts +69 -5
- package/dist/llm/client-base.js +185 -25
- package/dist/llm/client-factory.d.ts +3 -3
- package/dist/llm/client-factory.js +2 -2
- package/dist/llm/model-cache.js +4 -2
- package/dist/llm/model-pool.d.ts +29 -11
- package/dist/llm/model-pool.js +36 -20
- package/dist/llm/provider-auth.d.ts +41 -0
- package/dist/llm/provider-auth.js +76 -0
- package/dist/llm/provider-catalog.d.ts +6 -2
- package/dist/llm/providers/anthropic.d.ts +32 -2
- package/dist/llm/providers/anthropic.js +207 -18
- package/dist/llm/providers/openai.d.ts +47 -2
- package/dist/llm/providers/openai.js +478 -71
- package/dist/llm/reasoning-setting.d.ts +51 -0
- package/dist/llm/reasoning-setting.js +40 -0
- package/dist/llm/stop-reason.d.ts +13 -0
- package/dist/llm/stop-reason.js +21 -0
- package/dist/llm/stream-watchdog.js +5 -1
- package/dist/llm/strip-vision.d.ts +32 -0
- package/dist/llm/strip-vision.js +94 -0
- package/dist/llm/token-counter.js +9 -2
- package/dist/llm/types.d.ts +9 -6
- package/dist/logging/logger.js +18 -4
- package/dist/logging/sanitize-messages.d.ts +10 -0
- package/dist/logging/sanitize-messages.js +112 -0
- package/dist/lsp/client.js +28 -8
- package/dist/lsp/manager.d.ts +1 -1
- package/dist/lsp/manager.js +42 -11
- package/dist/lsp/root-path.d.ts +9 -0
- package/dist/lsp/root-path.js +12 -0
- package/dist/model-catalog/builtin.d.ts +12 -0
- package/dist/model-catalog/builtin.js +407 -0
- package/dist/model-catalog/gen-connections.d.ts +20 -0
- package/dist/model-catalog/gen-connections.js +28 -0
- package/dist/model-catalog/index.d.ts +41 -0
- package/dist/model-catalog/index.js +90 -0
- package/dist/model-catalog/params.d.ts +20 -0
- package/dist/model-catalog/params.js +45 -0
- package/dist/model-catalog/resolve.d.ts +48 -0
- package/dist/model-catalog/resolve.js +33 -0
- package/dist/model-catalog/save-entry.d.ts +32 -0
- package/dist/model-catalog/save-entry.js +104 -0
- package/dist/model-catalog/types.d.ts +561 -0
- package/dist/model-catalog/types.js +93 -0
- package/dist/model-catalog/upsert.d.ts +9 -0
- package/dist/model-catalog/upsert.js +8 -0
- package/dist/onboarding.d.ts +12 -82
- package/dist/onboarding.js +75 -333
- package/dist/plugins/gitOps.d.ts +53 -0
- package/dist/plugins/gitOps.js +130 -5
- package/dist/plugins/installer/checkUpdate.d.ts +16 -0
- package/dist/plugins/installer/checkUpdate.js +32 -0
- package/dist/plugins/installer/codex/convertAgents.d.ts +7 -0
- package/dist/plugins/installer/codex/convertAgents.js +55 -0
- package/dist/plugins/installer/codex/convertCommands.d.ts +19 -0
- package/dist/plugins/installer/codex/convertCommands.js +46 -0
- package/dist/plugins/installer/codex/convertMcp.d.ts +11 -0
- package/dist/plugins/installer/codex/convertMcp.js +85 -0
- package/dist/plugins/installer/codex/convertSkills.d.ts +12 -0
- package/dist/plugins/installer/codex/convertSkills.js +33 -0
- package/dist/plugins/installer/detectFormat.d.ts +2 -0
- package/dist/plugins/installer/detectFormat.js +6 -0
- package/dist/plugins/installer/install.d.ts +7 -0
- package/dist/plugins/installer/install.js +123 -0
- package/dist/plugins/installer/installFromArchive.d.ts +43 -0
- package/dist/plugins/installer/installFromArchive.js +134 -0
- package/dist/plugins/installer/installFromSource.d.ts +13 -0
- package/dist/plugins/installer/installFromSource.js +51 -0
- package/dist/plugins/installer/list.d.ts +9 -0
- package/dist/plugins/installer/list.js +30 -0
- package/dist/plugins/installer/loadPluginAgents.d.ts +3 -0
- package/dist/plugins/installer/loadPluginAgents.js +27 -0
- package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
- package/dist/plugins/installer/loadPluginMcp.js +107 -0
- package/dist/plugins/installer/parseSource.d.ts +20 -0
- package/dist/plugins/installer/parseSource.js +74 -0
- package/dist/plugins/installer/paths.d.ts +5 -0
- package/dist/plugins/installer/paths.js +25 -0
- package/dist/plugins/installer/pruneDisabled.d.ts +24 -0
- package/dist/plugins/installer/pruneDisabled.js +73 -0
- package/dist/plugins/installer/types.d.ts +52 -0
- package/dist/plugins/installer/types.js +28 -0
- package/dist/plugins/installer/uninstall.d.ts +2 -0
- package/dist/plugins/installer/uninstall.js +18 -0
- package/dist/plugins/installer/unzip.d.ts +14 -0
- package/dist/plugins/installer/unzip.js +82 -0
- package/dist/plugins/installer/update.d.ts +28 -0
- package/dist/plugins/installer/update.js +97 -0
- package/dist/plugins/loadPluginHooks.d.ts +54 -1
- package/dist/plugins/loadPluginHooks.js +83 -1
- package/dist/plugins/marketplaceManager.d.ts +15 -1
- package/dist/plugins/marketplaceManager.js +58 -4
- package/dist/plugins/pluginCommandHook.js +34 -14
- package/dist/plugins/pluginContent.d.ts +30 -0
- package/dist/plugins/pluginContent.js +83 -0
- package/dist/plugins/pluginInstaller.d.ts +34 -0
- package/dist/plugins/pluginInstaller.js +168 -35
- package/dist/plugins/schemas.js +41 -6
- package/dist/plugins/types.d.ts +10 -0
- package/dist/preset/index.d.ts +7 -1
- package/dist/preset/index.js +112 -6
- package/dist/product/types.d.ts +1 -1
- package/dist/prompt/composer.d.ts +31 -0
- package/dist/prompt/composer.js +95 -25
- package/dist/prompt/instruction-scanner.js +5 -3
- package/dist/prompt/section-loader.js +1 -0
- package/dist/prompt/sections/base.md +1 -0
- package/dist/prompt/sections/browser.md +10 -0
- package/dist/prompt/sections/coding.md +4 -0
- package/dist/prompt/sections/orchestration.md +8 -0
- package/dist/protocol/chat-session-manager.d.ts +15 -2
- package/dist/protocol/chat-session-manager.js +46 -0
- package/dist/protocol/chat-session.d.ts +82 -0
- package/dist/protocol/chat-session.js +121 -1
- package/dist/protocol/client.d.ts +27 -0
- package/dist/protocol/client.js +38 -0
- package/dist/protocol/redact.d.ts +50 -0
- package/dist/protocol/redact.js +71 -0
- package/dist/protocol/server.d.ts +153 -2
- package/dist/protocol/server.js +807 -39
- package/dist/protocol/tcp-transport.d.ts +45 -0
- package/dist/protocol/tcp-transport.js +74 -0
- package/dist/protocol/transport.js +3 -2
- package/dist/protocol/types.d.ts +69 -0
- package/dist/protocol/types.js +22 -0
- package/dist/quota/credentials.d.ts +3 -0
- package/dist/quota/credentials.js +80 -0
- package/dist/quota/index.d.ts +36 -0
- package/dist/quota/index.js +155 -0
- package/dist/quota/types.d.ts +48 -0
- package/dist/quota/types.js +13 -0
- package/dist/remote/bridge.d.ts +11 -2
- package/dist/remote/bridge.js +61 -33
- package/dist/review/review-prompt.d.ts +28 -0
- package/dist/review/review-prompt.js +81 -0
- package/dist/run/ArtifactTracker.js +5 -4
- package/dist/run/EngineRunner.d.ts +27 -1
- package/dist/run/EngineRunner.js +46 -8
- package/dist/run/FileRunStore.js +40 -11
- package/dist/run/RunApprovalBackend.js +25 -5
- package/dist/run/RunLock.d.ts +28 -2
- package/dist/run/RunLock.js +49 -7
- package/dist/run/RunManager.d.ts +12 -0
- package/dist/run/RunManager.js +86 -3
- package/dist/run/RunQueue.d.ts +1 -0
- package/dist/run/RunQueue.js +8 -2
- package/dist/run/factory.d.ts +8 -1
- package/dist/run/factory.js +1 -0
- package/dist/run/index.d.ts +2 -2
- package/dist/run/index.js +1 -1
- package/dist/run/redirect-target.d.ts +7 -0
- package/dist/run/redirect-target.js +13 -0
- package/dist/run/types.js +1 -1
- package/dist/runtime/background-shell.d.ts +139 -0
- package/dist/runtime/background-shell.js +495 -0
- package/dist/runtime/output-clean.d.ts +24 -0
- package/dist/runtime/output-clean.js +41 -0
- package/dist/runtime/ring-file.d.ts +64 -0
- package/dist/runtime/ring-file.js +174 -0
- package/dist/runtime/safe-spawn.js +15 -34
- package/dist/runtime/spawn-common.d.ts +148 -0
- package/dist/runtime/spawn-common.js +303 -0
- package/dist/runtime/truncate-output.d.ts +22 -0
- package/dist/runtime/truncate-output.js +49 -0
- package/dist/runtime/utf8-cut.d.ts +11 -0
- package/dist/runtime/utf8-cut.js +23 -0
- package/dist/services/auto-dream.d.ts +4 -0
- package/dist/services/auto-dream.js +26 -26
- package/dist/services/browser-open.d.ts +13 -0
- package/dist/services/browser-open.js +16 -0
- package/dist/services/diagnostics.d.ts +1 -2
- package/dist/services/diagnostics.js +12 -7
- package/dist/services/dream-consolidation.d.ts +57 -0
- package/dist/services/dream-consolidation.js +151 -0
- package/dist/services/extract-memories.d.ts +14 -1
- package/dist/services/extract-memories.js +45 -6
- package/dist/services/memory-orchestrator.d.ts +21 -0
- package/dist/services/memory-orchestrator.js +125 -32
- package/dist/services/notifier.d.ts +8 -0
- package/dist/services/notifier.js +39 -25
- package/dist/services/oauth.js +5 -7
- package/dist/services/session-memory-sort.d.ts +8 -0
- package/dist/services/session-memory-sort.js +9 -0
- package/dist/services/session-memory.js +30 -19
- package/dist/session/file-history.d.ts +124 -1
- package/dist/session/file-history.js +232 -9
- package/dist/session/memory.d.ts +116 -2
- package/dist/session/memory.js +250 -28
- package/dist/session/session-manager.d.ts +63 -1
- package/dist/session/session-manager.js +186 -5
- package/dist/session/simple-diff.d.ts +23 -0
- package/dist/session/simple-diff.js +84 -0
- package/dist/session/transcript.d.ts +25 -1
- package/dist/session/transcript.js +35 -2
- package/dist/session/undo-target.d.ts +67 -0
- package/dist/session/undo-target.js +144 -0
- package/dist/settings/disk-defaults.d.ts +42 -0
- package/dist/settings/disk-defaults.js +33 -0
- package/dist/settings/feature-flags.d.ts +64 -0
- package/dist/settings/feature-flags.js +61 -0
- package/dist/settings/manager.d.ts +101 -1
- package/dist/settings/manager.js +345 -15
- package/dist/settings/migrate-config.d.ts +45 -0
- package/dist/settings/migrate-config.js +125 -0
- package/dist/settings/personalization.d.ts +19 -0
- package/dist/settings/personalization.js +7 -0
- package/dist/settings/schema-export.d.ts +25 -0
- package/dist/settings/schema-export.js +38 -0
- package/dist/settings/schema.d.ts +1827 -396
- package/dist/settings/schema.js +361 -81
- package/dist/skills/scanner.d.ts +9 -0
- package/dist/skills/scanner.js +30 -2
- package/dist/stt/resolve-transcribe.d.ts +31 -0
- package/dist/stt/resolve-transcribe.js +108 -0
- package/dist/stt/transcribe.d.ts +51 -0
- package/dist/stt/transcribe.js +65 -0
- package/dist/tool-system/browser-bridge.d.ts +226 -0
- package/dist/tool-system/browser-bridge.js +163 -0
- package/dist/tool-system/builtin/add-marketplace.d.ts +12 -0
- package/dist/tool-system/builtin/add-marketplace.js +76 -0
- package/dist/tool-system/builtin/agent-heartbeat.d.ts +49 -0
- package/dist/tool-system/builtin/agent-heartbeat.js +89 -0
- package/dist/tool-system/builtin/agent-notifications.d.ts +12 -3
- package/dist/tool-system/builtin/agent-notifications.js +9 -3
- package/dist/tool-system/builtin/agent-output-file.d.ts +38 -0
- package/dist/tool-system/builtin/agent-output-file.js +72 -0
- package/dist/tool-system/builtin/agent-registry.d.ts +23 -0
- package/dist/tool-system/builtin/agent-registry.js +16 -4
- package/dist/tool-system/builtin/agent.d.ts +50 -11
- package/dist/tool-system/builtin/agent.js +576 -73
- package/dist/tool-system/builtin/apply-patch/applier.js +66 -8
- package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +10 -0
- package/dist/tool-system/builtin/apply-patch/backup-targets.js +30 -0
- package/dist/tool-system/builtin/apply-patch/index.js +7 -3
- package/dist/tool-system/builtin/arena.js +6 -7
- package/dist/tool-system/builtin/background-jobs.d.ts +76 -0
- package/dist/tool-system/builtin/background-jobs.js +124 -0
- package/dist/tool-system/builtin/background-shell-tools.d.ts +20 -0
- package/dist/tool-system/builtin/background-shell-tools.js +108 -0
- package/dist/tool-system/builtin/background-work.d.ts +67 -0
- package/dist/tool-system/builtin/background-work.js +86 -0
- package/dist/tool-system/builtin/bash-output-style.d.ts +32 -0
- package/dist/tool-system/builtin/bash-output-style.js +40 -0
- package/dist/tool-system/builtin/bash.d.ts +5 -2
- package/dist/tool-system/builtin/bash.js +98 -62
- package/dist/tool-system/builtin/browser-tools.d.ts +33 -0
- package/dist/tool-system/builtin/browser-tools.js +312 -0
- package/dist/tool-system/builtin/cancel-goal.d.ts +31 -0
- package/dist/tool-system/builtin/cancel-goal.js +64 -0
- package/dist/tool-system/builtin/check-quota.d.ts +15 -0
- package/dist/tool-system/builtin/check-quota.js +34 -0
- package/dist/tool-system/builtin/complete-goal.d.ts +25 -0
- package/dist/tool-system/builtin/complete-goal.js +45 -0
- package/dist/tool-system/builtin/config.js +7 -0
- package/dist/tool-system/builtin/cron.d.ts +7 -0
- package/dist/tool-system/builtin/cron.js +105 -9
- package/dist/tool-system/builtin/drive-claude-code.d.ts +30 -0
- package/dist/tool-system/builtin/drive-claude-code.js +157 -0
- package/dist/tool-system/builtin/edit-model-catalog.d.ts +3 -0
- package/dist/tool-system/builtin/edit-model-catalog.js +94 -0
- package/dist/tool-system/builtin/edit.d.ts +2 -1
- package/dist/tool-system/builtin/edit.js +21 -12
- package/dist/tool-system/builtin/eol.d.ts +29 -0
- package/dist/tool-system/builtin/eol.js +37 -0
- package/dist/tool-system/builtin/file-cache.d.ts +6 -0
- package/dist/tool-system/builtin/file-cache.js +8 -0
- package/dist/tool-system/builtin/generate-image.d.ts +60 -0
- package/dist/tool-system/builtin/generate-image.js +374 -0
- package/dist/tool-system/builtin/generate-video.d.ts +55 -0
- package/dist/tool-system/builtin/generate-video.js +361 -0
- package/dist/tool-system/builtin/grep.js +6 -2
- package/dist/tool-system/builtin/image-providers.d.ts +86 -0
- package/dist/tool-system/builtin/image-providers.js +190 -0
- package/dist/tool-system/builtin/image-uploader.d.ts +33 -0
- package/dist/tool-system/builtin/image-uploader.js +74 -0
- package/dist/tool-system/builtin/index.d.ts +24 -1
- package/dist/tool-system/builtin/index.js +310 -25
- package/dist/tool-system/builtin/mcp-tools.js +23 -3
- package/dist/tool-system/builtin/memory.js +45 -7
- package/dist/tool-system/builtin/notebook-edit.d.ts +2 -1
- package/dist/tool-system/builtin/notebook-edit.js +1 -1
- package/dist/tool-system/builtin/powershell.js +4 -1
- package/dist/tool-system/builtin/read.d.ts +2 -1
- package/dist/tool-system/builtin/read.js +11 -3
- package/dist/tool-system/builtin/repl.js +4 -1
- package/dist/tool-system/builtin/skill.js +9 -0
- package/dist/tool-system/builtin/sleep.js +12 -5
- package/dist/tool-system/builtin/task.js +4 -1
- package/dist/tool-system/builtin/tool-search.js +25 -7
- package/dist/tool-system/builtin/update-automation-memory.d.ts +24 -0
- package/dist/tool-system/builtin/update-automation-memory.js +60 -0
- package/dist/tool-system/builtin/video-providers.d.ts +154 -0
- package/dist/tool-system/builtin/video-providers.js +235 -0
- package/dist/tool-system/builtin/view-image.d.ts +18 -0
- package/dist/tool-system/builtin/view-image.js +96 -0
- package/dist/tool-system/builtin/web-fetch.js +12 -2
- package/dist/tool-system/builtin/web-search.d.ts +4 -1
- package/dist/tool-system/builtin/web-search.js +57 -10
- package/dist/tool-system/builtin/worktree.d.ts +2 -1
- package/dist/tool-system/builtin/worktree.js +31 -4
- package/dist/tool-system/builtin/write.d.ts +2 -1
- package/dist/tool-system/builtin/write.js +1 -1
- package/dist/tool-system/context.d.ts +166 -6
- package/dist/tool-system/executor.d.ts +3 -2
- package/dist/tool-system/executor.js +197 -119
- package/dist/tool-system/investigation-guard.d.ts +4 -1
- package/dist/tool-system/investigation-guard.js +20 -4
- package/dist/tool-system/mcp-manager.d.ts +78 -16
- package/dist/tool-system/mcp-manager.js +357 -28
- package/dist/tool-system/path-policy.d.ts +99 -0
- package/dist/tool-system/path-policy.js +578 -0
- package/dist/tool-system/permission.d.ts +36 -1
- package/dist/tool-system/permission.js +322 -117
- package/dist/tool-system/plan-mode-allowlist.d.ts +32 -0
- package/dist/tool-system/plan-mode-allowlist.js +65 -0
- package/dist/tool-system/registry.d.ts +1 -0
- package/dist/tool-system/registry.js +26 -1
- package/dist/tool-system/sandbox/index.d.ts +8 -0
- package/dist/tool-system/sandbox/index.js +7 -2
- package/dist/tool-system/validate-tool-metadata.d.ts +36 -0
- package/dist/tool-system/validate-tool-metadata.js +63 -0
- package/dist/tool-system/validation.d.ts +10 -0
- package/dist/tool-system/validation.js +16 -3
- package/dist/types.d.ts +301 -15
- package/dist/updater.js +20 -9
- package/dist/utils/envUtils.d.ts +0 -9
- package/dist/utils/envUtils.js +3 -28
- package/dist/utils/exec.d.ts +40 -0
- package/dist/utils/exec.js +144 -0
- package/dist/utils/format.js +4 -2
- package/dist/utils/json.d.ts +12 -0
- package/dist/utils/json.js +92 -0
- package/dist/utils/lockfile.js +9 -2
- package/dist/utils/theme.d.ts +7 -1
- package/dist/utils/theme.js +5 -3
- package/dist/utils/toolDisplay.js +0 -1
- package/package.json +14 -7
- package/dist/agent/coordinator.d.ts +0 -49
- package/dist/agent/coordinator.js +0 -77
- package/dist/settings/manager.test.js +0 -73
- package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
- package/dist/tool-system/builtin/remote-trigger.js +0 -54
- package/dist/tool-system/builtin/send-message.d.ts +0 -6
- package/dist/tool-system/builtin/send-message.js +0 -47
- /package/dist/{settings/manager.test.d.ts → credentials/types.js} +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cron-runtime — wire the CronScheduler's executor to a real run backend.
|
|
3
|
+
*
|
|
4
|
+
* B1 fix: `CronScheduler.setExecutor` was never called in production, so cron
|
|
5
|
+
* jobs were created and ticked but did nothing on fire. `bindCronToEngine`
|
|
6
|
+
* installs an executor that, for each fired job, hands a one-shot headless run
|
|
7
|
+
* request to the caller-supplied `runner`.
|
|
8
|
+
*
|
|
9
|
+
* Security contract: cron runs unattended, so each job's permission tier
|
|
10
|
+
* (`job.permissionLevel`) is resolved through `resolveWritePolicy`, which maps
|
|
11
|
+
* the tier to a permissionMode + approval backend (see write-policy.ts). The
|
|
12
|
+
* mode stays "default" so the classifier doesn't add its own acceptEdits
|
|
13
|
+
* auto-allow rules ahead of the backend — the backend is the single source of
|
|
14
|
+
* truth for what a tier permits. An undefined/unknown tier falls back to the
|
|
15
|
+
* read-only backend.
|
|
16
|
+
*/
|
|
17
|
+
import { AUTOMATION_RUN_SOURCE } from "../run/EngineRunner.js";
|
|
18
|
+
import { resolveWritePolicy } from "./write-policy.js";
|
|
19
|
+
import { logger } from "../logging/logger.js";
|
|
20
|
+
/**
|
|
21
|
+
* Log a cron executor failure, then re-throw so the scheduler's own try/catch
|
|
22
|
+
* still records run stats and keeps ticking. Without this the failure was
|
|
23
|
+
* silently swallowed (the scheduler catch is empty) — a job could fail every
|
|
24
|
+
* fire with zero trace, which is the exact opposite of what the executor
|
|
25
|
+
* docstrings claimed ("we still log here so failures are visible").
|
|
26
|
+
*/
|
|
27
|
+
function logCronFailure(job, err) {
|
|
28
|
+
logger.warn("cron.executor_failed", {
|
|
29
|
+
cat: "automation",
|
|
30
|
+
jobId: job.id,
|
|
31
|
+
jobName: job.name,
|
|
32
|
+
error: err instanceof Error ? err.message : String(err),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Install the cron executor. After this call, a fired job invokes `runner`
|
|
37
|
+
* with a run request whose permission tier comes from the job. A thrown error
|
|
38
|
+
* is logged (`logCronFailure`) and re-thrown so the scheduler's catch records
|
|
39
|
+
* stats and keeps ticking — one transient bad run never stops future ticks. A
|
|
40
|
+
* PERMANENT failure the runner flags via `result.stop` (e.g. a resume target
|
|
41
|
+
* whose session was deleted) auto-disables the job with that reason, so it
|
|
42
|
+
* stops silently retrying forever.
|
|
43
|
+
*/
|
|
44
|
+
export function bindCronToEngine(scheduler, runner) {
|
|
45
|
+
scheduler.setExecutor(async (job, signal) => {
|
|
46
|
+
const policy = resolveWritePolicy(job.permissionLevel);
|
|
47
|
+
const req = {
|
|
48
|
+
job,
|
|
49
|
+
prompt: job.prompt,
|
|
50
|
+
permissionMode: policy.permissionMode,
|
|
51
|
+
approvalBackend: policy.approvalBackend,
|
|
52
|
+
sandboxMode: policy.sandboxMode,
|
|
53
|
+
signal,
|
|
54
|
+
};
|
|
55
|
+
try {
|
|
56
|
+
const result = await runner(req);
|
|
57
|
+
// A PERMANENT failure the runner flags (e.g. a resume target whose session
|
|
58
|
+
// was deleted) auto-disables the job so it stops silently retrying.
|
|
59
|
+
if (result?.stop) {
|
|
60
|
+
scheduler.disableWithReason(job.id, result.stop.reason);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
logCronFailure(job, err);
|
|
65
|
+
throw err; // let the scheduler's catch record stats + keep ticking
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Wire the scheduler to submit each fired job into a RunManager. Records the
|
|
71
|
+
* resulting runId back onto the job (`lastRunId`) so the UI can link a job to
|
|
72
|
+
* its latest run in the RunStore. Read-only is enforced at the RunManager level
|
|
73
|
+
* by the host injecting `approvalBackend: HeadlessApprovalBackend("approve-read-only")`
|
|
74
|
+
* into createRunManager (Phase 2) until sandbox+write tiers land (Phase 4/5).
|
|
75
|
+
*/
|
|
76
|
+
export function bindCronToRunManager(scheduler, runManager) {
|
|
77
|
+
scheduler.setExecutor(async (job, _signal) => {
|
|
78
|
+
try {
|
|
79
|
+
const snapshot = await runManager.submit({
|
|
80
|
+
objective: job.prompt,
|
|
81
|
+
cwd: job.cwd,
|
|
82
|
+
metadata: { source: AUTOMATION_RUN_SOURCE, cronJobId: job.id, cronJobName: job.name },
|
|
83
|
+
});
|
|
84
|
+
// Record the run id on the job so the UI can link to run history.
|
|
85
|
+
job.lastRunId = snapshot.runId;
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
logCronFailure(job, err);
|
|
89
|
+
throw err; // let the scheduler's catch record stats + keep ticking
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron scheduler — schedule and manage recurring agent tasks.
|
|
3
|
+
*
|
|
4
|
+
* Supports simple cron-like intervals. Each job runs the Engine
|
|
5
|
+
* with a predefined prompt on schedule.
|
|
6
|
+
*/
|
|
7
|
+
import type { CronStore } from "./store.js";
|
|
8
|
+
/**
|
|
9
|
+
* True when a cron timer fired too far past its scheduled instant to be a
|
|
10
|
+
* legitimate on-time run — i.e. the host slept through the scheduled time and
|
|
11
|
+
* the timer fired on wake. Exported for unit testing the sleep/wake guard.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isCronMisfire(scheduledFor: number, now: number): boolean;
|
|
14
|
+
/** Permission tier a scheduled job runs under (Phase 5 enforces write tiers). */
|
|
15
|
+
export type CronPermissionLevel = "read-only" | "workspace-write" | "full";
|
|
16
|
+
export interface CronJob {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
schedule: string;
|
|
20
|
+
prompt: string;
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
lastRun?: number;
|
|
23
|
+
nextRun?: number;
|
|
24
|
+
runCount: number;
|
|
25
|
+
createdAt: number;
|
|
26
|
+
/** Working directory the job runs in (the project it monitors/edits). */
|
|
27
|
+
cwd?: string;
|
|
28
|
+
/** IANA timezone for cron-expression schedules (e.g. "Asia/Shanghai"). Default "UTC". */
|
|
29
|
+
timezone?: string;
|
|
30
|
+
/** Permission tier; defaults to read-only when unset. */
|
|
31
|
+
permissionLevel?: CronPermissionLevel;
|
|
32
|
+
/** RunStore run id of the most recent execution (Phase 2 RunManager path). */
|
|
33
|
+
lastRunId?: string;
|
|
34
|
+
/** True = one-shot: delete the job after its first real execution so it never
|
|
35
|
+
* fires again (e.g. "in 10 minutes, do X once"). */
|
|
36
|
+
once?: boolean;
|
|
37
|
+
/** When set, the fired job RESUMES this codeshell chat session instead of
|
|
38
|
+
* starting a fresh one: the prompt is appended as a new user turn to that
|
|
39
|
+
* session (restored from disk if not in memory), carrying its transcript /
|
|
40
|
+
* goal / context. Unset = the default standalone behaviour (new session per
|
|
41
|
+
* fire). The host's executor honours this. */
|
|
42
|
+
resumeSessionId?: string;
|
|
43
|
+
/** Why the job was auto-disabled (set by `disableWithReason`), e.g. a resume
|
|
44
|
+
* target whose session no longer exists. Surfaced in the UI so a silently
|
|
45
|
+
* stopped job is explainable; cleared when the job is re-enabled. */
|
|
46
|
+
disabledReason?: string;
|
|
47
|
+
}
|
|
48
|
+
/** Optional metadata accepted by create(). */
|
|
49
|
+
export interface CreateJobOptions {
|
|
50
|
+
cwd?: string;
|
|
51
|
+
timezone?: string;
|
|
52
|
+
permissionLevel?: CronPermissionLevel;
|
|
53
|
+
once?: boolean;
|
|
54
|
+
resumeSessionId?: string;
|
|
55
|
+
}
|
|
56
|
+
/** Fields editable via update(). Any omitted field is left unchanged. */
|
|
57
|
+
export interface UpdateJobPatch {
|
|
58
|
+
name?: string;
|
|
59
|
+
prompt?: string;
|
|
60
|
+
schedule?: string;
|
|
61
|
+
timezone?: string;
|
|
62
|
+
cwd?: string;
|
|
63
|
+
permissionLevel?: CronPermissionLevel;
|
|
64
|
+
}
|
|
65
|
+
export declare class CronScheduler {
|
|
66
|
+
private jobs;
|
|
67
|
+
private timers;
|
|
68
|
+
/** Job ids with an execution currently in flight — prevents a tick from
|
|
69
|
+
* starting a second run of a job whose previous run hasn't finished. */
|
|
70
|
+
private running;
|
|
71
|
+
/** In-flight runs keyed by job id: the AbortController that cancels the run,
|
|
72
|
+
* plus `done` — a promise that resolves when the run has FULLY settled
|
|
73
|
+
* (executor returned, including any post-abort bookkeeping like Engine's
|
|
74
|
+
* final saveState). The re-entrancy guard (`running`) ensures at most one
|
|
75
|
+
* run per job, so one entry per job id is sufficient. `abort(jobId)` trips
|
|
76
|
+
* the controller and returns `done` so callers can wait for the run to
|
|
77
|
+
* actually stop before acting (e.g. deleting its session dir without racing
|
|
78
|
+
* a final write that would recreate it). */
|
|
79
|
+
private runningControllers;
|
|
80
|
+
private nextId;
|
|
81
|
+
private onExecute?;
|
|
82
|
+
/** Optional persistence backend. When set, every create/delete/pause/resume
|
|
83
|
+
* writes the full job set to disk so jobs survive a restart. */
|
|
84
|
+
private store?;
|
|
85
|
+
/** When false, the scheduler persists + tracks jobs but NEVER arms timers
|
|
86
|
+
* (so it can't execute). Used by the desktop agent worker, a separate
|
|
87
|
+
* process from the main process that owns execution. Default true. */
|
|
88
|
+
private executionEnabled;
|
|
89
|
+
constructor(store?: CronStore);
|
|
90
|
+
/**
|
|
91
|
+
* Disable (or re-enable) timer arming / execution. A host that only needs to
|
|
92
|
+
* persist + read jobs — never run them — calls setExecutionEnabled(false).
|
|
93
|
+
* Stops any timers already armed when turning off.
|
|
94
|
+
*/
|
|
95
|
+
setExecutionEnabled(enabled: boolean): void;
|
|
96
|
+
/** Attach (or replace) the persistence backend. Used to give the shared
|
|
97
|
+
* singleton a store at runtime startup without changing its identity. */
|
|
98
|
+
setStore(store: CronStore): void;
|
|
99
|
+
setExecutor(fn: (job: CronJob, signal: AbortSignal) => Promise<void>): void;
|
|
100
|
+
/**
|
|
101
|
+
* Abort the in-flight run of `jobId`, if any. Aborts the AbortSignal handed
|
|
102
|
+
* to the executor (which Engine.run cooperates with — it resolves with
|
|
103
|
+
* reason "aborted_streaming" rather than throwing). Returns false when the
|
|
104
|
+
* job has no run currently in flight (already settled, never started, or
|
|
105
|
+
* unknown id). The run's own finally block clears the controller, so a
|
|
106
|
+
* settled run is a no-op here.
|
|
107
|
+
*/
|
|
108
|
+
abort(jobId: string): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Restore persisted jobs and rebuild their timers. Call once at startup
|
|
111
|
+
* after `setStore`. nextRun is recomputed forward from now — we do NOT
|
|
112
|
+
* catch up on runs missed while the process was down (avoids a restart
|
|
113
|
+
* thundering-herd; aligns with Codex's stateless philosophy). Disabled
|
|
114
|
+
* jobs are restored without a timer.
|
|
115
|
+
*/
|
|
116
|
+
/**
|
|
117
|
+
* Reconcile in-memory jobs against the on-disk store (the store is the source
|
|
118
|
+
* of truth). Safe to call repeatedly — used both at startup and as a periodic
|
|
119
|
+
* re-sync when another process (e.g. the desktop agent worker) may have
|
|
120
|
+
* created/deleted/changed jobs through the same store. Reconciliation:
|
|
121
|
+
* - jobs on disk but not in memory → added (and armed if enabled)
|
|
122
|
+
* - jobs in memory but not on disk → removed + timer cleared
|
|
123
|
+
* - jobs whose schedule/enabled differ → re-armed to match disk
|
|
124
|
+
*
|
|
125
|
+
* Pass `{ arm: false }` in a host that must NOT execute jobs (the worker —
|
|
126
|
+
* separate process from the one that owns execution); it still tracks +
|
|
127
|
+
* persists but starts no timers, so jobs never run twice across processes.
|
|
128
|
+
*/
|
|
129
|
+
loadJobs(opts?: {
|
|
130
|
+
arm?: boolean;
|
|
131
|
+
}): void;
|
|
132
|
+
private reconcileJobs;
|
|
133
|
+
private nextPersistedId;
|
|
134
|
+
/** Recompute nextRun without arming a timer (for display in disabled/no-arm hosts). */
|
|
135
|
+
private refreshNextRunForDisplay;
|
|
136
|
+
private persist;
|
|
137
|
+
private persistRunStats;
|
|
138
|
+
create(name: string, schedule: string, prompt: string, opts?: CreateJobOptions): CronJob;
|
|
139
|
+
delete(id: string): boolean;
|
|
140
|
+
list(): CronJob[];
|
|
141
|
+
get(id: string): CronJob | undefined;
|
|
142
|
+
pause(id: string): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Auto-disable a job and record WHY (e.g. its resume target session was
|
|
145
|
+
* deleted). Unlike `delete`, the job is retained (enabled=false) so the user
|
|
146
|
+
* can see it stopped and its reason in the UI, then delete or re-point it.
|
|
147
|
+
* Mirrors `pause` but also stamps `disabledReason`. Idempotent-safe: a
|
|
148
|
+
* subsequent `resume()` clears the reason.
|
|
149
|
+
*/
|
|
150
|
+
disableWithReason(id: string, reason: string): boolean;
|
|
151
|
+
resume(id: string): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Edit an existing job's fields (name/prompt/schedule/timezone/cwd/
|
|
154
|
+
* permissionLevel) without recreating it. A changed schedule is validated up
|
|
155
|
+
* front (throws on invalid, leaving the job untouched), then the timer is
|
|
156
|
+
* re-armed so the new schedule takes effect immediately. Enabled state is
|
|
157
|
+
* preserved — a paused job stays paused (no timer). Returns the updated job,
|
|
158
|
+
* or null if the id is unknown.
|
|
159
|
+
*/
|
|
160
|
+
update(id: string, patch: UpdateJobPatch): CronJob | null;
|
|
161
|
+
stopAll(): void;
|
|
162
|
+
/**
|
|
163
|
+
* Fire a job immediately, out of band of its schedule (the "Run now" button).
|
|
164
|
+
* Respects the re-entrancy guard (no-op if a run is already in flight) and
|
|
165
|
+
* does not disturb the existing timer. Returns false if the id is unknown.
|
|
166
|
+
*/
|
|
167
|
+
runNow(id: string): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Arm a job's timer. Interval schedules ("5m") use setInterval; cron-
|
|
170
|
+
* expression schedules ("0 9 * * 1-5") compute the next trigger in the
|
|
171
|
+
* job's timezone and use setTimeout, re-arming after each fire. nextRun is
|
|
172
|
+
* updated to reflect the scheduled instant.
|
|
173
|
+
*/
|
|
174
|
+
private arm;
|
|
175
|
+
private refreshIntervalNextRun;
|
|
176
|
+
private armCron;
|
|
177
|
+
private clearTimer;
|
|
178
|
+
/**
|
|
179
|
+
* Shared fire path for both schedule kinds. Re-entrancy guard, run-stat
|
|
180
|
+
* bookkeeping, persistence, then the executor. `afterStats` updates nextRun
|
|
181
|
+
* for the next occurrence (interval: now+interval; cron: re-armed inside).
|
|
182
|
+
*/
|
|
183
|
+
private fire;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Parse a schedule string into milliseconds.
|
|
187
|
+
* Supports: "30s", "5m", "1h", "1d", or raw (all-digit) milliseconds.
|
|
188
|
+
*
|
|
189
|
+
* Throws on anything else rather than silently falling back to a default —
|
|
190
|
+
* a typo like "5mn" should surface as an error, not quietly schedule every
|
|
191
|
+
* 10 minutes (review-2026-05-30).
|
|
192
|
+
*/
|
|
193
|
+
export declare function parseSchedule(schedule: string): number;
|
|
194
|
+
export declare const cronScheduler: CronScheduler;
|