@bastani/atomic 0.9.18 → 0.9.19-alpha.2
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/CHANGELOG.md +100 -0
- package/dist/builtin/intercom/CHANGELOG.md +16 -0
- package/dist/builtin/intercom/README.md +21 -11
- package/dist/builtin/intercom/broker/broker.ts +73 -9
- package/dist/builtin/intercom/broker/client.ts +4 -0
- package/dist/builtin/intercom/broker/framing.ts +5 -2
- package/dist/builtin/intercom/broker/group-membership.ts +4 -2
- package/dist/builtin/intercom/broker/presence-handler.ts +14 -0
- package/dist/builtin/intercom/broker/send-handler.ts +34 -5
- package/dist/builtin/intercom/broker/terminal-questions.ts +29 -0
- package/dist/builtin/intercom/index.bundle.mjs +936 -740
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/intercom/recipient-purpose.ts +9 -0
- package/dist/builtin/intercom/recoverable-disconnect.ts +2 -3
- package/dist/builtin/intercom/retry-policy.ts +4 -2
- package/dist/builtin/intercom/skills/intercom/SKILL.md +5 -4
- package/dist/builtin/intercom/types.ts +16 -2
- package/dist/builtin/mcp/CHANGELOG.md +6 -0
- package/dist/builtin/mcp/README.md +2 -0
- package/dist/builtin/mcp/index.bundle.mjs +2201 -12000
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/CHANGELOG.md +27 -0
- package/dist/builtin/subagents/README.md +33 -12
- package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
- package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +1 -1
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
- package/dist/builtin/subagents/agents/debugger.md +1 -1
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/skills/herdr/LICENSE +201 -0
- package/dist/builtin/subagents/skills/herdr/SKILL.md +202 -0
- package/dist/builtin/subagents/skills/subagent/SKILL.md +14 -10
- package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +1284 -609
- package/dist/builtin/web-access/index.bundle.mjs +26280 -26274
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +48 -0
- package/dist/builtin/workflows/README.md +1 -1
- package/dist/builtin/workflows/builtin/adversarial-verification.js +5 -7
- package/dist/builtin/workflows/builtin/{chunk-reqr3sr3.js → chunk-1kx4aggw.js} +22 -22
- package/dist/builtin/workflows/builtin/{chunk-42s7sw0b.js → chunk-62v3gg9f.js} +9 -9
- package/dist/builtin/workflows/builtin/{chunk-wgccch41.js → chunk-6w6cvk6b.js} +16 -16
- package/dist/builtin/workflows/builtin/{chunk-zbekjqew.js → chunk-a2kdsqn8.js} +4 -4
- package/dist/builtin/workflows/builtin/{chunk-ze5x3d1r.js → chunk-fg9esgkj.js} +7 -7
- package/dist/builtin/workflows/builtin/{chunk-n8h4yyew.js → chunk-g0csgs7w.js} +11 -11
- package/dist/builtin/workflows/builtin/{chunk-79fjkcvh.js → chunk-hbnwv56f.js} +17 -17
- package/dist/builtin/workflows/builtin/{chunk-ed4jfn5t.js → chunk-mygmtz6e.js} +43 -43
- package/dist/builtin/workflows/builtin/{chunk-7430zyas.js → chunk-p8jjwfg6.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-hqpe2cyx.js → chunk-r9qq7xfj.js} +49 -49
- package/dist/builtin/workflows/builtin/{chunk-k3w87x8y.js → chunk-t6x2d78s.js} +10 -10
- package/dist/builtin/workflows/builtin/{chunk-6fqs7c01.js → chunk-z0d03ktm.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-b0v2xab1.js → chunk-zggjyg5z.js} +221 -23
- package/dist/builtin/workflows/builtin/classify-and-act.js +5 -6
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +3 -4
- package/dist/builtin/workflows/builtin/generate-and-filter.js +5 -6
- package/dist/builtin/workflows/builtin/goal.js +7 -8
- package/dist/builtin/workflows/builtin/index.js +20 -22
- package/dist/builtin/workflows/builtin/loop-until-done.js +5 -6
- package/dist/builtin/workflows/builtin/open-claude-design.js +3 -3
- package/dist/builtin/workflows/builtin/ralph.js +7 -8
- package/dist/builtin/workflows/builtin/steering-context.js +3 -3
- package/dist/builtin/workflows/builtin/tournament.js +5 -7
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +56236 -25199
- package/dist/builtin/workflows/src/index.js +1217 -547
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +1 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +5 -4
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +5 -1
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +1 -1
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts +1 -1
- package/dist/core/agent-session-custom-message-commit.js.map +1 -1
- package/dist/core/agent-session-delivery-forwarding.d.ts +1 -1
- package/dist/core/agent-session-delivery-forwarding.js.map +1 -1
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +5 -0
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-export.d.ts +1 -1
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts +8 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +45 -3
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts +1 -1
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +14 -7
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts +2 -2
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +22 -18
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts +1 -1
- package/dist/core/agent-session-runtime-auth.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +13 -4
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +27 -4
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +5 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +44 -34
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-state.d.ts +1 -1
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-tasks.d.ts +9 -0
- package/dist/core/agent-session-tasks.d.ts.map +1 -0
- package/dist/core/agent-session-tasks.js +113 -0
- package/dist/core/agent-session-tasks.js.map +1 -0
- package/dist/core/agent-session-tool-registry.d.ts +1 -0
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +30 -5
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-tree.d.ts.map +1 -1
- package/dist/core/agent-session-tree.js +3 -0
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +2 -2
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +4 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +7 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bash-executor.d.ts +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extension-session-state.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +4 -4
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +8 -2
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +9 -0
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/event-results.d.ts +1 -1
- package/dist/core/extensions/event-results.js.map +1 -1
- package/dist/core/extensions/event-types.d.ts +2 -1
- package/dist/core/extensions/event-types.d.ts.map +1 -1
- package/dist/core/extensions/event-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +7 -0
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-core.d.ts +1 -1
- package/dist/core/extensions/loader-core.js.map +1 -1
- package/dist/core/extensions/loader-discovery.d.ts +1 -1
- package/dist/core/extensions/loader-discovery.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +3 -0
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/runner-context.d.ts +11 -1
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +41 -2
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner-events.d.ts +1 -1
- package/dist/core/extensions/runner-events.d.ts.map +1 -1
- package/dist/core/extensions/runner-events.js +17 -2
- package/dist/core/extensions/runner-events.js.map +1 -1
- package/dist/core/extensions/runner-ui.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +17 -2
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +68 -18
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +4 -1
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/extensions/tool-types.d.ts +1 -1
- package/dist/core/extensions/tool-types.js.map +1 -1
- package/dist/core/extensions/types.d.ts +1 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/ui-types.d.ts +5 -1
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/extensions/workflow-activity-hub.d.ts +25 -0
- package/dist/core/extensions/workflow-activity-hub.d.ts.map +1 -0
- package/dist/core/extensions/workflow-activity-hub.js +183 -0
- package/dist/core/extensions/workflow-activity-hub.js.map +1 -0
- package/dist/core/extensions/workflow-events.d.ts +118 -0
- package/dist/core/extensions/workflow-events.d.ts.map +1 -0
- package/dist/core/extensions/workflow-events.js +2 -0
- package/dist/core/extensions/workflow-events.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +8 -4
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +97 -11
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts +27 -2
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +7 -2
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/mandatory-runtime-tools.d.ts +1 -1
- package/dist/core/mandatory-runtime-tools.js.map +1 -1
- package/dist/core/model-fallback-failures.js +2 -2
- package/dist/core/model-fallback-failures.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +8 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-defaults.js +1 -1
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/resource-loader-assets.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts +1 -1
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-internals.d.ts +2 -2
- package/dist/core/resource-loader-internals.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts +2 -0
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +231 -191
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/resource-loader-types.d.ts +4 -2
- package/dist/core/resource-loader-types.d.ts.map +1 -1
- package/dist/core/resource-loader-types.js.map +1 -1
- package/dist/core/sdk-exports.d.ts +2 -2
- package/dist/core/sdk-exports.js.map +1 -1
- package/dist/core/sdk-types.d.ts +2 -2
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager-core.d.ts.map +1 -1
- package/dist/core/settings-manager-core.js +10 -4
- package/dist/core/settings-manager-core.js.map +1 -1
- package/dist/core/settings-storage.d.ts +1 -0
- package/dist/core/settings-storage.d.ts.map +1 -1
- package/dist/core/settings-storage.js +18 -0
- package/dist/core/settings-storage.js.map +1 -1
- package/dist/core/settings-types.d.ts +11 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +5 -6
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tasks/agent-adapter.d.ts +32 -0
- package/dist/core/tasks/agent-adapter.d.ts.map +1 -0
- package/dist/core/tasks/agent-adapter.js +71 -0
- package/dist/core/tasks/agent-adapter.js.map +1 -0
- package/dist/core/tasks/command-output.d.ts +15 -0
- package/dist/core/tasks/command-output.d.ts.map +1 -0
- package/dist/core/tasks/command-output.js +29 -0
- package/dist/core/tasks/command-output.js.map +1 -0
- package/dist/core/tasks/completion-ordering.d.ts +11 -0
- package/dist/core/tasks/completion-ordering.d.ts.map +1 -0
- package/dist/core/tasks/completion-ordering.js +19 -0
- package/dist/core/tasks/completion-ordering.js.map +1 -0
- package/dist/core/tasks/completion.d.ts +36 -0
- package/dist/core/tasks/completion.d.ts.map +1 -0
- package/dist/core/tasks/completion.js +115 -0
- package/dist/core/tasks/completion.js.map +1 -0
- package/dist/core/tasks/contracts.d.ts +404 -0
- package/dist/core/tasks/contracts.d.ts.map +1 -0
- package/dist/core/tasks/contracts.js +2 -0
- package/dist/core/tasks/contracts.js.map +1 -0
- package/dist/core/tasks/execution-scope.d.ts +10 -0
- package/dist/core/tasks/execution-scope.d.ts.map +1 -0
- package/dist/core/tasks/execution-scope.js +27 -0
- package/dist/core/tasks/execution-scope.js.map +1 -0
- package/dist/core/tasks/owner-store.d.ts +53 -0
- package/dist/core/tasks/owner-store.d.ts.map +1 -0
- package/dist/core/tasks/owner-store.js +155 -0
- package/dist/core/tasks/owner-store.js.map +1 -0
- package/dist/core/tasks/supervisor.d.ts +121 -0
- package/dist/core/tasks/supervisor.d.ts.map +1 -0
- package/dist/core/tasks/supervisor.js +916 -0
- package/dist/core/tasks/supervisor.js.map +1 -0
- package/dist/core/tasks/transcript.d.ts +23 -0
- package/dist/core/tasks/transcript.d.ts.map +1 -0
- package/dist/core/tasks/transcript.js +74 -0
- package/dist/core/tasks/transcript.js.map +1 -0
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts +2 -2
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js +8 -4
- package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts +18 -3
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js +116 -1
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash.d.ts +11 -4
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +52 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +1 -2
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +2 -2
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +20 -10
- package/dist/core/tools/powershell.d.ts.map +1 -1
- package/dist/core/tools/powershell.js +32 -7
- package/dist/core/tools/powershell.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -2
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/resource-selectors.d.ts.map +1 -1
- package/dist/core/tools/resource-selectors.js +15 -7
- package/dist/core/tools/resource-selectors.js.map +1 -1
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/todos-render.d.ts +1 -1
- package/dist/core/tools/todos-render.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +1 -2
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/workflow-stage-admission.d.ts +10 -0
- package/dist/core/workflow-stage-admission.d.ts.map +1 -1
- package/dist/core/workflow-stage-admission.js +24 -0
- package/dist/core/workflow-stage-admission.js.map +1 -1
- package/dist/extensions/herdr/activity.d.ts +15 -0
- package/dist/extensions/herdr/activity.d.ts.map +1 -0
- package/dist/extensions/herdr/activity.js +24 -0
- package/dist/extensions/herdr/activity.js.map +1 -0
- package/dist/extensions/herdr/environment.d.ts +7 -0
- package/dist/extensions/herdr/environment.d.ts.map +1 -0
- package/dist/extensions/herdr/environment.js +6 -0
- package/dist/extensions/herdr/environment.js.map +1 -0
- package/dist/extensions/herdr/index.d.ts +9 -0
- package/dist/extensions/herdr/index.d.ts.map +1 -0
- package/dist/extensions/herdr/index.js +225 -0
- package/dist/extensions/herdr/index.js.map +1 -0
- package/dist/extensions/herdr/pane-owner.d.ts +30 -0
- package/dist/extensions/herdr/pane-owner.d.ts.map +1 -0
- package/dist/extensions/herdr/pane-owner.js +111 -0
- package/dist/extensions/herdr/pane-owner.js.map +1 -0
- package/dist/extensions/herdr/transport.d.ts +8 -0
- package/dist/extensions/herdr/transport.d.ts.map +1 -0
- package/dist/extensions/herdr/transport.js +28 -0
- package/dist/extensions/herdr/transport.js.map +1 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
- package/dist/extensions/llama/huggingface-ui.js.map +1 -1
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/index-extensions.d.ts +3 -2
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +149 -69
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.d.ts +1 -1
- package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
- package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +12 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +44 -0
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +43 -8
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts +2 -2
- package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +2 -2
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +12 -3
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +4 -5
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.js +8 -6
- package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +7 -2
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +1 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.d.ts +8 -3
- package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.js +2 -0
- package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +17 -2
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +97 -1
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +1 -0
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +1 -1
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +12 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +7 -6
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +27 -9
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +2 -2
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/reserved-bottom-overlay.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-header.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/task-completion-message.d.ts +13 -0
- package/dist/modes/interactive/components/task-completion-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-completion-message.js +65 -0
- package/dist/modes/interactive/components/task-completion-message.js.map +1 -0
- package/dist/modes/interactive/components/task-detail.d.ts +27 -0
- package/dist/modes/interactive/components/task-detail.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-detail.js +107 -0
- package/dist/modes/interactive/components/task-detail.js.map +1 -0
- package/dist/modes/interactive/components/task-inspector.d.ts +50 -0
- package/dist/modes/interactive/components/task-inspector.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-inspector.js +599 -0
- package/dist/modes/interactive/components/task-inspector.js.map +1 -0
- package/dist/modes/interactive/components/task-list.d.ts +18 -0
- package/dist/modes/interactive/components/task-list.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-list.js +59 -0
- package/dist/modes/interactive/components/task-list.js.map +1 -0
- package/dist/modes/interactive/components/task-live-transcript.d.ts +17 -0
- package/dist/modes/interactive/components/task-live-transcript.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-live-transcript.js +33 -0
- package/dist/modes/interactive/components/task-live-transcript.js.map +1 -0
- package/dist/modes/interactive/components/task-navigation.d.ts +38 -0
- package/dist/modes/interactive/components/task-navigation.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-navigation.js +93 -0
- package/dist/modes/interactive/components/task-navigation.js.map +1 -0
- package/dist/modes/interactive/components/task-row.d.ts +34 -0
- package/dist/modes/interactive/components/task-row.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-row.js +158 -0
- package/dist/modes/interactive/components/task-row.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/transcript-follow-indicator.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/working-status.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +8 -2
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +3 -1
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +9 -30
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +2 -1
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-context.js +14 -4
- package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +52 -4
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +1 -0
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js +9 -1
- package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +19 -0
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +6 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +4 -1
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +6 -6
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +2 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +3 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js +4 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +2 -0
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +33 -23
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +1 -0
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-summarization-retry-events.js +2 -2
- package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
- package/dist/modes/interactive/interactive-task-projection.d.ts +13 -0
- package/dist/modes/interactive/interactive-task-projection.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-task-projection.js +72 -0
- package/dist/modes/interactive/interactive-task-projection.js.map +1 -0
- package/dist/modes/interactive/interactive-tui.js.map +1 -1
- package/dist/modes/interactive/interactive-windows-subshell.d.ts +17 -0
- package/dist/modes/interactive/interactive-windows-subshell.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-windows-subshell.js +92 -0
- package/dist/modes/interactive/interactive-windows-subshell.js.map +1 -0
- package/dist/modes/interactive/skill-command-autocomplete.d.ts +12 -0
- package/dist/modes/interactive/skill-command-autocomplete.d.ts.map +1 -0
- package/dist/modes/interactive/skill-command-autocomplete.js +69 -0
- package/dist/modes/interactive/skill-command-autocomplete.js.map +1 -0
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +4 -1
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +1 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.d.ts +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts +5 -9
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +14 -5
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-dialog-host.d.ts +2 -2
- package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -1
- package/dist/modes/interactive-engine/engine-project-trust.d.ts +10 -0
- package/dist/modes/interactive-engine/engine-project-trust.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-project-trust.js +28 -0
- package/dist/modes/interactive-engine/engine-project-trust.js.map +1 -0
- package/dist/modes/interactive-engine/engine-render-service.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +3 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +6 -0
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.d.ts +2 -2
- package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-auth.d.ts +1 -1
- package/dist/modes/interactive-engine/isolated-auth.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +5 -2
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +40 -3
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +9 -0
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +8 -0
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-component.d.ts +2 -2
- package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-component.js +3 -2
- package/dist/modes/interactive-engine/remote-component.js.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
- package/dist/modes/interactive-engine/remote-renderer.d.ts +1 -1
- package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
- package/dist/modes/interactive-engine/session-picker-host.d.ts +2 -2
- package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
- package/dist/modes/json-event.d.ts +1 -1
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts +2 -2
- package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -1
- package/dist/modes/rpc/rpc-client-api.d.ts +2 -2
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +2 -2
- package/dist/modes/rpc/rpc-client-api.js.map +1 -1
- package/dist/modes/rpc/rpc-client-waits.d.ts +1 -1
- package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +3 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +20 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts +4 -2
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +12 -4
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +11 -2
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.d.ts +1 -1
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts +4 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +35 -1
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +13 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modes/rpc/task-ui-bridge.d.ts +9 -0
- package/dist/modes/rpc/task-ui-bridge.d.ts.map +1 -0
- package/dist/modes/rpc/task-ui-bridge.js +146 -0
- package/dist/modes/rpc/task-ui-bridge.js.map +1 -0
- package/dist/self-update-plan.js.map +1 -1
- package/docs/background-tasks.md +199 -0
- package/docs/compaction.md +2 -0
- package/docs/development.md +3 -1
- package/docs/docs.json +2 -0
- package/docs/environment-variables.md +1 -1
- package/docs/extensions.md +108 -6
- package/docs/herdr.md +106 -0
- package/docs/intercom.md +38 -35
- package/docs/keybindings.md +19 -2
- package/docs/models/evals.md +222 -147
- package/docs/models/model-selection.md +20 -14
- package/docs/models/pareto-efficiency.md +2 -2
- package/docs/providers.md +48 -46
- package/docs/quickstart.md +2 -2
- package/docs/sdk.md +244 -0
- package/docs/settings.md +15 -3
- package/docs/skills.md +23 -1
- package/docs/subagents.md +71 -9
- package/docs/themes.md +4 -0
- package/docs/tools.md +25 -0
- package/docs/tui.md +29 -2
- package/docs/usage.md +4 -0
- package/docs/windows.md +4 -4
- package/docs/workflows/api-reference.md +13 -4
- package/docs/workflows/operations.md +59 -5
- package/docs/workflows/reliable-design.md +35 -4
- package/docs/workflows/verification.md +21 -4
- package/docs/workflows.md +3 -1
- package/npm-shrinkwrap.json +781 -661
- package/package.json +10 -10
- /package/dist/builtin/workflows/builtin/{chunk-cg9tmks0.js → chunk-n1910xc4.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-wpckd35c.js → chunk-rc5ec5xx.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-7at6dnkr.js → chunk-tgt0s5e5.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-bfkmzv9h.js → chunk-xtxcq5tj.js} +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/** Activity previews are bounded independently of authoritative session history. */
|
|
2
|
+
export const TASK_ACTIVITY_LIMIT = 64;
|
|
3
|
+
export const TASK_ACTIVITY_BYTES = 8192;
|
|
4
|
+
function isBackground(observation) {
|
|
5
|
+
// Admission starts unobserved; that placeholder is not a background launch.
|
|
6
|
+
return observation?.kind === "background" && observation.reason !== "not-observed";
|
|
7
|
+
}
|
|
8
|
+
/** A view subscription owns neither the owner nor its executions. */
|
|
9
|
+
export class OwnerTaskStore {
|
|
10
|
+
constructor(supervisor, owner) {
|
|
11
|
+
this.listeners = new Set();
|
|
12
|
+
this.records = new Map();
|
|
13
|
+
this.activity = new Map();
|
|
14
|
+
this.activityCursors = new Map();
|
|
15
|
+
this.omittedActivity = new Set();
|
|
16
|
+
this.backgroundIds = new Set();
|
|
17
|
+
this.anchors = new Map();
|
|
18
|
+
this.supervisor = supervisor;
|
|
19
|
+
this.owner = owner;
|
|
20
|
+
}
|
|
21
|
+
get snapshot() {
|
|
22
|
+
return this.current;
|
|
23
|
+
}
|
|
24
|
+
get cursor() {
|
|
25
|
+
return this.current?.cursor;
|
|
26
|
+
}
|
|
27
|
+
get tasks() {
|
|
28
|
+
return [...this.records.values()];
|
|
29
|
+
}
|
|
30
|
+
/** Background membership survives foreground waits and terminal observation cleanup. */
|
|
31
|
+
get backgroundTasks() {
|
|
32
|
+
return this.tasks.filter((task) => task.wasBackground || isBackground(task.observation) || this.backgroundIds.has(task.ref.taskId));
|
|
33
|
+
}
|
|
34
|
+
/** Resolve only within the owner that authorized this store. */
|
|
35
|
+
resolveTask(id) {
|
|
36
|
+
return this.supervisor.lookupTask(this.owner, id);
|
|
37
|
+
}
|
|
38
|
+
recentActivity(id) {
|
|
39
|
+
return [...(this.activity.get(id) ?? [])];
|
|
40
|
+
}
|
|
41
|
+
activityOmitted(id) {
|
|
42
|
+
return this.omittedActivity.has(id);
|
|
43
|
+
}
|
|
44
|
+
subscribe(listener) {
|
|
45
|
+
this.listeners.add(listener);
|
|
46
|
+
return () => {
|
|
47
|
+
this.listeners.delete(listener);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
connect() {
|
|
51
|
+
this.dispose();
|
|
52
|
+
const watched = this.supervisor.watchOwnerTasks(this.owner, this.cursor);
|
|
53
|
+
if (!watched.ok)
|
|
54
|
+
return watched;
|
|
55
|
+
const subscription = watched.value;
|
|
56
|
+
this.subscription = subscription;
|
|
57
|
+
this.reconcile(subscription.snapshot);
|
|
58
|
+
subscription.onReconcile = (snapshot) => this.reconcile(snapshot);
|
|
59
|
+
void this.observe(subscription);
|
|
60
|
+
return { ok: true, value: undefined };
|
|
61
|
+
}
|
|
62
|
+
/** Useful at explicit host barriers; no transcript repaint timer is installed. */
|
|
63
|
+
drain() {
|
|
64
|
+
this.subscription?.drain();
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
this.subscription?.dispose();
|
|
68
|
+
this.subscription = undefined;
|
|
69
|
+
}
|
|
70
|
+
reconcile(snapshot) {
|
|
71
|
+
if (this.current &&
|
|
72
|
+
(snapshot.ownerId !== this.current.ownerId || snapshot.generation !== this.current.generation))
|
|
73
|
+
throw new Error("StaleGeneration: cannot replace a task owner projection");
|
|
74
|
+
if (this.current && BigInt(snapshot.cursor.sequence) <= BigInt(this.current.cursor.sequence))
|
|
75
|
+
return;
|
|
76
|
+
this.current = snapshot;
|
|
77
|
+
for (const task of snapshot.tasks) {
|
|
78
|
+
const previous = this.records.get(task.ref.taskId);
|
|
79
|
+
if (isBackground(task.observation) || isBackground(previous?.observation))
|
|
80
|
+
this.backgroundIds.add(task.ref.taskId);
|
|
81
|
+
// Native settlement is immutable, even when recovering a view from a snapshot.
|
|
82
|
+
this.records.set(task.ref.taskId, previous?.execution.kind === "settled" ? { ...task, execution: previous.execution } : task);
|
|
83
|
+
if (!this.anchors.has(task.ref.taskId))
|
|
84
|
+
this.anchors.set(task.ref.taskId, {
|
|
85
|
+
taskId: task.ref.taskId,
|
|
86
|
+
activitySequence: snapshot.cursor.sequence,
|
|
87
|
+
cellOffset: 0,
|
|
88
|
+
followBottom: true,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
this.notify();
|
|
92
|
+
}
|
|
93
|
+
async observe(subscription) {
|
|
94
|
+
// Journal overflow ends the old iterator after publishing a reset snapshot.
|
|
95
|
+
while (this.subscription === subscription && this.current?.state !== "closed") {
|
|
96
|
+
for await (const event of subscription.events) {
|
|
97
|
+
if (this.subscription !== subscription)
|
|
98
|
+
return;
|
|
99
|
+
this.retainActivity(event);
|
|
100
|
+
}
|
|
101
|
+
if (this.subscription !== subscription || this.snapshot?.state === "closed")
|
|
102
|
+
return;
|
|
103
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
retainActivity(event) {
|
|
107
|
+
if (event.payload.kind === "host-observation-changed" && isBackground(event.payload.observation)) {
|
|
108
|
+
this.backgroundIds.add(event.payload.ref.taskId);
|
|
109
|
+
this.notify();
|
|
110
|
+
}
|
|
111
|
+
if (event.payload.kind !== "task-activity")
|
|
112
|
+
return;
|
|
113
|
+
const id = event.payload.ref.taskId;
|
|
114
|
+
const sequence = BigInt(event.cursor.sequence);
|
|
115
|
+
if (sequence <= (this.activityCursors.get(id) ?? -1n))
|
|
116
|
+
return;
|
|
117
|
+
this.activityCursors.set(id, sequence);
|
|
118
|
+
const entries = this.activity.get(id) ?? [];
|
|
119
|
+
entries.push({ cursor: event.cursor, report: event.payload.activity });
|
|
120
|
+
while (entries.length > TASK_ACTIVITY_LIMIT || Buffer.byteLength(JSON.stringify(entries)) > TASK_ACTIVITY_BYTES) {
|
|
121
|
+
entries.shift();
|
|
122
|
+
this.omittedActivity.add(id);
|
|
123
|
+
}
|
|
124
|
+
this.activity.set(id, entries);
|
|
125
|
+
this.notify();
|
|
126
|
+
}
|
|
127
|
+
notify() {
|
|
128
|
+
for (const listener of this.listeners)
|
|
129
|
+
listener();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Host adapters bind their existing session object, never a model-provided owner id.
|
|
133
|
+
const sessionStores = new WeakMap();
|
|
134
|
+
const bindingListeners = new WeakMap();
|
|
135
|
+
export function bindOwnerTaskStore(session, store) {
|
|
136
|
+
sessionStores.set(session, store);
|
|
137
|
+
for (const listener of bindingListeners.get(session) ?? [])
|
|
138
|
+
listener();
|
|
139
|
+
}
|
|
140
|
+
export function getOwnerTaskStore(session) {
|
|
141
|
+
return sessionStores.get(session);
|
|
142
|
+
}
|
|
143
|
+
/** Observe lazy producer binding without waiting for another tool/session event. */
|
|
144
|
+
export function watchOwnerTaskStoreBinding(session, listener) {
|
|
145
|
+
let listeners = bindingListeners.get(session);
|
|
146
|
+
if (!listeners) {
|
|
147
|
+
listeners = new Set();
|
|
148
|
+
bindingListeners.set(session, listeners);
|
|
149
|
+
}
|
|
150
|
+
listeners.add(listener);
|
|
151
|
+
return () => {
|
|
152
|
+
listeners.delete(listener);
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=owner-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-store.js","sourceRoot":"","sources":["../../../src/core/tasks/owner-store.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tActivityReport,\n\tCursor,\n\tNativeEvent,\n\tOwnerSnapshot,\n\tResult,\n\tTaskId,\n\tTaskRecord,\n\tWaitError,\n\tWatchError,\n} from \"./contracts.js\";\nimport type { OwnerLease, TaskLease, TaskSubscription, TaskSupervisor } from \"./supervisor.js\";\n\n/** Activity previews are bounded independently of authoritative session history. */\nexport const TASK_ACTIVITY_LIMIT = 64;\nexport const TASK_ACTIVITY_BYTES = 8192;\nexport type TaskAnchor = {\n\ttaskId: TaskId;\n\tactivitySequence: Cursor[\"sequence\"];\n\tcellOffset: number;\n\tfollowBottom: boolean;\n};\nexport type TaskActivity = { cursor: Cursor; report: ActivityReport };\n\nfunction isBackground(observation: TaskRecord[\"observation\"] | undefined): boolean {\n\t// Admission starts unobserved; that placeholder is not a background launch.\n\treturn observation?.kind === \"background\" && observation.reason !== \"not-observed\";\n}\n\n/** A view subscription owns neither the owner nor its executions. */\nexport class OwnerTaskStore {\n\tprivate subscription?: TaskSubscription;\n\tprivate listeners = new Set<() => void>();\n\tprivate records = new Map<TaskId, TaskRecord>();\n\tprivate activity = new Map<TaskId, TaskActivity[]>();\n\tprivate activityCursors = new Map<TaskId, bigint>();\n\tprivate omittedActivity = new Set<TaskId>();\n\tprivate backgroundIds = new Set<TaskId>();\n\treadonly anchors = new Map<TaskId, TaskAnchor>();\n\tprivate current?: OwnerSnapshot;\n\treadonly supervisor: TaskSupervisor;\n\tprivate readonly owner: OwnerLease;\n\tconstructor(supervisor: TaskSupervisor, owner: OwnerLease) {\n\t\tthis.supervisor = supervisor;\n\t\tthis.owner = owner;\n\t}\n\n\tget snapshot(): OwnerSnapshot | undefined {\n\t\treturn this.current;\n\t}\n\tget cursor(): Cursor | undefined {\n\t\treturn this.current?.cursor;\n\t}\n\tget tasks(): TaskRecord[] {\n\t\treturn [...this.records.values()];\n\t}\n\t/** Background membership survives foreground waits and terminal observation cleanup. */\n\tget backgroundTasks(): TaskRecord[] {\n\t\treturn this.tasks.filter(\n\t\t\t(task) => task.wasBackground || isBackground(task.observation) || this.backgroundIds.has(task.ref.taskId),\n\t\t);\n\t}\n\t/** Resolve only within the owner that authorized this store. */\n\tresolveTask(id: TaskId): Result<TaskLease, WaitError> {\n\t\treturn this.supervisor.lookupTask(this.owner, id);\n\t}\n\trecentActivity(id: TaskId): TaskActivity[] {\n\t\treturn [...(this.activity.get(id) ?? [])];\n\t}\n\tactivityOmitted(id: TaskId): boolean {\n\t\treturn this.omittedActivity.has(id);\n\t}\n\tsubscribe(listener: () => void): () => void {\n\t\tthis.listeners.add(listener);\n\t\treturn () => {\n\t\t\tthis.listeners.delete(listener);\n\t\t};\n\t}\n\tconnect(): Result<void, WatchError> {\n\t\tthis.dispose();\n\t\tconst watched = this.supervisor.watchOwnerTasks(this.owner, this.cursor);\n\t\tif (!watched.ok) return watched;\n\t\tconst subscription = watched.value;\n\t\tthis.subscription = subscription;\n\t\tthis.reconcile(subscription.snapshot);\n\t\tsubscription.onReconcile = (snapshot) => this.reconcile(snapshot);\n\t\tvoid this.observe(subscription);\n\t\treturn { ok: true, value: undefined };\n\t}\n\t/** Useful at explicit host barriers; no transcript repaint timer is installed. */\n\tdrain(): void {\n\t\tthis.subscription?.drain();\n\t}\n\tdispose(): void {\n\t\tthis.subscription?.dispose();\n\t\tthis.subscription = undefined;\n\t}\n\tprivate reconcile(snapshot: OwnerSnapshot): void {\n\t\tif (\n\t\t\tthis.current &&\n\t\t\t(snapshot.ownerId !== this.current.ownerId || snapshot.generation !== this.current.generation)\n\t\t)\n\t\t\tthrow new Error(\"StaleGeneration: cannot replace a task owner projection\");\n\t\tif (this.current && BigInt(snapshot.cursor.sequence) <= BigInt(this.current.cursor.sequence)) return;\n\t\tthis.current = snapshot;\n\t\tfor (const task of snapshot.tasks) {\n\t\t\tconst previous = this.records.get(task.ref.taskId);\n\t\t\tif (isBackground(task.observation) || isBackground(previous?.observation))\n\t\t\t\tthis.backgroundIds.add(task.ref.taskId);\n\t\t\t// Native settlement is immutable, even when recovering a view from a snapshot.\n\t\t\tthis.records.set(\n\t\t\t\ttask.ref.taskId,\n\t\t\t\tprevious?.execution.kind === \"settled\" ? { ...task, execution: previous.execution } : task,\n\t\t\t);\n\t\t\tif (!this.anchors.has(task.ref.taskId))\n\t\t\t\tthis.anchors.set(task.ref.taskId, {\n\t\t\t\t\ttaskId: task.ref.taskId,\n\t\t\t\t\tactivitySequence: snapshot.cursor.sequence,\n\t\t\t\t\tcellOffset: 0,\n\t\t\t\t\tfollowBottom: true,\n\t\t\t\t});\n\t\t}\n\t\tthis.notify();\n\t}\n\tprivate async observe(subscription: TaskSubscription): Promise<void> {\n\t\t// Journal overflow ends the old iterator after publishing a reset snapshot.\n\t\twhile (this.subscription === subscription && this.current?.state !== \"closed\") {\n\t\t\tfor await (const event of subscription.events) {\n\t\t\t\tif (this.subscription !== subscription) return;\n\t\t\t\tthis.retainActivity(event);\n\t\t\t}\n\t\t\tif (this.subscription !== subscription || this.snapshot?.state === \"closed\") return;\n\t\t\tawait new Promise<void>((resolve) => setImmediate(resolve));\n\t\t}\n\t}\n\tprivate retainActivity(event: NativeEvent): void {\n\t\tif (event.payload.kind === \"host-observation-changed\" && isBackground(event.payload.observation)) {\n\t\t\tthis.backgroundIds.add(event.payload.ref.taskId);\n\t\t\tthis.notify();\n\t\t}\n\t\tif (event.payload.kind !== \"task-activity\") return;\n\t\tconst id = event.payload.ref.taskId;\n\t\tconst sequence = BigInt(event.cursor.sequence);\n\t\tif (sequence <= (this.activityCursors.get(id) ?? -1n)) return;\n\t\tthis.activityCursors.set(id, sequence);\n\t\tconst entries = this.activity.get(id) ?? [];\n\t\tentries.push({ cursor: event.cursor, report: event.payload.activity });\n\t\twhile (entries.length > TASK_ACTIVITY_LIMIT || Buffer.byteLength(JSON.stringify(entries)) > TASK_ACTIVITY_BYTES) {\n\t\t\tentries.shift();\n\t\t\tthis.omittedActivity.add(id);\n\t\t}\n\t\tthis.activity.set(id, entries);\n\t\tthis.notify();\n\t}\n\tprivate notify(): void {\n\t\tfor (const listener of this.listeners) listener();\n\t}\n}\n\n// Host adapters bind their existing session object, never a model-provided owner id.\nconst sessionStores = new WeakMap<object, OwnerTaskStore>();\nconst bindingListeners = new WeakMap<object, Set<() => void>>();\nexport function bindOwnerTaskStore(session: object, store: OwnerTaskStore): void {\n\tsessionStores.set(session, store);\n\tfor (const listener of bindingListeners.get(session) ?? []) listener();\n}\nexport function getOwnerTaskStore(session: object): OwnerTaskStore | undefined {\n\treturn sessionStores.get(session);\n}\n\n/** Observe lazy producer binding without waiting for another tool/session event. */\nexport function watchOwnerTaskStoreBinding(session: object, listener: () => void): () => void {\n\tlet listeners = bindingListeners.get(session);\n\tif (!listeners) {\n\t\tlisteners = new Set();\n\t\tbindingListeners.set(session, listeners);\n\t}\n\tlisteners.add(listener);\n\treturn () => {\n\t\tlisteners.delete(listener);\n\t};\n}\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type * as native from "@bastani/atomic-natives";
|
|
2
|
+
import type { AgentMessage } from "@earendil-works/pi-agent-core";
|
|
3
|
+
import type { AgentSessionEvent } from "../agent-session.js";
|
|
4
|
+
import type { SessionManager } from "../session-manager.ts";
|
|
5
|
+
import type { TaskCompletionSource } from "./completion-ordering.js";
|
|
6
|
+
import type * as C from "./contracts.js";
|
|
7
|
+
export type TaskTranscriptSource = Pick<SessionManager, "getSessionId" | "getEntries"> & {
|
|
8
|
+
readonly completionSource?: TaskCompletionSource;
|
|
9
|
+
/** Viewer-only subscription; updates never publish task lifecycle events. */
|
|
10
|
+
subscribe?(listener: (event: AgentSessionEvent) => void): () => void;
|
|
11
|
+
getStreamingMessage?(): AgentMessage | undefined;
|
|
12
|
+
};
|
|
13
|
+
export declare const DEFAULT_AGENT_WAIT_BUDGET_MS = 30000;
|
|
14
|
+
/** These objects are live authority, not DTOs, restart tokens or model arguments. */
|
|
15
|
+
declare class Capability {
|
|
16
|
+
#private;
|
|
17
|
+
toJSON(): never;
|
|
18
|
+
}
|
|
19
|
+
declare class HostCapability extends Capability {
|
|
20
|
+
readonly kind = "host";
|
|
21
|
+
}
|
|
22
|
+
declare class OwnerCapability extends Capability {
|
|
23
|
+
readonly kind = "owner";
|
|
24
|
+
}
|
|
25
|
+
declare class TaskCapability extends Capability {
|
|
26
|
+
readonly kind = "task";
|
|
27
|
+
}
|
|
28
|
+
declare class WaitCapability extends Capability {
|
|
29
|
+
readonly kind = "wait";
|
|
30
|
+
}
|
|
31
|
+
declare class SubscriptionCapability extends Capability {
|
|
32
|
+
readonly kind = "subscription";
|
|
33
|
+
}
|
|
34
|
+
declare class StdinCapability extends Capability {
|
|
35
|
+
readonly kind = "stdin";
|
|
36
|
+
}
|
|
37
|
+
export type StdinLease = StdinCapability;
|
|
38
|
+
export type HostSession = HostCapability;
|
|
39
|
+
export type OwnerLease = OwnerCapability;
|
|
40
|
+
export type TaskLease = TaskCapability;
|
|
41
|
+
export type WaitLease = WaitCapability;
|
|
42
|
+
export type SubscriptionLease = SubscriptionCapability;
|
|
43
|
+
export type FakeRunnerContext = {
|
|
44
|
+
ref: C.NativeTaskRef;
|
|
45
|
+
signal: AbortSignal;
|
|
46
|
+
reportActivity(report: C.ActivityReport): C.Result<C.ReportReceipt, C.ReportError>;
|
|
47
|
+
/** Bind existing child history while holding the admitted runner authority. */
|
|
48
|
+
bindTranscript(session: TaskTranscriptSource): void;
|
|
49
|
+
};
|
|
50
|
+
/** Independent cleanup evidence: an outcome alone never proves resource release. */
|
|
51
|
+
export type FakeExecution = {
|
|
52
|
+
result: Promise<C.TaskResult>;
|
|
53
|
+
cleanup: Promise<C.Cleanup>;
|
|
54
|
+
};
|
|
55
|
+
export type TrustedTaskHost = {
|
|
56
|
+
scope: C.OwnerScope;
|
|
57
|
+
/** Owner-host observation settings; never an execution deadline. */
|
|
58
|
+
tasks?: {
|
|
59
|
+
wait?: C.TaskWaitConfiguration;
|
|
60
|
+
};
|
|
61
|
+
/** The existing host/tool refusal throws here, before native admission. */
|
|
62
|
+
authorizeCommandLaunch?(intent: C.CommandIntent): void;
|
|
63
|
+
authorizeLaunch(intent: C.AgentIntent): void;
|
|
64
|
+
onTaskSettled?(ref: C.NativeTaskRef, receipt: C.SettlementReceipt): void;
|
|
65
|
+
createRunner(context: FakeRunnerContext, intent: C.AgentIntent): FakeExecution;
|
|
66
|
+
};
|
|
67
|
+
/** Reads only history bound by the admitted runner, never a caller-selected session. */
|
|
68
|
+
export declare function taskTranscriptSource(task: TaskLease): C.Result<{
|
|
69
|
+
session: TaskTranscriptSource;
|
|
70
|
+
taskId: C.TaskId;
|
|
71
|
+
}, C.Failure<"UnknownTask" | "TranscriptUnavailable">>;
|
|
72
|
+
export declare class TaskSubscription {
|
|
73
|
+
#private;
|
|
74
|
+
/** Reconciliation supplements the RFC snapshot/cursor/iterable contract. */
|
|
75
|
+
onReconcile: (snapshot: C.OwnerSnapshot) => void;
|
|
76
|
+
readonly events: AsyncIterable<C.NativeEvent>;
|
|
77
|
+
readonly lease: SubscriptionLease;
|
|
78
|
+
constructor(actor: native.TaskSupervisor, initial: native.NativeTaskSubscription, onDispose: () => void);
|
|
79
|
+
get snapshot(): C.OwnerSnapshot;
|
|
80
|
+
get cursor(): C.Cursor;
|
|
81
|
+
/** Consumer exceptions are observable without breaking the native wake or fallback poll. */
|
|
82
|
+
get failure(): Error | undefined;
|
|
83
|
+
/** Callback payloads are authentic hints; only the journal/snapshot is authoritative. */
|
|
84
|
+
wake(_hint: native.NativeEvent): void;
|
|
85
|
+
drain(): void;
|
|
86
|
+
dispose(clear?: boolean): void;
|
|
87
|
+
}
|
|
88
|
+
export declare class TaskSupervisor {
|
|
89
|
+
#private;
|
|
90
|
+
bindHostSession(binding: TrustedTaskHost): HostSession;
|
|
91
|
+
openTaskOwner(host: HostSession, scope: C.OwnerScope): C.Result<OwnerLease, C.OwnerError>;
|
|
92
|
+
startCommandTask(owner: OwnerLease, intent: C.CommandIntent, operation: C.OperationId): Promise<C.Result<TaskLease, C.StartFailure>>;
|
|
93
|
+
taskStdin(task: TaskLease): C.Result<StdinLease, C.InputError>;
|
|
94
|
+
writeTaskInput(input: StdinLease, operation: C.OperationId, data: C.InputData): Promise<C.Result<C.InputReceipt, C.InputError>>;
|
|
95
|
+
readTaskOutput(task: TaskLease, range: C.OutputRange): Promise<C.Result<C.OutputPage, C.OutputError>>;
|
|
96
|
+
startAgentTask(owner: OwnerLease, intent: C.AgentIntent, operation: C.OperationId, schedule?: (dispatch: () => Promise<void>) => void): Promise<C.Result<TaskLease, C.StartFailure>>;
|
|
97
|
+
taskReference(task: TaskLease): C.NativeTaskRef;
|
|
98
|
+
waitForTask(task: TaskLease, budgetMs?: number, designation?: HostSession): Promise<C.Result<C.WaitOutcome, C.WaitError>>;
|
|
99
|
+
/** Resolve only a task admitted under this live owner; IDs alone confer no authority. */
|
|
100
|
+
lookupTask(owner: OwnerLease, taskId: C.TaskId): C.Result<TaskLease, C.WaitError>;
|
|
101
|
+
waitForTaskId(owner: OwnerLease, taskId: C.TaskId, budgetMs?: number): Promise<C.Result<C.WaitOutcome, C.WaitError>>;
|
|
102
|
+
foregroundTask(task: TaskLease, budgetMs?: number): Promise<C.Result<C.WaitOutcome, C.ForegroundError>>;
|
|
103
|
+
waitId(wait: WaitLease): C.WaitId;
|
|
104
|
+
findWait(id: C.WaitId): WaitLease | undefined;
|
|
105
|
+
observeTaskWait(wait: WaitLease): Promise<C.Result<C.WaitOutcome, C.WaitError>>;
|
|
106
|
+
yieldTaskWait(wait: WaitLease, reason: C.YieldReason): C.Result<C.WaitOutcome, C.YieldError>;
|
|
107
|
+
disposeTaskWait(wait: WaitLease): C.Result<void, C.WaitError>;
|
|
108
|
+
initialObservation(task: TaskLease, policy?: C.WaitPolicy, onRegistered?: (wait: WaitLease) => void): Promise<C.Result<C.WaitOutcome, C.WaitError>>;
|
|
109
|
+
cancelTask(task: TaskLease, cause: C.CancelCause): Promise<C.Result<C.CancelReceipt, C.CancelError>>;
|
|
110
|
+
closeTaskOwner(owner: OwnerLease, cause: C.OwnerCloseCause): Promise<C.Result<C.OwnerCloseReceipt, C.CloseError>>;
|
|
111
|
+
/**
|
|
112
|
+
* The bounded stream carries only authentic deltas. Overflow/native reset publishes
|
|
113
|
+
* snapshot/cursor then ends the current iterator, even with no surviving delta.
|
|
114
|
+
* Reconcile on completion; obtain a new iterator on the same events iterable to
|
|
115
|
+
* continue observing. Apply snapshots first and ignore deltas at/below their cursor.
|
|
116
|
+
* onReconcile is optional; consumer failures never disable the fallback poll.
|
|
117
|
+
*/
|
|
118
|
+
watchOwnerTasks(owner: OwnerLease, from?: C.Cursor): C.Result<TaskSubscription, C.WatchError>;
|
|
119
|
+
}
|
|
120
|
+
export {};
|
|
121
|
+
//# sourceMappingURL=supervisor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/core/tasks/supervisor.ts"],"names":[],"mappings":"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"}
|