@bubblebrain-ai/bubble 0.0.63 → 0.0.64
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 +437 -11
- package/dist/agent/abort-errors.d.ts +18 -0
- package/dist/agent/abort-errors.js +51 -0
- package/dist/agent/budget-ledger.d.ts +20 -0
- package/dist/agent/budget-ledger.js +45 -0
- package/dist/agent/categories.d.ts +100 -0
- package/dist/agent/categories.js +203 -0
- package/dist/agent/change-tracker.d.ts +40 -0
- package/dist/agent/change-tracker.js +89 -0
- package/dist/agent/child-runner.d.ts +64 -0
- package/dist/agent/child-runner.js +405 -0
- package/dist/agent/input-controller.d.ts +14 -0
- package/dist/agent/input-controller.js +43 -0
- package/dist/agent/internal-reminder-sanitizer.d.ts +25 -0
- package/dist/agent/internal-reminder-sanitizer.js +297 -0
- package/dist/agent/profiles.d.ts +76 -0
- package/dist/agent/profiles.js +526 -0
- package/dist/agent/provider-fingerprint.d.ts +6 -0
- package/dist/agent/provider-fingerprint.js +89 -0
- package/dist/agent/resident-history.d.ts +7 -0
- package/dist/agent/resident-history.js +61 -0
- package/dist/agent/result-integrator.d.ts +22 -0
- package/dist/agent/result-integrator.js +50 -0
- package/dist/agent/routing-catalog.d.ts +131 -0
- package/dist/agent/routing-catalog.js +260 -0
- package/dist/agent/structured-output.d.ts +37 -0
- package/dist/agent/structured-output.js +193 -0
- package/dist/agent/subagent/router.d.ts +65 -0
- package/dist/agent/subagent/router.js +203 -0
- package/dist/agent/subagent/runtime.d.ts +235 -0
- package/dist/agent/subagent/runtime.js +835 -0
- package/dist/agent/subagent-control.d.ts +100 -0
- package/dist/agent/subagent-control.js +70 -0
- package/dist/agent/subagent-lifecycle-reminder.d.ts +3 -0
- package/dist/agent/subagent-lifecycle-reminder.js +112 -0
- package/dist/agent/subagent-route-format.d.ts +8 -0
- package/dist/agent/subagent-route-format.js +18 -0
- package/dist/agent/subagent-scheduler.d.ts +105 -0
- package/dist/agent/subagent-scheduler.js +287 -0
- package/dist/agent/subagent-store.d.ts +57 -0
- package/dist/agent/subagent-store.js +180 -0
- package/dist/agent/subagent-summary.d.ts +30 -0
- package/dist/agent/subagent-summary.js +74 -0
- package/dist/agent/subagent-wait-guidance.d.ts +2 -0
- package/dist/agent/subagent-wait-guidance.js +8 -0
- package/dist/agent/subtask-policy.d.ts +13 -0
- package/dist/agent/subtask-policy.js +56 -0
- package/dist/agent/task-lifecycle-reminder.d.ts +26 -0
- package/dist/agent/task-lifecycle-reminder.js +59 -0
- package/dist/agent/tool-intent.d.ts +45 -0
- package/dist/agent/tool-intent.js +318 -0
- package/dist/agent/tool-visibility.d.ts +10 -0
- package/dist/agent/tool-visibility.js +6 -0
- package/dist/agent/transcript-helpers.d.ts +20 -0
- package/dist/agent/transcript-helpers.js +63 -0
- package/dist/agent/update-queue.d.ts +13 -0
- package/dist/agent/update-queue.js +69 -0
- package/dist/agent/workflow/control.d.ts +60 -0
- package/dist/agent/workflow/control.js +62 -0
- package/dist/agent/workflow/errors.d.ts +16 -0
- package/dist/agent/workflow/errors.js +24 -0
- package/dist/agent/workflow/runs.d.ts +73 -0
- package/dist/agent/workflow/runs.js +160 -0
- package/dist/agent/workflow/runtime.d.ts +88 -0
- package/dist/agent/workflow/runtime.js +319 -0
- package/dist/agent/worktree.d.ts +29 -0
- package/dist/agent/worktree.js +73 -0
- package/dist/agent.d.ts +460 -0
- package/dist/agent.js +2210 -0
- package/dist/anthropic-thinking.d.ts +4 -0
- package/dist/anthropic-thinking.js +11 -0
- package/dist/approval/controller.d.ts +71 -0
- package/dist/approval/controller.js +286 -0
- package/dist/approval/danger.d.ts +13 -0
- package/dist/approval/danger.js +55 -0
- package/dist/approval/diff-hunks.d.ts +12 -0
- package/dist/approval/diff-hunks.js +32 -0
- package/dist/approval/protected-paths.d.ts +1 -0
- package/dist/approval/protected-paths.js +35 -0
- package/dist/approval/session-cache.d.ts +21 -0
- package/dist/approval/session-cache.js +38 -0
- package/dist/approval/tool-helper.d.ts +14 -0
- package/dist/approval/tool-helper.js +47 -0
- package/dist/approval/types.d.ts +146 -0
- package/dist/approval/types.js +8 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +3 -0
- package/dist/bubble-home.d.ts +8 -0
- package/dist/bubble-home.js +19 -0
- package/dist/checkpoints.d.ts +57 -0
- package/dist/checkpoints.js +0 -0
- package/dist/cli.d.ts +37 -0
- package/dist/cli.js +175 -0
- package/dist/clipboard.d.ts +14 -0
- package/dist/clipboard.js +132 -0
- package/dist/config.d.ts +96 -0
- package/dist/config.js +287 -0
- package/dist/context/budget.d.ts +28 -0
- package/dist/context/budget.js +130 -0
- package/dist/context/checkpoint.d.ts +18 -0
- package/dist/context/checkpoint.js +117 -0
- package/dist/context/compact-llm.d.ts +25 -0
- package/dist/context/compact-llm.js +175 -0
- package/dist/context/compact.d.ts +124 -0
- package/dist/context/compact.js +635 -0
- package/dist/context/compaction-files.d.ts +44 -0
- package/dist/context/compaction-files.js +148 -0
- package/dist/context/llm-compactor.d.ts +53 -0
- package/dist/context/llm-compactor.js +424 -0
- package/dist/context/overflow.d.ts +9 -0
- package/dist/context/overflow.js +50 -0
- package/dist/context/projector.d.ts +34 -0
- package/dist/context/projector.js +251 -0
- package/dist/context/prune.d.ts +26 -0
- package/dist/context/prune.js +171 -0
- package/dist/context/session-write-lock.d.ts +20 -0
- package/dist/context/session-write-lock.js +162 -0
- package/dist/context/token-estimator.d.ts +14 -0
- package/dist/context/token-estimator.js +106 -0
- package/dist/context/tool-images.d.ts +3 -0
- package/dist/context/tool-images.js +35 -0
- package/dist/context/tool-output-truncate.d.ts +24 -0
- package/dist/context/tool-output-truncate.js +181 -0
- package/dist/context/usage.d.ts +34 -0
- package/dist/context/usage.js +230 -0
- package/dist/debug-trace.d.ts +27 -0
- package/dist/debug-trace.js +401 -0
- package/dist/diff-stats.d.ts +5 -0
- package/dist/diff-stats.js +21 -0
- package/dist/external-runtime/grok-acp.d.ts +56 -0
- package/dist/external-runtime/grok-acp.js +386 -0
- package/dist/external-runtime/grok-binary.d.ts +25 -0
- package/dist/external-runtime/grok-binary.js +108 -0
- package/dist/external-runtime/grok-errors.d.ts +7 -0
- package/dist/external-runtime/grok-errors.js +15 -0
- package/dist/external-runtime/grok-input-policy.d.ts +58 -0
- package/dist/external-runtime/grok-input-policy.js +52 -0
- package/dist/external-runtime/grok-ndjson.d.ts +14 -0
- package/dist/external-runtime/grok-ndjson.js +193 -0
- package/dist/external-runtime/grok-network.d.ts +15 -0
- package/dist/external-runtime/grok-network.js +81 -0
- package/dist/external-runtime/grok-preflight.d.ts +28 -0
- package/dist/external-runtime/grok-preflight.js +194 -0
- package/dist/external-runtime/grok-process.d.ts +26 -0
- package/dist/external-runtime/grok-process.js +184 -0
- package/dist/external-runtime/grok-profile.d.ts +32 -0
- package/dist/external-runtime/grok-profile.js +419 -0
- package/dist/external-runtime/grok-provider.d.ts +31 -0
- package/dist/external-runtime/grok-provider.js +41 -0
- package/dist/external-runtime/grok-runtime.d.ts +91 -0
- package/dist/external-runtime/grok-runtime.js +882 -0
- package/dist/external-runtime/index.d.ts +13 -0
- package/dist/external-runtime/index.js +13 -0
- package/dist/external-runtime/session-policy.d.ts +11 -0
- package/dist/external-runtime/session-policy.js +30 -0
- package/dist/external-runtime/types.d.ts +65 -0
- package/dist/external-runtime/types.js +1 -0
- package/dist/feedback/collect.d.ts +7 -0
- package/dist/feedback/collect.js +119 -0
- package/dist/feedback/config.d.ts +14 -0
- package/dist/feedback/config.js +16 -0
- package/dist/feedback/redact.d.ts +1 -0
- package/dist/feedback/redact.js +25 -0
- package/dist/feedback/submit.d.ts +6 -0
- package/dist/feedback/submit.js +43 -0
- package/dist/feedback/types.d.ts +22 -0
- package/dist/feedback/types.js +1 -0
- package/dist/feishu/agent-host/approval-card.d.ts +11 -0
- package/dist/feishu/agent-host/approval-card.js +85 -0
- package/dist/feishu/agent-host/approval-ui.d.ts +59 -0
- package/dist/feishu/agent-host/approval-ui.js +214 -0
- package/dist/feishu/agent-host/run-driver.d.ts +51 -0
- package/dist/feishu/agent-host/run-driver.js +397 -0
- package/dist/feishu/agent-host/runtime-deps.d.ts +33 -0
- package/dist/feishu/agent-host/runtime-deps.js +8 -0
- package/dist/feishu/card/budget.d.ts +40 -0
- package/dist/feishu/card/budget.js +134 -0
- package/dist/feishu/card/renderer.d.ts +29 -0
- package/dist/feishu/card/renderer.js +245 -0
- package/dist/feishu/card/run-state-types.d.ts +49 -0
- package/dist/feishu/card/run-state-types.js +15 -0
- package/dist/feishu/card/run-state.d.ts +21 -0
- package/dist/feishu/card/run-state.js +223 -0
- package/dist/feishu/channel/channel.d.ts +52 -0
- package/dist/feishu/channel/channel.js +74 -0
- package/dist/feishu/config.d.ts +24 -0
- package/dist/feishu/config.js +97 -0
- package/dist/feishu/format.d.ts +6 -0
- package/dist/feishu/format.js +14 -0
- package/dist/feishu/index.d.ts +4 -0
- package/dist/feishu/index.js +4 -0
- package/dist/feishu/logger.d.ts +31 -0
- package/dist/feishu/logger.js +62 -0
- package/dist/feishu/paths.d.ts +12 -0
- package/dist/feishu/paths.js +38 -0
- package/dist/feishu/process-registry.d.ts +29 -0
- package/dist/feishu/process-registry.js +90 -0
- package/dist/feishu/router/commands.d.ts +38 -0
- package/dist/feishu/router/commands.js +286 -0
- package/dist/feishu/router/event-router.d.ts +40 -0
- package/dist/feishu/router/event-router.js +208 -0
- package/dist/feishu/router/whitelist.d.ts +23 -0
- package/dist/feishu/router/whitelist.js +20 -0
- package/dist/feishu/runtime/active-runs.d.ts +32 -0
- package/dist/feishu/runtime/active-runs.js +84 -0
- package/dist/feishu/runtime/pending-queue.d.ts +36 -0
- package/dist/feishu/runtime/pending-queue.js +98 -0
- package/dist/feishu/runtime/process-pool.d.ts +29 -0
- package/dist/feishu/runtime/process-pool.js +49 -0
- package/dist/feishu/schema.d.ts +17 -0
- package/dist/feishu/schema.js +252 -0
- package/dist/feishu/scope/scope-registry.d.ts +39 -0
- package/dist/feishu/scope/scope-registry.js +148 -0
- package/dist/feishu/scope/session-binder.d.ts +44 -0
- package/dist/feishu/scope/session-binder.js +100 -0
- package/dist/feishu/scope/session-store.d.ts +24 -0
- package/dist/feishu/scope/session-store.js +73 -0
- package/dist/feishu/secrets.d.ts +37 -0
- package/dist/feishu/secrets.js +129 -0
- package/dist/feishu/serve.d.ts +12 -0
- package/dist/feishu/serve.js +302 -0
- package/dist/feishu/types.d.ts +75 -0
- package/dist/feishu/types.js +23 -0
- package/dist/feishu/wizard.d.ts +24 -0
- package/dist/feishu/wizard.js +121 -0
- package/dist/goal/command.d.ts +20 -0
- package/dist/goal/command.js +76 -0
- package/dist/goal/engine.d.ts +33 -0
- package/dist/goal/engine.js +65 -0
- package/dist/goal/format.d.ts +18 -0
- package/dist/goal/format.js +112 -0
- package/dist/goal/prompts.d.ts +13 -0
- package/dist/goal/prompts.js +84 -0
- package/dist/goal/store.d.ts +64 -0
- package/dist/goal/store.js +174 -0
- package/dist/goal/tools.d.ts +13 -0
- package/dist/goal/tools.js +67 -0
- package/dist/goal/usage.d.ts +2 -0
- package/dist/goal/usage.js +3 -0
- package/dist/hooks/config.d.ts +9 -0
- package/dist/hooks/config.js +278 -0
- package/dist/hooks/controller.d.ts +24 -0
- package/dist/hooks/controller.js +254 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/log.d.ts +14 -0
- package/dist/hooks/log.js +54 -0
- package/dist/hooks/runner.d.ts +5 -0
- package/dist/hooks/runner.js +225 -0
- package/dist/hooks/trust.d.ts +37 -0
- package/dist/hooks/trust.js +143 -0
- package/dist/hooks/types.d.ts +173 -0
- package/dist/hooks/types.js +46 -0
- package/dist/loop/engine.d.ts +29 -0
- package/dist/loop/engine.js +63 -0
- package/dist/lsp/config.d.ts +18 -0
- package/dist/lsp/config.js +58 -0
- package/dist/lsp/diagnostics.d.ts +24 -0
- package/dist/lsp/diagnostics.js +103 -0
- package/dist/lsp/index.d.ts +3 -0
- package/dist/lsp/index.js +3 -0
- package/dist/lsp/service.d.ts +97 -0
- package/dist/lsp/service.js +815 -0
- package/dist/main.d.ts +5 -0
- package/dist/main.js +984 -0
- package/dist/mcp/client.d.ts +68 -0
- package/dist/mcp/client.js +177 -0
- package/dist/mcp/config.d.ts +30 -0
- package/dist/mcp/config.js +144 -0
- package/dist/mcp/manager.d.ts +67 -0
- package/dist/mcp/manager.js +328 -0
- package/dist/mcp/name.d.ts +26 -0
- package/dist/mcp/name.js +40 -0
- package/dist/mcp/transports.d.ts +54 -0
- package/dist/mcp/transports.js +267 -0
- package/dist/mcp/types.d.ts +111 -0
- package/dist/mcp/types.js +14 -0
- package/dist/memory/db.d.ts +65 -0
- package/dist/memory/db.js +332 -0
- package/dist/memory/index.d.ts +10 -0
- package/dist/memory/index.js +10 -0
- package/dist/memory/paths.d.ts +18 -0
- package/dist/memory/paths.js +38 -0
- package/dist/memory/phase1.d.ts +23 -0
- package/dist/memory/phase1.js +292 -0
- package/dist/memory/phase2.d.ts +19 -0
- package/dist/memory/phase2.js +119 -0
- package/dist/memory/prompts.d.ts +19 -0
- package/dist/memory/prompts.js +104 -0
- package/dist/memory/reset.d.ts +1 -0
- package/dist/memory/reset.js +13 -0
- package/dist/memory/session-policy.d.ts +25 -0
- package/dist/memory/session-policy.js +55 -0
- package/dist/memory/start.d.ts +24 -0
- package/dist/memory/start.js +50 -0
- package/dist/memory/storage.d.ts +11 -0
- package/dist/memory/storage.js +95 -0
- package/dist/memory/store.d.ts +43 -0
- package/dist/memory/store.js +193 -0
- package/dist/memory/usage.d.ts +1 -0
- package/dist/memory/usage.js +38 -0
- package/dist/model-catalog.d.ts +65 -0
- package/dist/model-catalog.js +387 -0
- package/dist/model-config.d.ts +40 -0
- package/dist/model-config.js +74 -0
- package/dist/model-data.generated.d.ts +16 -0
- package/dist/model-data.generated.js +275 -0
- package/dist/model-pricing.d.ts +54 -0
- package/dist/model-pricing.js +244 -0
- package/dist/model-selection.d.ts +7 -0
- package/dist/model-selection.js +18 -0
- package/dist/network/chatgpt-transport.d.ts +16 -0
- package/dist/network/chatgpt-transport.js +232 -0
- package/dist/network/errors.d.ts +47 -0
- package/dist/network/errors.js +48 -0
- package/dist/network/provider-transport-log.d.ts +12 -0
- package/dist/network/provider-transport-log.js +32 -0
- package/dist/network/provider-transport.d.ts +37 -0
- package/dist/network/provider-transport.js +256 -0
- package/dist/network/retry.d.ts +34 -0
- package/dist/network/retry.js +97 -0
- package/dist/network/system-proxy.d.ts +18 -0
- package/dist/network/system-proxy.js +175 -0
- package/dist/oauth/grok.d.ts +26 -0
- package/dist/oauth/grok.js +251 -0
- package/dist/oauth/index.d.ts +4 -0
- package/dist/oauth/index.js +3 -0
- package/dist/oauth/openai-codex.d.ts +15 -0
- package/dist/oauth/openai-codex.js +193 -0
- package/dist/oauth/refresh-control.d.ts +12 -0
- package/dist/oauth/refresh-control.js +42 -0
- package/dist/oauth/storage.d.ts +88 -0
- package/dist/oauth/storage.js +357 -0
- package/dist/oauth/types.d.ts +15 -0
- package/dist/oauth/types.js +1 -0
- package/dist/orchestrator/default-hooks.d.ts +22 -0
- package/dist/orchestrator/default-hooks.js +127 -0
- package/dist/orchestrator/hooks.d.ts +69 -0
- package/dist/orchestrator/hooks.js +52 -0
- package/dist/permission/mode.d.ts +19 -0
- package/dist/permission/mode.js +16 -0
- package/dist/permissions/rule.d.ts +42 -0
- package/dist/permissions/rule.js +293 -0
- package/dist/permissions/settings.d.ts +97 -0
- package/dist/permissions/settings.js +289 -0
- package/dist/permissions/shell-command.d.ts +36 -0
- package/dist/permissions/shell-command.js +226 -0
- package/dist/permissions/trust-prompt.d.ts +10 -0
- package/dist/permissions/trust-prompt.js +34 -0
- package/dist/permissions/trust.d.ts +26 -0
- package/dist/permissions/trust.js +113 -0
- package/dist/permissions/types.d.ts +61 -0
- package/dist/permissions/types.js +14 -0
- package/dist/print-output.d.ts +98 -0
- package/dist/print-output.js +117 -0
- package/dist/prompt/compose.d.ts +19 -0
- package/dist/prompt/compose.js +110 -0
- package/dist/prompt/delegation.d.ts +14 -0
- package/dist/prompt/delegation.js +100 -0
- package/dist/prompt/environment.d.ts +12 -0
- package/dist/prompt/environment.js +55 -0
- package/dist/prompt/provider-prompts/anthropic.d.ts +1 -0
- package/dist/prompt/provider-prompts/anthropic.js +5 -0
- package/dist/prompt/provider-prompts/codex.d.ts +1 -0
- package/dist/prompt/provider-prompts/codex.js +5 -0
- package/dist/prompt/provider-prompts/deepseek.d.ts +1 -0
- package/dist/prompt/provider-prompts/deepseek.js +7 -0
- package/dist/prompt/provider-prompts/default.d.ts +1 -0
- package/dist/prompt/provider-prompts/default.js +6 -0
- package/dist/prompt/provider-prompts/gemini.d.ts +1 -0
- package/dist/prompt/provider-prompts/gemini.js +5 -0
- package/dist/prompt/provider-prompts/glm.d.ts +1 -0
- package/dist/prompt/provider-prompts/glm.js +7 -0
- package/dist/prompt/provider-prompts/gpt.d.ts +1 -0
- package/dist/prompt/provider-prompts/gpt.js +5 -0
- package/dist/prompt/provider-prompts/kimi.d.ts +1 -0
- package/dist/prompt/provider-prompts/kimi.js +8 -0
- package/dist/prompt/reminders.d.ts +33 -0
- package/dist/prompt/reminders.js +135 -0
- package/dist/prompt/routing.d.ts +14 -0
- package/dist/prompt/routing.js +71 -0
- package/dist/prompt/runtime.d.ts +12 -0
- package/dist/prompt/runtime.js +40 -0
- package/dist/prompt/task-reminders.d.ts +12 -0
- package/dist/prompt/task-reminders.js +64 -0
- package/dist/provider-ai-sdk.d.ts +59 -0
- package/dist/provider-ai-sdk.js +541 -0
- package/dist/provider-anthropic.d.ts +126 -0
- package/dist/provider-anthropic.js +940 -0
- package/dist/provider-ark-responses.d.ts +29 -0
- package/dist/provider-ark-responses.js +518 -0
- package/dist/provider-artifacts.d.ts +7 -0
- package/dist/provider-artifacts.js +60 -0
- package/dist/provider-error-record.d.ts +43 -0
- package/dist/provider-error-record.js +213 -0
- package/dist/provider-grok.d.ts +50 -0
- package/dist/provider-grok.js +110 -0
- package/dist/provider-model-policy.d.ts +16 -0
- package/dist/provider-model-policy.js +33 -0
- package/dist/provider-openai-codex.d.ts +66 -0
- package/dist/provider-openai-codex.js +781 -0
- package/dist/provider-registry.d.ts +197 -0
- package/dist/provider-registry.js +1194 -0
- package/dist/provider-transform.d.ts +12 -0
- package/dist/provider-transform.js +293 -0
- package/dist/provider-zen-errors.d.ts +9 -0
- package/dist/provider-zen-errors.js +36 -0
- package/dist/provider.d.ts +85 -0
- package/dist/provider.js +925 -0
- package/dist/question/controller.d.ts +22 -0
- package/dist/question/controller.js +98 -0
- package/dist/question/index.d.ts +2 -0
- package/dist/question/index.js +2 -0
- package/dist/question/normalize.d.ts +6 -0
- package/dist/question/normalize.js +11 -0
- package/dist/question/types.d.ts +42 -0
- package/dist/question/types.js +6 -0
- package/dist/reasoning-debug.d.ts +7 -0
- package/dist/reasoning-debug.js +33 -0
- package/dist/rewind.d.ts +20 -0
- package/dist/rewind.js +29 -0
- package/dist/sdk/index.d.ts +319 -0
- package/dist/sdk/index.js +1068 -0
- package/dist/sdk/replay-event-log.d.ts +26 -0
- package/dist/sdk/replay-event-log.js +122 -0
- package/dist/sdk/session-turn-coordinator.d.ts +45 -0
- package/dist/sdk/session-turn-coordinator.js +227 -0
- package/dist/session-context-fence.d.ts +16 -0
- package/dist/session-context-fence.js +26 -0
- package/dist/session-log.d.ts +25 -0
- package/dist/session-log.js +444 -0
- package/dist/session-title.d.ts +16 -0
- package/dist/session-title.js +131 -0
- package/dist/session-types.d.ts +86 -0
- package/dist/session-types.js +1 -0
- package/dist/session.d.ts +135 -0
- package/dist/session.js +664 -0
- package/dist/skills/discovery.d.ts +12 -0
- package/dist/skills/discovery.js +166 -0
- package/dist/skills/format.d.ts +32 -0
- package/dist/skills/format.js +68 -0
- package/dist/skills/frontmatter.d.ts +5 -0
- package/dist/skills/frontmatter.js +60 -0
- package/dist/skills/invocation.d.ts +8 -0
- package/dist/skills/invocation.js +33 -0
- package/dist/skills/registry.d.ts +28 -0
- package/dist/skills/registry.js +79 -0
- package/dist/skills/types.d.ts +34 -0
- package/dist/skills/types.js +1 -0
- package/dist/slash-commands/commands.d.ts +10 -0
- package/dist/slash-commands/commands.js +1251 -0
- package/dist/slash-commands/feishu.d.ts +17 -0
- package/dist/slash-commands/feishu.js +400 -0
- package/dist/slash-commands/index.d.ts +4 -0
- package/dist/slash-commands/index.js +8 -0
- package/dist/slash-commands/registry.d.ts +32 -0
- package/dist/slash-commands/registry.js +73 -0
- package/dist/slash-commands/types.d.ts +109 -0
- package/dist/slash-commands/types.js +1 -0
- package/dist/slash-commands/unified.d.ts +38 -0
- package/dist/slash-commands/unified.js +38 -0
- package/dist/stats/usage.d.ts +59 -0
- package/dist/stats/usage.js +485 -0
- package/dist/stream-json.d.ts +13 -0
- package/dist/stream-json.js +74 -0
- package/dist/system-prompt.d.ts +40 -0
- package/dist/system-prompt.js +7 -0
- package/dist/tasks/manager.d.ts +145 -0
- package/dist/tasks/manager.js +634 -0
- package/dist/tasks/process-utils.d.ts +10 -0
- package/dist/tasks/process-utils.js +49 -0
- package/dist/tasks/promotion.d.ts +17 -0
- package/dist/tasks/promotion.js +30 -0
- package/dist/tasks/wake.d.ts +53 -0
- package/dist/tasks/wake.js +125 -0
- package/dist/text-display.d.ts +3 -0
- package/dist/text-display.js +25 -0
- package/dist/tools/agent-lifecycle.d.ts +30 -0
- package/dist/tools/agent-lifecycle.js +790 -0
- package/dist/tools/bash.d.ts +23 -0
- package/dist/tools/bash.js +443 -0
- package/dist/tools/child-tools.d.ts +41 -0
- package/dist/tools/child-tools.js +122 -0
- package/dist/tools/edit-apply.d.ts +25 -0
- package/dist/tools/edit-apply.js +274 -0
- package/dist/tools/edit.d.ts +18 -0
- package/dist/tools/edit.js +200 -0
- package/dist/tools/exa-mcp.d.ts +3 -0
- package/dist/tools/exa-mcp.js +74 -0
- package/dist/tools/exit-plan-mode.d.ts +22 -0
- package/dist/tools/exit-plan-mode.js +79 -0
- package/dist/tools/file-mutation-queue.d.ts +2 -0
- package/dist/tools/file-mutation-queue.js +43 -0
- package/dist/tools/file-state.d.ts +48 -0
- package/dist/tools/file-state.js +76 -0
- package/dist/tools/grep.d.ts +9 -0
- package/dist/tools/grep.js +387 -0
- package/dist/tools/index.d.ts +63 -0
- package/dist/tools/index.js +76 -0
- package/dist/tools/ls.d.ts +3 -0
- package/dist/tools/ls.js +85 -0
- package/dist/tools/lsp.d.ts +4 -0
- package/dist/tools/lsp.js +95 -0
- package/dist/tools/memory.d.ts +8 -0
- package/dist/tools/memory.js +77 -0
- package/dist/tools/path-utils.d.ts +8 -0
- package/dist/tools/path-utils.js +53 -0
- package/dist/tools/prompt-metadata.d.ts +3 -0
- package/dist/tools/prompt-metadata.js +17 -0
- package/dist/tools/question.d.ts +3 -0
- package/dist/tools/question.js +177 -0
- package/dist/tools/read.d.ts +8 -0
- package/dist/tools/read.js +309 -0
- package/dist/tools/sensitive-paths.d.ts +11 -0
- package/dist/tools/sensitive-paths.js +106 -0
- package/dist/tools/server-manager.d.ts +6 -0
- package/dist/tools/server-manager.js +6 -0
- package/dist/tools/server.d.ts +6 -0
- package/dist/tools/server.js +249 -0
- package/dist/tools/skill-search.d.ts +10 -0
- package/dist/tools/skill-search.js +134 -0
- package/dist/tools/skill.d.ts +7 -0
- package/dist/tools/skill.js +81 -0
- package/dist/tools/task-tools.d.ts +10 -0
- package/dist/tools/task-tools.js +133 -0
- package/dist/tools/tool-search.d.ts +23 -0
- package/dist/tools/tool-search.js +145 -0
- package/dist/tools/web-fetch.d.ts +6 -0
- package/dist/tools/web-fetch.js +76 -0
- package/dist/tools/web-search.d.ts +5 -0
- package/dist/tools/web-search.js +50 -0
- package/dist/tools/write.d.ts +10 -0
- package/dist/tools/write.js +155 -0
- package/dist/tui/animation-clock.d.ts +14 -0
- package/dist/tui/animation-clock.js +34 -0
- package/dist/tui/app.d.ts +176 -0
- package/dist/tui/app.js +1659 -0
- package/dist/tui/components/approval-dialog.d.ts +43 -0
- package/dist/tui/components/approval-dialog.js +212 -0
- package/dist/tui/components/bottom-sheet.d.ts +9 -0
- package/dist/tui/components/bottom-sheet.js +32 -0
- package/dist/tui/components/context-info.d.ts +54 -0
- package/dist/tui/components/context-info.js +388 -0
- package/dist/tui/components/feedback-dialog.d.ts +56 -0
- package/dist/tui/components/feedback-dialog.js +262 -0
- package/dist/tui/components/feishu-setup-dialog.d.ts +65 -0
- package/dist/tui/components/feishu-setup-dialog.js +332 -0
- package/dist/tui/components/image-preview.d.ts +32 -0
- package/dist/tui/components/image-preview.js +130 -0
- package/dist/tui/components/plan-dialog.d.ts +34 -0
- package/dist/tui/components/plan-dialog.js +196 -0
- package/dist/tui/components/provider-key-input.d.ts +18 -0
- package/dist/tui/components/provider-key-input.js +49 -0
- package/dist/tui/components/question-dialog.d.ts +25 -0
- package/dist/tui/components/question-dialog.js +263 -0
- package/dist/tui/components/responsive-transcript.d.ts +31 -0
- package/dist/tui/components/responsive-transcript.js +77 -0
- package/dist/tui/components/rewind-picker.d.ts +62 -0
- package/dist/tui/components/rewind-picker.js +317 -0
- package/dist/tui/components/session-picker.d.ts +49 -0
- package/dist/tui/components/session-picker.js +303 -0
- package/dist/tui/components/skills-panel.d.ts +63 -0
- package/dist/tui/components/skills-panel.js +582 -0
- package/dist/tui/components/stats-panel.d.ts +40 -0
- package/dist/tui/components/stats-panel.js +301 -0
- package/dist/tui/components/streaming-message.d.ts +69 -0
- package/dist/tui/components/streaming-message.js +398 -0
- package/dist/tui/components/subagent-inspector.d.ts +28 -0
- package/dist/tui/components/subagent-inspector.js +127 -0
- package/dist/tui/components/task-inspector.d.ts +26 -0
- package/dist/tui/components/task-inspector.js +70 -0
- package/dist/tui/components/tasks-pane.d.ts +126 -0
- package/dist/tui/components/tasks-pane.js +566 -0
- package/dist/tui/components/transcript.d.ts +103 -0
- package/dist/tui/components/transcript.js +858 -0
- package/dist/tui/components/welcome.d.ts +20 -0
- package/dist/tui/components/welcome.js +133 -0
- package/dist/tui/components/workflow-inspector.d.ts +30 -0
- package/dist/tui/components/workflow-inspector.js +136 -0
- package/dist/tui/composer-autocomplete.d.ts +76 -0
- package/dist/tui/composer-autocomplete.js +465 -0
- package/dist/tui/composer-style.d.ts +7 -0
- package/dist/tui/composer-style.js +29 -0
- package/dist/tui/controller/agent-event-reducer.d.ts +75 -0
- package/dist/tui/controller/agent-event-reducer.js +239 -0
- package/dist/tui/controller/composer-controller.d.ts +95 -0
- package/dist/tui/controller/composer-controller.js +502 -0
- package/dist/tui/controller/controller.d.ts +199 -0
- package/dist/tui/controller/controller.js +1034 -0
- package/dist/tui/controller/effects.d.ts +71 -0
- package/dist/tui/controller/effects.js +1 -0
- package/dist/tui/controller/goal-runtime-controller.d.ts +47 -0
- package/dist/tui/controller/goal-runtime-controller.js +202 -0
- package/dist/tui/controller/input-queue-machine.d.ts +71 -0
- package/dist/tui/controller/input-queue-machine.js +121 -0
- package/dist/tui/controller/intents.d.ts +56 -0
- package/dist/tui/controller/intents.js +6 -0
- package/dist/tui/controller/overlay-controller.d.ts +64 -0
- package/dist/tui/controller/overlay-controller.js +129 -0
- package/dist/tui/controller/ports.d.ts +57 -0
- package/dist/tui/controller/ports.js +9 -0
- package/dist/tui/controller/session-transition.d.ts +54 -0
- package/dist/tui/controller/session-transition.js +68 -0
- package/dist/tui/controller/state.d.ts +14 -0
- package/dist/tui/controller/state.js +36 -0
- package/dist/tui/controller/task-runtime-controller.d.ts +66 -0
- package/dist/tui/controller/task-runtime-controller.js +158 -0
- package/dist/tui/detect-theme.d.ts +4 -0
- package/dist/tui/detect-theme.js +116 -0
- package/dist/tui/display-history.d.ts +64 -0
- package/dist/tui/display-history.js +283 -0
- package/dist/tui/display-sanitizer.d.ts +3 -0
- package/dist/tui/display-sanitizer.js +38 -0
- package/dist/tui/edit-diff.d.ts +11 -0
- package/dist/tui/edit-diff.js +57 -0
- package/dist/tui/file-mentions.d.ts +29 -0
- package/dist/tui/file-mentions.js +174 -0
- package/dist/tui/footer.d.ts +37 -0
- package/dist/tui/footer.js +80 -0
- package/dist/tui/formatting/edit-diff.d.ts +11 -0
- package/dist/tui/formatting/edit-diff.js +52 -0
- package/dist/tui/formatting/summary.d.ts +43 -0
- package/dist/tui/formatting/summary.js +150 -0
- package/dist/tui/fullscreen.d.ts +48 -0
- package/dist/tui/fullscreen.js +256 -0
- package/dist/tui/image-display.d.ts +23 -0
- package/dist/tui/image-display.js +92 -0
- package/dist/tui/image-paste.d.ts +113 -0
- package/dist/tui/image-paste.js +565 -0
- package/dist/tui/input-history.d.ts +47 -0
- package/dist/tui/input-history.js +250 -0
- package/dist/tui/markdown-style.d.ts +5 -0
- package/dist/tui/markdown-style.js +23 -0
- package/dist/tui/model/composer-buffer.d.ts +55 -0
- package/dist/tui/model/composer-buffer.js +317 -0
- package/dist/tui/model/composer-types.d.ts +17 -0
- package/dist/tui/model/composer-types.js +1 -0
- package/dist/tui/model/display-history.d.ts +78 -0
- package/dist/tui/model/display-history.js +124 -0
- package/dist/tui/model/display-reconstruct.d.ts +3 -0
- package/dist/tui/model/display-reconstruct.js +130 -0
- package/dist/tui/model/file-mentions.d.ts +31 -0
- package/dist/tui/model/file-mentions.js +178 -0
- package/dist/tui/model/image-attachment.d.ts +15 -0
- package/dist/tui/model/image-attachment.js +1 -0
- package/dist/tui/model/image-paste.d.ts +119 -0
- package/dist/tui/model/image-paste.js +610 -0
- package/dist/tui/model/input-history.d.ts +1 -0
- package/dist/tui/model/input-history.js +1 -0
- package/dist/tui/model/input-queue.d.ts +12 -0
- package/dist/tui/model/input-queue.js +17 -0
- package/dist/tui/model/key-events.d.ts +9 -0
- package/dist/tui/model/key-events.js +8 -0
- package/dist/tui/model/paste-operation-tracker.d.ts +13 -0
- package/dist/tui/model/paste-operation-tracker.js +25 -0
- package/dist/tui/model/recent-activity.d.ts +8 -0
- package/dist/tui/model/recent-activity.js +71 -0
- package/dist/tui/model/subagent-view.d.ts +87 -0
- package/dist/tui/model/subagent-view.js +336 -0
- package/dist/tui/model/submit-dedupe.d.ts +5 -0
- package/dist/tui/model/submit-dedupe.js +25 -0
- package/dist/tui/model/sync-output.d.ts +17 -0
- package/dist/tui/model/sync-output.js +35 -0
- package/dist/tui/model/task-lifecycle.d.ts +57 -0
- package/dist/tui/model/task-lifecycle.js +124 -0
- package/dist/tui/model/terminal-env.d.ts +15 -0
- package/dist/tui/model/terminal-env.js +22 -0
- package/dist/tui/model/terminal-mouse.d.ts +28 -0
- package/dist/tui/model/terminal-mouse.js +82 -0
- package/dist/tui/model/theme-style.d.ts +10 -0
- package/dist/tui/model/theme-style.js +79 -0
- package/dist/tui/model/theme.d.ts +72 -0
- package/dist/tui/model/theme.js +121 -0
- package/dist/tui/model/trace-groups.d.ts +45 -0
- package/dist/tui/model/trace-groups.js +558 -0
- package/dist/tui/model/trace-interaction.d.ts +63 -0
- package/dist/tui/model/trace-interaction.js +87 -0
- package/dist/tui/model/width.d.ts +18 -0
- package/dist/tui/model/width.js +130 -0
- package/dist/tui/model-picker-data.d.ts +9 -0
- package/dist/tui/model-picker-data.js +39 -0
- package/dist/tui/model-switch.d.ts +49 -0
- package/dist/tui/model-switch.js +67 -0
- package/dist/tui/paste-placeholder.d.ts +11 -0
- package/dist/tui/paste-placeholder.js +52 -0
- package/dist/tui/recent-activity.d.ts +8 -0
- package/dist/tui/recent-activity.js +71 -0
- package/dist/tui/run-session-picker.d.ts +9 -0
- package/dist/tui/run-session-picker.js +64 -0
- package/dist/tui/run.d.ts +72 -0
- package/dist/tui/run.js +139 -0
- package/dist/tui/session-display.d.ts +6 -0
- package/dist/tui/session-display.js +12 -0
- package/dist/tui/session-picker-data.d.ts +18 -0
- package/dist/tui/session-picker-data.js +21 -0
- package/dist/tui/terminal/multiplexer.d.ts +5 -0
- package/dist/tui/terminal/multiplexer.js +14 -0
- package/dist/tui/testing/fake-agent.d.ts +24 -0
- package/dist/tui/testing/fake-agent.js +22 -0
- package/dist/tui/testing/spy-host.d.ts +21 -0
- package/dist/tui/testing/spy-host.js +55 -0
- package/dist/tui/trace-groups.d.ts +43 -0
- package/dist/tui/trace-groups.js +554 -0
- package/dist/tui/wordmark.d.ts +18 -0
- package/dist/tui/wordmark.js +208 -0
- package/dist/types.d.ts +503 -0
- package/dist/types.js +4 -0
- package/dist/update/index.d.ts +61 -0
- package/dist/update/index.js +267 -0
- package/dist/variant/thinking-level.d.ts +5 -0
- package/dist/variant/thinking-level.js +26 -0
- package/dist/variant/variant-resolver.d.ts +28 -0
- package/dist/variant/variant-resolver.js +62 -0
- package/node_modules/@bubblebrain-ai/pi-tui/LICENSE +21 -0
- package/node_modules/@bubblebrain-ai/pi-tui/README.md +854 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/alt-screen-search.d.ts +26 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/alt-screen-search.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/alt-screen-search.js +121 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/alt-screen-search.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/autocomplete.d.ts +86 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/autocomplete.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/autocomplete.js +649 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/autocomplete.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/alt-screen-flash.d.ts +13 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/alt-screen-flash.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/alt-screen-flash.js +36 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/alt-screen-flash.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/box.d.ts +22 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/box.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/box.js +99 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/box.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/cancellable-loader.d.ts +22 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/cancellable-loader.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/cancellable-loader.js +36 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/cancellable-loader.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/editor.d.ts +330 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/editor.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/editor.js +2344 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/editor.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/h-stack.d.ts +7 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/h-stack.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/h-stack.js +43 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/h-stack.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/image.d.ts +28 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/image.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/image.js +82 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/image.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/input.d.ts +48 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/input.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/input.js +390 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/input.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/loader.d.ts +31 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/loader.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/loader.js +67 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/loader.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/markdown.d.ts +103 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/markdown.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/markdown.js +797 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/markdown.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/scroll-view.d.ts +56 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/scroll-view.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/scroll-view.js +179 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/scroll-view.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/select-list.d.ts +53 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/select-list.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/select-list.js +175 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/select-list.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/settings-list.d.ts +50 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/settings-list.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/settings-list.js +174 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/settings-list.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/spacer.d.ts +12 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/spacer.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/spacer.js +22 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/spacer.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/stack.d.ts +32 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/stack.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/stack.js +109 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/stack.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/text.d.ts +19 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/text.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/text.js +81 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/text.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/truncated-text.d.ts +13 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/truncated-text.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/truncated-text.js +48 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/truncated-text.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/v-stack.d.ts +8 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/v-stack.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/v-stack.js +26 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/components/v-stack.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/editor-component.d.ts +39 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/editor-component.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/editor-component.js +2 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/editor-component.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/fuzzy.d.ts +16 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/fuzzy.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/fuzzy.js +110 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/fuzzy.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/index.d.ts +31 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/index.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/index.js +42 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/index.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keybindings.d.ts +273 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keybindings.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keybindings.js +231 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keybindings.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keys.d.ts +184 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keys.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keys.js +1174 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/keys.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/kill-ring.d.ts +28 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/kill-ring.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/kill-ring.js +46 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/kill-ring.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/latex.d.ts +10 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/latex.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/latex.js +1268 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/latex.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout-node.d.ts +40 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout-node.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout-node.js +6 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout-node.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout.d.ts +42 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout.js +335 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/layout.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/native-modifiers.d.ts +3 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/native-modifiers.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/native-modifiers.js +60 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/native-modifiers.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/stdin-buffer.d.ts +56 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/stdin-buffer.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/stdin-buffer.js +363 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/stdin-buffer.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-colors.d.ts +10 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-colors.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-colors.js +59 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-colors.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-image.d.ts +116 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-image.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-image.js +518 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal-image.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal.d.ts +142 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal.js +544 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/terminal.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/testing.d.ts +11 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/testing.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/testing.js +11 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/testing.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-alt-screen.d.ts +141 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-alt-screen.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-alt-screen.js +1340 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-alt-screen.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-main-screen.d.ts +39 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-main-screen.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-main-screen.js +536 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui-main-screen.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui.d.ts +340 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui.js +1020 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/tui.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/undo-stack.d.ts +17 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/undo-stack.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/undo-stack.js +27 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/undo-stack.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/utils.d.ts +96 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/utils.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/utils.js +1193 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/utils.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/word-navigation.d.ts +25 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/word-navigation.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/word-navigation.js +96 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/src/word-navigation.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/test/virtual-terminal.d.ts +73 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/test/virtual-terminal.d.ts.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/test/virtual-terminal.js +188 -0
- package/node_modules/@bubblebrain-ai/pi-tui/dist/test/virtual-terminal.js.map +1 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/darwin/README.md +20 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/darwin/build.sh +62 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/darwin/src/darwin-modifiers.c +70 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/win32/README.md +22 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/win32/build.mjs +229 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/node_modules/@bubblebrain-ai/pi-tui/native/win32/src/win32-console-mode.c +119 -0
- package/node_modules/@bubblebrain-ai/pi-tui/package.json +66 -0
- package/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/node_modules/get-east-asian-width/index.js +30 -0
- package/node_modules/get-east-asian-width/license +9 -0
- package/node_modules/get-east-asian-width/lookup-data.js +21 -0
- package/node_modules/get-east-asian-width/lookup.js +138 -0
- package/node_modules/get-east-asian-width/package.json +71 -0
- package/node_modules/get-east-asian-width/readme.md +65 -0
- package/node_modules/get-east-asian-width/utilities.js +24 -0
- package/node_modules/marked/LICENSE +44 -0
- package/node_modules/marked/README.md +115 -0
- package/node_modules/marked/bin/main.js +284 -0
- package/node_modules/marked/bin/marked.js +16 -0
- package/node_modules/marked/lib/marked.d.ts +760 -0
- package/node_modules/marked/lib/marked.esm.js +77 -0
- package/node_modules/marked/lib/marked.esm.js.map +7 -0
- package/node_modules/marked/lib/marked.umd.js +79 -0
- package/node_modules/marked/lib/marked.umd.js.map +7 -0
- package/node_modules/marked/man/marked.1 +113 -0
- package/node_modules/marked/man/marked.1.md +93 -0
- package/node_modules/marked/package.json +103 -0
- package/package.json +96 -17
- package/bin/bubble.js +0 -39
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
import { type ContextCheckpoint } from "./context/checkpoint.js";
|
|
2
|
+
import { type ContextUsageSnapshot } from "./context/usage.js";
|
|
3
|
+
import type { AgentEvent, AgentInputController, ContentPart, PermissionMode, Message, Provider, ThinkingLevel, ToolResult, ToolRegistryEntry, ToolUpdate } from "./types.js";
|
|
4
|
+
import { type TurnHooks } from "./orchestrator/hooks.js";
|
|
5
|
+
import type { ExternalHookController } from "./hooks/controller.js";
|
|
6
|
+
import type { AgentCategoriesConfig, ResolvedSubagentRoute } from "./agent/categories.js";
|
|
7
|
+
import { type AgentRoutingConfig, type RoutableModelEntry, type RoutableModelIndex, type RoutingSnapshotAccessor } from "./agent/routing-catalog.js";
|
|
8
|
+
import { SubagentRuntime } from "./agent/subagent/runtime.js";
|
|
9
|
+
import { BudgetLedger } from "./agent/budget-ledger.js";
|
|
10
|
+
import { type WorkflowRunSnapshot } from "./agent/workflow/control.js";
|
|
11
|
+
import type { AgentProfile, SubagentRunResult } from "./agent/profiles.js";
|
|
12
|
+
import type { SubagentThreadSnapshot } from "./agent/subagent-control.js";
|
|
13
|
+
import { SubagentStore } from "./agent/subagent-store.js";
|
|
14
|
+
export { createUpdateQueue } from "./agent/update-queue.js";
|
|
15
|
+
import { type RateLimitPolicy } from "./network/errors.js";
|
|
16
|
+
import type { SkillSummary } from "./skills/types.js";
|
|
17
|
+
import type { FileStateTracker } from "./tools/file-state.js";
|
|
18
|
+
import { type SanitizedProviderError } from "./provider-error-record.js";
|
|
19
|
+
export { AgentAbortError, SubagentAbortError } from "./agent/abort-errors.js";
|
|
20
|
+
export declare const INTERRUPTED_ASSISTANT_CONTENT = "Interrupted by user. The prior request was stopped and should not be resumed unless the user asks.";
|
|
21
|
+
/** Runtime tuning for the subagent scheduler. */
|
|
22
|
+
export interface AgentSubagentRuntimeConfig {
|
|
23
|
+
maxActiveSubagents?: number;
|
|
24
|
+
launchBurst?: number;
|
|
25
|
+
launchIntervalMs?: number;
|
|
26
|
+
rateLimitMaxAttempts?: number;
|
|
27
|
+
rateLimitBackoffMs?: number[];
|
|
28
|
+
transportRetryMaxAttempts?: number;
|
|
29
|
+
transportRetryBackoffMs?: number[];
|
|
30
|
+
/**
|
|
31
|
+
* Directory for persisted child state (design §7). Defaults to
|
|
32
|
+
* `<session>.subagents` next to the session file when a session exists.
|
|
33
|
+
*/
|
|
34
|
+
persistDir?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AgentOptions {
|
|
37
|
+
provider: Provider;
|
|
38
|
+
sessionID?: string;
|
|
39
|
+
providerId?: string;
|
|
40
|
+
model: string;
|
|
41
|
+
tools: ToolRegistryEntry[];
|
|
42
|
+
temperature?: number;
|
|
43
|
+
thinkingLevel?: ThinkingLevel;
|
|
44
|
+
mode?: PermissionMode;
|
|
45
|
+
steps?: number;
|
|
46
|
+
maxTurns?: number;
|
|
47
|
+
taskBudget?: {
|
|
48
|
+
total: number;
|
|
49
|
+
};
|
|
50
|
+
systemPrompt?: string;
|
|
51
|
+
onMessageAppend?: (message: Message) => void;
|
|
52
|
+
/** Persistable, allowlisted diagnostics for terminal provider failures. */
|
|
53
|
+
onProviderError?: (error: SanitizedProviderError) => void;
|
|
54
|
+
onToolResult?: (toolName: string, result: ToolResult) => void;
|
|
55
|
+
onModeUpdate?: (mode: PermissionMode) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Fired when MULTI-TURN compaction rewrites resident history, with the
|
|
58
|
+
* summary text. Hosts persist it (SessionManager.applyLLMCompaction) so the
|
|
59
|
+
* compacted state — including the cumulative file blocks — survives resume;
|
|
60
|
+
* without this, meta summaries live only in memory (session-log drops meta).
|
|
61
|
+
* Sub-turn summaries never fire it: they cover only the current turn, and a
|
|
62
|
+
* session-level summary entry would make resume skip earlier history.
|
|
63
|
+
*/
|
|
64
|
+
onCompactionApplied?: (summary: string) => void;
|
|
65
|
+
/** Required durable commit hook for hosts; exceptions abort the context switch. */
|
|
66
|
+
onContextCheckpoint?: (checkpoint: ContextCheckpoint) => void;
|
|
67
|
+
getContextRevision?: () => string;
|
|
68
|
+
hooks?: TurnHooks[];
|
|
69
|
+
externalHooks?: ExternalHookController;
|
|
70
|
+
agentRole?: "parent" | "subagent";
|
|
71
|
+
subAgentId?: string;
|
|
72
|
+
budgetLedger?: BudgetLedger;
|
|
73
|
+
budgetSource?: {
|
|
74
|
+
runId: string;
|
|
75
|
+
subAgentId?: string;
|
|
76
|
+
};
|
|
77
|
+
skills?: SkillSummary[];
|
|
78
|
+
/** Skill catalog budget in characters for rebuilt system prompts (0 = off). */
|
|
79
|
+
skillCatalogChars?: number;
|
|
80
|
+
memoryPrompt?: string;
|
|
81
|
+
fileStateTracker?: FileStateTracker;
|
|
82
|
+
agentCategories?: AgentCategoriesConfig;
|
|
83
|
+
/**
|
|
84
|
+
* Routing config held directly on the Agent, independent of any snapshot:
|
|
85
|
+
* the cross-provider lock must hold even in hosts that wire no routing
|
|
86
|
+
* data (design §7.0).
|
|
87
|
+
*/
|
|
88
|
+
agentRouting?: Partial<AgentRoutingConfig>;
|
|
89
|
+
/**
|
|
90
|
+
* Live routing-snapshot accessor (design §1.5). Host-constructed; caches by
|
|
91
|
+
* registry revision. When absent, catalog-dependent features (tier routing,
|
|
92
|
+
* menu, unknown-model validation) are simply off.
|
|
93
|
+
*/
|
|
94
|
+
routingSnapshot?: RoutingSnapshotAccessor;
|
|
95
|
+
/**
|
|
96
|
+
* Cross-provider routable model index (design v3.6): powers the user-named
|
|
97
|
+
* model reminder and near-match correction of mistyped provider:model ids.
|
|
98
|
+
*/
|
|
99
|
+
routableModels?: RoutableModelIndex;
|
|
100
|
+
providerFactory?: (route: ResolvedSubagentRoute) => Provider | Promise<Provider>;
|
|
101
|
+
subagents?: AgentSubagentRuntimeConfig;
|
|
102
|
+
/** Subagent routes use "defer" so the scheduler is the single 429 backoff layer (design §4.5). */
|
|
103
|
+
rateLimitPolicy?: RateLimitPolicy;
|
|
104
|
+
}
|
|
105
|
+
export interface AgentRunOptions {
|
|
106
|
+
abortSignal?: AbortSignal;
|
|
107
|
+
inputController?: AgentInputController;
|
|
108
|
+
/** Child follow-ups continue at a safe boundary, including a tool-free answer. */
|
|
109
|
+
continueOnPendingInput?: boolean;
|
|
110
|
+
/** Local-only presentation metadata persisted with the submitted user turn. */
|
|
111
|
+
userMessageUi?: Extract<Message, {
|
|
112
|
+
role: "user";
|
|
113
|
+
}>["ui"];
|
|
114
|
+
/**
|
|
115
|
+
* Internal: re-enter the loop without appending the input as a new user
|
|
116
|
+
* message. Used by the subagent scheduler's rate-limit re-entry so a child
|
|
117
|
+
* history contains exactly one copy of its input (design doc §4.5).
|
|
118
|
+
*/
|
|
119
|
+
resumeWithoutInput?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export declare class Agent {
|
|
122
|
+
/**
|
|
123
|
+
* Backing store for the public `messages` accessor. All whole-array
|
|
124
|
+
* rewrites (clear/compact/rewind/session switch/subagent fork) go through
|
|
125
|
+
* the setter, which notifies `onContextChanged` subscribers — that push
|
|
126
|
+
* channel is what keeps derived UI (e.g. the footer usage readout) in sync
|
|
127
|
+
* without per-path refresh calls that are easy to forget.
|
|
128
|
+
*/
|
|
129
|
+
private _messages;
|
|
130
|
+
private contextChangedListeners;
|
|
131
|
+
private notifyingContextChange;
|
|
132
|
+
get messages(): Message[];
|
|
133
|
+
set messages(value: Message[]);
|
|
134
|
+
private provider;
|
|
135
|
+
private sessionID?;
|
|
136
|
+
/**
|
|
137
|
+
* Bridge to the unified process manager's background tasks, wired by the
|
|
138
|
+
* host (main.ts) when the host supports them (background-tasks design
|
|
139
|
+
* §2.3a). list() is pre-filtered to the agent's bound session.
|
|
140
|
+
*/
|
|
141
|
+
backgroundTasks?: {
|
|
142
|
+
list: () => import("./tasks/manager.js").BackgroundTaskInfo[];
|
|
143
|
+
version: () => number;
|
|
144
|
+
outputTail: (id: string) => string | undefined;
|
|
145
|
+
kill?: (id: string) => Promise<import("./tasks/manager.js").BackgroundTaskInfo | undefined>;
|
|
146
|
+
subscribe?: (listener: () => void) => () => void;
|
|
147
|
+
};
|
|
148
|
+
private lastTaskReminderVersion;
|
|
149
|
+
/**
|
|
150
|
+
* Once-per-session latch for the large-task delegation nudge
|
|
151
|
+
* (large-task-delegation design §2): goal-loop continuations rebuild
|
|
152
|
+
* TurnHookState every run, so a per-turn latch would nag on every turn.
|
|
153
|
+
* If the model read the nudge once and chose not to delegate, repeating
|
|
154
|
+
* it is noise.
|
|
155
|
+
*/
|
|
156
|
+
private _providerId;
|
|
157
|
+
private _model;
|
|
158
|
+
private tools;
|
|
159
|
+
private unlockedDeferred;
|
|
160
|
+
private temperature;
|
|
161
|
+
private thinkingLevel;
|
|
162
|
+
private _mode;
|
|
163
|
+
private _modeVersion;
|
|
164
|
+
private onModeUpdate?;
|
|
165
|
+
private onCompactionApplied?;
|
|
166
|
+
private onContextCheckpoint?;
|
|
167
|
+
private getContextRevision?;
|
|
168
|
+
private lastCompactionId?;
|
|
169
|
+
private onMessageAppend?;
|
|
170
|
+
private onProviderError?;
|
|
171
|
+
private onToolResult?;
|
|
172
|
+
private hookDefinitions;
|
|
173
|
+
private externalHooks?;
|
|
174
|
+
private agentRole;
|
|
175
|
+
private subAgentId?;
|
|
176
|
+
private maxTurns?;
|
|
177
|
+
private taskBudget?;
|
|
178
|
+
private budgetLedger?;
|
|
179
|
+
private budgetSource;
|
|
180
|
+
private skillSummaries;
|
|
181
|
+
private skillCatalogChars?;
|
|
182
|
+
private memoryPrompt?;
|
|
183
|
+
private fileStateTracker?;
|
|
184
|
+
private agentCategories;
|
|
185
|
+
private agentRouting;
|
|
186
|
+
/** Owns the routing decision chain, the §6 detector state and the §4 menu. */
|
|
187
|
+
private readonly router;
|
|
188
|
+
private providerFactory?;
|
|
189
|
+
/**
|
|
190
|
+
* Subagent thread lifecycle + workflow script execution: the store,
|
|
191
|
+
* scheduler, ChildRunner and their dispatch/ingestion plumbing.
|
|
192
|
+
*/
|
|
193
|
+
private readonly subagents;
|
|
194
|
+
/**
|
|
195
|
+
* Background dynamic-workflow runs (option C Phase 4): run records, waiters,
|
|
196
|
+
* cancellation and the pending-delivery set. Execution stays on Agent.
|
|
197
|
+
*/
|
|
198
|
+
private readonly workflowLedger;
|
|
199
|
+
private subagentsConfig;
|
|
200
|
+
private readonly rateLimitPolicy?;
|
|
201
|
+
private lastInputTokens;
|
|
202
|
+
private lastAnchorMessageCount;
|
|
203
|
+
private compactionStats;
|
|
204
|
+
private contextEvents;
|
|
205
|
+
constructor(options: AgentOptions);
|
|
206
|
+
/**
|
|
207
|
+
* Re-inject the deferred-tools advertisement. Hosts that reassign
|
|
208
|
+
* agent.messages (session resume, Feishu conversation rebuild) drop the
|
|
209
|
+
* constructor-injected meta reminder — without re-injection the model has
|
|
210
|
+
* no way to discover deferred tools, since they are also filtered out of
|
|
211
|
+
* the prompt's tool list.
|
|
212
|
+
*/
|
|
213
|
+
injectDeferredToolsReminder(): void;
|
|
214
|
+
/**
|
|
215
|
+
* Rebinds the agent to a new session (TUI session switch). Keeps
|
|
216
|
+
* ownerSessionId on newly spawned background tasks and managed servers
|
|
217
|
+
* accurate (background-tasks design §2.2c).
|
|
218
|
+
*/
|
|
219
|
+
setSessionID(sessionID: string | undefined): void;
|
|
220
|
+
/**
|
|
221
|
+
* Children persist next to the session file so a later process can resume
|
|
222
|
+
* them via send_input (design §7). An explicit subagents.persistDir config
|
|
223
|
+
* always wins over the sessionID derivation. Child agents themselves
|
|
224
|
+
* (agentRole "subagent") never persist children — no recursion exists.
|
|
225
|
+
*/
|
|
226
|
+
private deriveSubagentPersistDir;
|
|
227
|
+
getSessionID(): string | undefined;
|
|
228
|
+
/**
|
|
229
|
+
* Background-task reminder, state-change gated (design §2.3a): returns a
|
|
230
|
+
* reminder only when the owned task set changed since the last emission
|
|
231
|
+
* (started/finished/killed). The reminder channel is append-only, so
|
|
232
|
+
* emitting on every model call while tasks are merely alive would stack
|
|
233
|
+
* persistent duplicates that neither pruning nor compaction removes.
|
|
234
|
+
*/
|
|
235
|
+
consumeBackgroundTaskReminder(): string | undefined;
|
|
236
|
+
private runExternalHook;
|
|
237
|
+
private injectHookModelContext;
|
|
238
|
+
/** Whether a tool is registered on this agent (e.g. delegation tools on parents). */
|
|
239
|
+
hasToolAvailable(name: string): boolean;
|
|
240
|
+
/** Unlock a list of deferred tools so they're included in subsequent turns. */
|
|
241
|
+
unlockDeferredTools(names: string[]): void;
|
|
242
|
+
/** All deferred tools in this session (for tool_search to inspect). */
|
|
243
|
+
listDeferredTools(): ToolRegistryEntry[];
|
|
244
|
+
getSystemPromptToolOptions(): Pick<import("./system-prompt.js").SystemPromptOptions, "tools" | "toolSnippets" | "guidelines" | "modelRoutingPrompt" | "memoryPrompt" | "skills" | "skillCatalogChars">;
|
|
245
|
+
getSkillSummaries(): SkillSummary[];
|
|
246
|
+
getSkillCatalogChars(): number | undefined;
|
|
247
|
+
/** Refresh the live Skill catalog after /skills reloads or changes enablement; hosts then rebuild the system prompt. */
|
|
248
|
+
setSkillSummaries(skills: SkillSummary[]): void;
|
|
249
|
+
/** Current routing menu (design §4); undefined when no accessor is wired. */
|
|
250
|
+
buildModelRoutingPromptSection(): string | undefined;
|
|
251
|
+
/**
|
|
252
|
+
* Routing menu rendered for a prospective parent route — used by model-
|
|
253
|
+
* switch transactions to build the NEXT prompt before mutating the agent
|
|
254
|
+
* (design §1.5).
|
|
255
|
+
*/
|
|
256
|
+
renderModelRoutingPromptFor(parent: {
|
|
257
|
+
providerId: string;
|
|
258
|
+
model: string;
|
|
259
|
+
}): string | undefined;
|
|
260
|
+
/**
|
|
261
|
+
* Push subscription for derived-context consumers (TUI footer, hosts).
|
|
262
|
+
* Fires whenever resident context mutates in a way that changes a
|
|
263
|
+
* `getContextUsageSnapshot()` reading: whole-array message rewrites,
|
|
264
|
+
* appended messages, system-prompt replacement, or model/provider switches
|
|
265
|
+
* (window size / estimation basis). Returns an unsubscribe function.
|
|
266
|
+
*/
|
|
267
|
+
onContextChanged(listener: () => void): () => void;
|
|
268
|
+
private notifyContextChanged;
|
|
269
|
+
getContextUsageSnapshot(): ContextUsageSnapshot;
|
|
270
|
+
resetContextUsageAnchor(): void;
|
|
271
|
+
/** Whether a given tool is deferred and not yet unlocked. */
|
|
272
|
+
isDeferredAndLocked(name: string): boolean;
|
|
273
|
+
private getActiveToolEntries;
|
|
274
|
+
injectSystemReminder(content: string): void;
|
|
275
|
+
injectModeReminder(): void;
|
|
276
|
+
/**
|
|
277
|
+
* Mode reminders are enter-announcements with no cancel semantics, so a stale
|
|
278
|
+
* one keeps describing a mode the session left long ago. Shift+Tab cycles
|
|
279
|
+
* through plan on the way to bypassPermissions, which used to leave a live
|
|
280
|
+
* "Plan mode is now ACTIVE" (plus its "call exit_plan_mode" rule) in history
|
|
281
|
+
* for the rest of the session — the model then planned instead of building,
|
|
282
|
+
* and hunted for a tool that is filtered out outside plan mode.
|
|
283
|
+
*
|
|
284
|
+
* Hidden rather than spliced: keeping the array shape intact leaves message
|
|
285
|
+
* indices (usage anchors, compaction bookkeeping) valid, and the transcript
|
|
286
|
+
* still shows what happened. Cache cost is one invalidated prefix per real
|
|
287
|
+
* mode switch — the no-op path above keeps repeat injections free.
|
|
288
|
+
*/
|
|
289
|
+
private retireStaleModeReminders;
|
|
290
|
+
get role(): "parent" | "subagent";
|
|
291
|
+
get model(): string;
|
|
292
|
+
set model(value: string);
|
|
293
|
+
get providerId(): string;
|
|
294
|
+
set providerId(value: string);
|
|
295
|
+
get apiModel(): string;
|
|
296
|
+
setProvider(provider: Provider): void;
|
|
297
|
+
complete(messages: Message[], options?: {
|
|
298
|
+
model?: string;
|
|
299
|
+
temperature?: number;
|
|
300
|
+
thinkingLevel?: ThinkingLevel;
|
|
301
|
+
abortSignal?: AbortSignal;
|
|
302
|
+
}): Promise<string>;
|
|
303
|
+
get thinking(): ThinkingLevel;
|
|
304
|
+
set thinking(value: ThinkingLevel);
|
|
305
|
+
get reasoning(): ThinkingLevel;
|
|
306
|
+
set reasoning(value: ThinkingLevel);
|
|
307
|
+
get mode(): PermissionMode;
|
|
308
|
+
set mode(value: PermissionMode);
|
|
309
|
+
setMode(value: PermissionMode): void;
|
|
310
|
+
/** Internal: snapshot counter that bumps on every mode change. Used by run loop. */
|
|
311
|
+
get modeVersion(): number;
|
|
312
|
+
setSystemPrompt(prompt: string): void;
|
|
313
|
+
run(userInput: string | ContentPart[], cwd: string, options?: AgentRunOptions): AsyncIterable<AgentEvent>;
|
|
314
|
+
private recoverFromOverflow;
|
|
315
|
+
compactResidentHistory(): void;
|
|
316
|
+
private maybeCompactWithLLM;
|
|
317
|
+
/** Snapshot of how often each compaction path rewrote history this run. */
|
|
318
|
+
getCompactionStats(): {
|
|
319
|
+
resident: number;
|
|
320
|
+
subturn: number;
|
|
321
|
+
llm: number;
|
|
322
|
+
heuristic: number;
|
|
323
|
+
overflow: number;
|
|
324
|
+
fired: number;
|
|
325
|
+
droppedMessages: number;
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* Stream a 9-section handoff summary of `oldMessages` from the session model.
|
|
329
|
+
* Powers the manual `/compact` command: streaming (rather than `complete()`)
|
|
330
|
+
* is what lets the TUI show live progress as the summary is produced.
|
|
331
|
+
*
|
|
332
|
+
* `onDelta` receives the full accumulated text and the latest delta on each
|
|
333
|
+
* chunk. Returns the trimmed summary, or "" if the model produced nothing
|
|
334
|
+
* (the caller falls back to heuristic compaction in that case). Throws only
|
|
335
|
+
* if the provider stream itself errors.
|
|
336
|
+
*/
|
|
337
|
+
summarizeForCompaction(oldMessages: Message[], onDelta?: (full: string, delta: string) => void, abortSignal?: AbortSignal, userContext?: string): Promise<string>;
|
|
338
|
+
runSubAgent(input: string | ContentPart[], cwd: string, options: Parameters<SubagentRuntime["runSubAgent"]>[2]): Promise<SubagentRunResult>;
|
|
339
|
+
spawnSubAgent(input: string | ContentPart[], cwd: string, options: Parameters<SubagentRuntime["spawnSubAgent"]>[2]): Promise<SubagentThreadSnapshot>;
|
|
340
|
+
waitSubAgents(options?: {
|
|
341
|
+
agentIds?: string[];
|
|
342
|
+
timeoutMs?: number;
|
|
343
|
+
}): Promise<SubagentThreadSnapshot[]>;
|
|
344
|
+
sendSubAgentInput(agentId: string, input: string | ContentPart[], cwd: string, options?: {
|
|
345
|
+
interrupt?: boolean;
|
|
346
|
+
parentToolCallId?: string;
|
|
347
|
+
abortSignal?: AbortSignal;
|
|
348
|
+
}): Promise<SubagentThreadSnapshot>;
|
|
349
|
+
closeSubAgent(agentId: string): Promise<SubagentThreadSnapshot>;
|
|
350
|
+
/**
|
|
351
|
+
* Live (non-final) children only — the delegation-nudge gate
|
|
352
|
+
* (large-task-delegation design §2). listSubAgents() is a grows-only
|
|
353
|
+
* session history (finished + resumed children stay forever), so it must
|
|
354
|
+
* never be used to answer "am I currently delegating?".
|
|
355
|
+
*/
|
|
356
|
+
activeSubAgentCount(): number;
|
|
357
|
+
listSubAgents(): SubagentThreadSnapshot[];
|
|
358
|
+
/** Read-only child transcript for the TUI inspector. */
|
|
359
|
+
getSubAgentMessages(agentId: string): Message[];
|
|
360
|
+
/** Marks a child's full summary as delivered to parent context (design §3.3). */
|
|
361
|
+
markSubagentDelivered(agentId: string): void;
|
|
362
|
+
/**
|
|
363
|
+
* The child store, still reachable at its old name. Several tests inspect a
|
|
364
|
+
* spawned child's record (and its live child Agent) through
|
|
365
|
+
* `(agent as any).subagentStore`; keeping this forward means the extraction
|
|
366
|
+
* changed no caller, test or otherwise.
|
|
367
|
+
*/
|
|
368
|
+
get subagentStore(): SubagentStore;
|
|
369
|
+
/** run_workflow children are workflowInternal and invisible to listSubAgents. */
|
|
370
|
+
hasRunningWorkflow(): boolean;
|
|
371
|
+
/**
|
|
372
|
+
* Dynamic workflow (option C): runs an LLM-authored JS orchestration script in
|
|
373
|
+
* a QuickJS sandbox. Each agent() call in the script becomes a real scheduled
|
|
374
|
+
* subagent (same route resolution, ChildRunner, scheduler, schema validation
|
|
375
|
+
* as spawn_agent), so the script expresses deterministic control flow while
|
|
376
|
+
* the runtime keeps owning concurrency/budget/retry.
|
|
377
|
+
*
|
|
378
|
+
* Foreground entry point (used by `-p`/headless and tests): awaits to
|
|
379
|
+
* completion and returns the result. Background runs go through startWorkflow.
|
|
380
|
+
*/
|
|
381
|
+
runWorkflow(cwd: string, options: {
|
|
382
|
+
script: string;
|
|
383
|
+
args?: unknown;
|
|
384
|
+
parentToolCallId: string;
|
|
385
|
+
emitUpdate?: (update: ToolUpdate) => void;
|
|
386
|
+
abortSignal?: AbortSignal;
|
|
387
|
+
ensureProfileTrusted?: (profile: AgentProfile) => Promise<{
|
|
388
|
+
content: string | unknown;
|
|
389
|
+
} | undefined>;
|
|
390
|
+
}): Promise<{
|
|
391
|
+
result: {
|
|
392
|
+
ok: true;
|
|
393
|
+
value: unknown;
|
|
394
|
+
} | {
|
|
395
|
+
ok: false;
|
|
396
|
+
error: string;
|
|
397
|
+
};
|
|
398
|
+
agentCount: number;
|
|
399
|
+
logs: string[];
|
|
400
|
+
snapshots: SubagentThreadSnapshot[];
|
|
401
|
+
}>;
|
|
402
|
+
/**
|
|
403
|
+
* Starts a workflow in the BACKGROUND (option C Phase 4): returns a runId
|
|
404
|
+
* immediately; the script runs detached, its agents stream progress through
|
|
405
|
+
* the queued channel (drained at turn boundaries like spawn_agent), and its
|
|
406
|
+
* result is ingested at the next turn. Collect explicitly with waitWorkflow.
|
|
407
|
+
*/
|
|
408
|
+
startWorkflow(cwd: string, options: {
|
|
409
|
+
script: string;
|
|
410
|
+
args?: unknown;
|
|
411
|
+
title?: string;
|
|
412
|
+
parentToolCallId: string;
|
|
413
|
+
abortSignal?: AbortSignal;
|
|
414
|
+
ensureProfileTrusted?: (profile: AgentProfile) => Promise<{
|
|
415
|
+
content: string | unknown;
|
|
416
|
+
} | undefined>;
|
|
417
|
+
}): {
|
|
418
|
+
runId: string;
|
|
419
|
+
title: string;
|
|
420
|
+
};
|
|
421
|
+
/** Blocks until a background workflow reaches a final state (or times out). */
|
|
422
|
+
waitWorkflow(runId: string, timeoutMs?: number): Promise<WorkflowRunSnapshot | undefined>;
|
|
423
|
+
/** Cancels a running background workflow. */
|
|
424
|
+
closeWorkflow(runId: string): WorkflowRunSnapshot | undefined;
|
|
425
|
+
listWorkflows(): WorkflowRunSnapshot[];
|
|
426
|
+
/** Injects completed background-workflow results before the next turn (§5 analog). */
|
|
427
|
+
private flushWorkflowDeliveries;
|
|
428
|
+
/**
|
|
429
|
+
* Resolves a child's model route. Priority, highest first (design v2 §1.1):
|
|
430
|
+
* call-site override (model/effort) > profile.model > category > inherit parent.
|
|
431
|
+
* The call-site override is what lets the model say "opus for this reviewer,
|
|
432
|
+
* haiku for these twenty scouts" per spawn/batch member at request time.
|
|
433
|
+
*/
|
|
434
|
+
/** Kept as a thin delegator: routing decisions now live in SubagentRouter. */
|
|
435
|
+
resolveRouteForSubagent(profile: AgentProfile, category: string | undefined, override?: {
|
|
436
|
+
model?: string;
|
|
437
|
+
effort?: ThinkingLevel;
|
|
438
|
+
}): ResolvedSubagentRoute;
|
|
439
|
+
/** Routable catalog across runnable providers (design v3.6); undefined when unwired. */
|
|
440
|
+
listRoutableModels(): RoutableModelEntry[] | undefined;
|
|
441
|
+
/**
|
|
442
|
+
* The ONE place a child Agent is constructed. The runtime hands over what it
|
|
443
|
+
* resolved (provider/route/tools/prompt); everything inherited from the
|
|
444
|
+
* parent is filled in here, which is also what keeps the deliberately
|
|
445
|
+
* ABSENT arguments absent — `onMessageAppend` (a child must not append to
|
|
446
|
+
* the parent's session log), `sessionID` (a child must not stop the
|
|
447
|
+
* parent's auto servers) and the routing catalog (children route by
|
|
448
|
+
* default, not from the parent's menu).
|
|
449
|
+
*/
|
|
450
|
+
private createChildAgent;
|
|
451
|
+
private forkMessagesForSubagent;
|
|
452
|
+
private maybeCompactResidentHistory;
|
|
453
|
+
/** Persist conversational context first; keep live reminders outside the durable projection. */
|
|
454
|
+
private applyContextCheckpoint;
|
|
455
|
+
private appendMessage;
|
|
456
|
+
private persistProviderError;
|
|
457
|
+
private recordProviderError;
|
|
458
|
+
private appendInterruptedAssistantBoundary;
|
|
459
|
+
private executeTool;
|
|
460
|
+
}
|