@sayknow-cli/coding-agent 0.4.7 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -0
- package/dist/types/capability/index.d.ts +10 -20
- package/dist/types/capability/types.d.ts +3 -0
- package/dist/types/cli/args.d.ts +0 -2
- package/dist/types/cli/read-cli.d.ts +1 -0
- package/dist/types/cli.d.ts +9 -1
- package/dist/types/commands/daemon.d.ts +2 -2
- package/dist/types/commands/deep-interview.d.ts +9 -0
- package/dist/types/commands/harness.d.ts +22 -0
- package/dist/types/commands/read.d.ts +6 -0
- package/dist/types/commands/sdk.d.ts +20 -2
- package/dist/types/config/keybindings.d.ts +34 -4
- package/dist/types/config/model-profile-contract.d.ts +40 -0
- package/dist/types/config/model-profiles.d.ts +2 -3
- package/dist/types/config/model-registry.d.ts +5 -0
- package/dist/types/config/provider-auth-health.d.ts +14 -0
- package/dist/types/config/provider-ranking.d.ts +59 -0
- package/dist/types/config/settings-schema.d.ts +156 -10
- package/dist/types/config/settings.d.ts +3 -0
- package/dist/types/edit/modes/patch.d.ts +13 -0
- package/dist/types/edit/path-mutation-lock.d.ts +15 -0
- package/dist/types/eval/py/executor.d.ts +1 -1
- package/dist/types/eval/py/runner-artifact.d.ts +8 -0
- package/dist/types/eval/py/tool-bridge.d.ts +1 -2
- package/dist/types/extensibility/extensions/types.d.ts +43 -2
- package/dist/types/extensibility/shared-events.d.ts +6 -0
- package/dist/types/internal-urls/local-root-gc.d.ts +2 -0
- package/dist/types/main.d.ts +33 -2
- package/dist/types/memories/index.d.ts +2 -0
- package/dist/types/modes/acp/acp-agent.d.ts +22 -9
- package/dist/types/modes/components/assistant-message.d.ts +3 -1
- package/dist/types/modes/components/btw-panel.d.ts +1 -0
- package/dist/types/modes/components/irc-sidebar.d.ts +41 -0
- package/dist/types/modes/components/queue-pane.d.ts +8 -0
- package/dist/types/modes/components/queued-message-selector.d.ts +6 -0
- package/dist/types/modes/components/read-tool-group.d.ts +4 -4
- package/dist/types/modes/components/runtime-mcp-add-wizard.d.ts +2 -1
- package/dist/types/modes/components/session-observer-overlay.d.ts +4 -0
- package/dist/types/modes/components/settings-selector.d.ts +2 -0
- package/dist/types/modes/components/tool-execution.d.ts +8 -0
- package/dist/types/modes/components/tool-status-header.d.ts +4 -2
- package/dist/types/modes/components/welcome.d.ts +5 -0
- package/dist/types/modes/controllers/btw-controller.d.ts +5 -0
- package/dist/types/modes/controllers/command-controller.d.ts +2 -0
- package/dist/types/modes/controllers/event-controller.d.ts +3 -0
- package/dist/types/modes/interactive-mode.d.ts +13 -2
- package/dist/types/modes/irc-observation-ledger.d.ts +17 -1
- package/dist/types/modes/prompt-action-autocomplete.d.ts +6 -1
- package/dist/types/modes/prompt-suggestion-controller.d.ts +35 -0
- package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +2 -2
- package/dist/types/modes/types.d.ts +6 -0
- package/dist/types/modes/utils/hotkeys-markdown.d.ts +2 -1
- package/dist/types/modes/utils/ui-helpers.d.ts +16 -0
- package/dist/types/runtime/memory-domain.d.ts +9 -0
- package/dist/types/runtime/memory-guard-contract.d.ts +71 -0
- package/dist/types/runtime/memory-guard.d.ts +39 -0
- package/dist/types/runtime/memory-limit.d.ts +11 -0
- package/dist/types/runtime-mcp/content-limits.d.ts +7 -0
- package/dist/types/runtime-mcp/discoverable-tool-metadata.d.ts +1 -1
- package/dist/types/runtime-mcp/manager.d.ts +9 -1
- package/dist/types/runtime-mcp/oauth-flow.d.ts +0 -5
- package/dist/types/runtime-mcp/plugin-network-boundary.d.ts +14 -0
- package/dist/types/runtime-mcp/redaction.d.ts +2 -0
- package/dist/types/runtime-mcp/smithery-auth.d.ts +5 -0
- package/dist/types/sdk/acp/final-text.d.ts +19 -0
- package/dist/types/sdk/acp/mcp.d.ts +23 -0
- package/dist/types/sdk/broker/broker.d.ts +2 -0
- package/dist/types/sdk/broker/lifecycle.d.ts +13 -0
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +9 -1
- package/dist/types/sdk/bus/config-commands.d.ts +2 -2
- package/dist/types/sdk/bus/config.d.ts +2 -0
- package/dist/types/sdk/bus/control-drain-lease.d.ts +52 -0
- package/dist/types/sdk/bus/conversation-store.d.ts +1 -0
- package/dist/types/sdk/bus/daemon-paths.d.ts +1 -0
- package/dist/types/sdk/bus/index.d.ts +52 -4
- package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +37 -0
- package/dist/types/sdk/bus/lifecycle-commands.d.ts +5 -4
- package/dist/types/sdk/bus/notification-orchestration.d.ts +1 -0
- package/dist/types/sdk/bus/notification-service.d.ts +34 -0
- package/dist/types/sdk/bus/operator-runtime.d.ts +1 -0
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +106 -0
- package/dist/types/sdk/bus/rate-limit-pool.d.ts +2 -0
- package/dist/types/sdk/bus/reconciliation-store.d.ts +65 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +33 -9
- package/dist/types/sdk/bus/telegram-daemon-control.d.ts +5 -1
- package/dist/types/sdk/bus/telegram-daemon.d.ts +286 -12
- package/dist/types/sdk/bus/telegram-reference.d.ts +2 -0
- package/dist/types/sdk/bus/topic-registry.d.ts +88 -2
- package/dist/types/sdk/client/discovery.d.ts +2 -0
- package/dist/types/sdk/client/liveness.d.ts +7 -0
- package/dist/types/sdk/host/control/operations.d.ts +3 -2
- package/dist/types/sdk/host/host.d.ts +3 -1
- package/dist/types/sdk/host/query/handlers.d.ts +14 -0
- package/dist/types/sdk/index.d.ts +2 -0
- package/dist/types/sdk/lifecycle-session.d.ts +10 -1
- package/dist/types/sdk/prompt-status.d.ts +88 -0
- package/dist/types/sdk/session-directory.d.ts +1 -1
- package/dist/types/sdk/session.d.ts +7 -0
- package/dist/types/sdk/startup-capability.d.ts +9 -0
- package/dist/types/sdk/transport/auth-preface.d.ts +9 -0
- package/dist/types/sdk/transport/index.d.ts +12 -0
- package/dist/types/sdk/transport/relay.d.ts +43 -0
- package/dist/types/sdk/transport/serve-cli.d.ts +4 -0
- package/dist/types/sdk/transport/socket.d.ts +7 -0
- package/dist/types/sdk/transport/stdio.d.ts +3 -0
- package/dist/types/session/agent-session.d.ts +83 -24
- package/dist/types/session/btw-contract.d.ts +16 -0
- package/dist/types/session/fallback-chain-controller.d.ts +18 -2
- package/dist/types/session/internal/managed-session-scope.d.ts +70 -10
- package/dist/types/session/internal/managed-session-storage.d.ts +34 -12
- package/dist/types/session/internal/native-publish-outcome.d.ts +48 -0
- package/dist/types/session/memory-guard-checkpoint-participant.d.ts +69 -0
- package/dist/types/session/session-manager.d.ts +89 -18
- package/dist/types/session/session-storage.d.ts +31 -0
- package/dist/types/session/streaming-output.d.ts +60 -5
- package/dist/types/setup/credential-import.d.ts +5 -1
- package/dist/types/setup/provider-onboarding.d.ts +2 -0
- package/dist/types/skc-runtime/deep-interview-runtime.d.ts +1 -1
- package/dist/types/skc-runtime/deep-interview-stage.d.ts +37 -0
- package/dist/types/skc-runtime/gc-runtime.d.ts +1 -1
- package/dist/types/skc-runtime/linux-proc.d.ts +22 -14
- package/dist/types/skc-runtime/memory-guard-owner-claims.d.ts +47 -0
- package/dist/types/skc-runtime/ralplan-runtime.d.ts +112 -1
- package/dist/types/skc-runtime/repository-binding.d.ts +63 -0
- package/dist/types/skc-runtime/state-runtime.d.ts +3 -1
- package/dist/types/skc-runtime/state-writer.d.ts +5 -1
- package/dist/types/skc-runtime/team-launch.d.ts +1 -1
- package/dist/types/skc-runtime/team-runtime.d.ts +9 -2
- package/dist/types/skc-runtime/team-store.d.ts +12 -0
- package/dist/types/skc-runtime/team-worker-memory-guard.d.ts +92 -0
- package/dist/types/skc-runtime/tmux-owner-isolation.d.ts +7 -0
- package/dist/types/skc-runtime/ultragoal-guard.d.ts +6 -5
- package/dist/types/skc-runtime/ultragoal-receipt-freshness.d.ts +28 -0
- package/dist/types/skc-runtime/ultragoal-runtime.d.ts +43 -5
- package/dist/types/skill-state/workflow-hud.d.ts +3 -0
- package/dist/types/ssh/utils.d.ts +1 -0
- package/dist/types/task/discovery.d.ts +3 -1
- package/dist/types/task/executor.d.ts +6 -0
- package/dist/types/task/index.d.ts +3 -1
- package/dist/types/task/provider-retry-status.d.ts +13 -0
- package/dist/types/task/receipt.d.ts +2 -0
- package/dist/types/task/types.d.ts +133 -0
- package/dist/types/task/ultragoal-redteam-activation.d.ts +33 -0
- package/dist/types/tools/browser/launch.d.ts +7 -0
- package/dist/types/tools/fetch.d.ts +22 -9
- package/dist/types/tools/image-gen.d.ts +63 -1
- package/dist/types/tools/index.d.ts +7 -1
- package/dist/types/tools/output-meta.d.ts +21 -1
- package/dist/types/tools/read-internals.d.ts +12 -0
- package/dist/types/tools/read.d.ts +45 -1
- package/dist/types/tools/resource-gc.d.ts +23 -0
- package/dist/types/tools/skill-discovery.d.ts +7 -0
- package/dist/types/tools/sqlite-reader.d.ts +7 -0
- package/dist/types/tools/tool-result.d.ts +7 -1
- package/dist/types/utils/prompt-suggestion.d.ts +33 -0
- package/dist/types/utils/shell-snapshot.d.ts +12 -0
- package/dist/types/web/insane/bridge.d.ts +1 -0
- package/dist/types/web/insane/url-guard.d.ts +17 -0
- package/package.json +8 -12
- package/scripts/benchmark-sticky-viewport-pr1.ts +239 -0
- package/scripts/capture-platform-shortcut-labels-showcase.ts +342 -0
- package/scripts/capture-sticky-viewport-showcase.ts +292 -0
- package/scripts/compile-args.ts +0 -1
- package/scripts/dogfood-repository-binding.ts +209 -0
- package/scripts/generate-docs-index.ts +4 -1
- package/scripts/generate-sdk-operation-inventory.ts +9 -0
- package/scripts/run-test-manifest.ts +6 -4
- package/scripts/verify-skc-sdk-canonicalization.ts +122 -18
- package/scripts/verify-sticky-viewport-showcase.ts +611 -0
- package/src/capability/index.ts +58 -42
- package/src/capability/types.ts +3 -0
- package/src/cli/args.ts +16 -100
- package/src/cli/fast-help.ts +1 -1
- package/src/cli/mcp-cli.ts +4 -21
- package/src/cli/notify-cli.ts +6 -38
- package/src/cli/read-cli.ts +2 -1
- package/src/cli/setup-cli.ts +10 -4
- package/src/cli.ts +133 -11
- package/src/commands/daemon.ts +22 -5
- package/src/commands/deep-interview.ts +26 -1
- package/src/commands/harness.ts +35 -12
- package/src/commands/read.ts +11 -2
- package/src/commands/sdk.ts +134 -17
- package/src/commands/team.ts +1 -1
- package/src/commit/agentic/index.ts +3 -3
- package/src/commit/map-reduce/index.ts +2 -2
- package/src/config/keybindings.ts +158 -25
- package/src/config/model-profile-contract.ts +174 -0
- package/src/config/model-profiles.ts +51 -10
- package/src/config/model-registry.ts +24 -4
- package/src/config/model-resolver.ts +2 -2
- package/src/config/provider-auth-health.ts +42 -0
- package/src/config/provider-ranking.ts +119 -0
- package/src/config/settings-schema.ts +157 -10
- package/src/config/settings.ts +254 -108
- package/src/coordinator-mcp/model-preset.ts +21 -74
- package/src/defaults/skc/skills/deep-interview/SKILL.md +147 -24
- package/src/defaults/skc/skills/ralplan/SKILL.md +91 -34
- package/src/defaults/skc/skills/team/SKILL.md +1 -1
- package/src/defaults/skc/skills/ultragoal/SKILL.md +68 -17
- package/src/discovery/ssh.ts +12 -1
- package/src/edit/index.ts +3 -6
- package/src/edit/modes/patch.ts +38 -1
- package/src/edit/modes/replace.ts +42 -0
- package/src/edit/path-mutation-lock.ts +112 -0
- package/src/eval/js/tool-bridge.ts +1 -1
- package/src/eval/py/executor.ts +37 -13
- package/src/eval/py/kernel.ts +1 -21
- package/src/eval/py/prelude.py +2 -2
- package/src/eval/py/runner-artifact.ts +84 -0
- package/src/eval/py/tool-bridge.ts +34 -18
- package/src/extensibility/extensions/runner.ts +4 -0
- package/src/extensibility/extensions/types.ts +42 -4
- package/src/extensibility/plugins/marketplace/fetcher.ts +191 -7
- package/src/extensibility/shared-events.ts +5 -0
- package/src/extensibility/skc-plugins/runtime-adapters.ts +2 -1
- package/src/hooks/native-skill-hook.ts +17 -4
- package/src/internal-urls/docs-index.generated.ts +17 -16
- package/src/internal-urls/local-protocol.ts +87 -25
- package/src/internal-urls/local-root-gc.ts +127 -0
- package/src/internal-urls/mcp-protocol.ts +73 -11
- package/src/main.ts +120 -42
- package/src/memories/index.ts +10 -0
- package/src/modes/DESIGN.md +52 -0
- package/src/modes/acp/acp-agent.ts +647 -83
- package/src/modes/acp/acp-event-mapper.ts +106 -12
- package/src/modes/acp/acp-mode.ts +39 -3
- package/src/modes/action-registry.ts +1 -1
- package/src/modes/components/assistant-message.ts +123 -22
- package/src/modes/components/btw-panel.ts +82 -16
- package/src/modes/components/irc-sidebar.ts +176 -62
- package/src/modes/components/model-selector.ts +61 -4
- package/src/modes/components/notifications-settings-editor.ts +1 -1
- package/src/modes/components/oauth-selector.ts +42 -12
- package/src/modes/components/plan-preview-overlay.ts +1 -1
- package/src/modes/components/queue-pane.ts +55 -9
- package/src/modes/components/queued-message-selector.ts +53 -10
- package/src/modes/components/read-tool-group.ts +82 -14
- package/src/modes/components/runtime-mcp-add-wizard.ts +5 -0
- package/src/modes/components/sayknow-pet-widget.ts +20 -8
- package/src/modes/components/session-observer-overlay.ts +187 -32
- package/src/modes/components/settings-selector.ts +60 -18
- package/src/modes/components/tool-execution.ts +138 -27
- package/src/modes/components/tool-status-header.ts +26 -8
- package/src/modes/components/welcome.ts +50 -23
- package/src/modes/controllers/btw-controller.ts +119 -36
- package/src/modes/controllers/command-controller.ts +101 -54
- package/src/modes/controllers/event-controller.ts +119 -27
- package/src/modes/controllers/extension-ui-controller.ts +23 -12
- package/src/modes/controllers/input-controller.ts +100 -8
- package/src/modes/controllers/runtime-mcp-command-controller.ts +29 -6
- package/src/modes/controllers/selector-controller.ts +4 -1
- package/src/modes/interactive-mode.ts +201 -60
- package/src/modes/irc-observation-ledger.ts +71 -15
- package/src/modes/prompt-action-autocomplete.ts +32 -13
- package/src/modes/prompt-suggestion-controller.ts +96 -0
- package/src/modes/runtime-init.ts +20 -2
- package/src/modes/shared/agent-wire/command-dispatch.ts +3 -3
- package/src/modes/shared/agent-wire/workflow-gate-broker.ts +2 -2
- package/src/modes/types.ts +6 -0
- package/src/modes/utils/hotkeys-markdown.ts +64 -36
- package/src/modes/utils/ui-helpers.ts +99 -4
- package/src/prompts/agent-fragments/restricted-bash.md +1 -1
- package/src/prompts/agents/architect.md +17 -3
- package/src/prompts/agents/critic.md +17 -2
- package/src/prompts/agents/executor.md +1 -1
- package/src/prompts/agents/planner.md +8 -1
- package/src/prompts/system/btw-user.md +3 -8
- package/src/prompts/system/prompt-suggestion-system.md +32 -0
- package/src/prompts/system/system-prompt.md +6 -3
- package/src/prompts/tools/cron.md +3 -1
- package/src/prompts/tools/read.md +4 -2
- package/src/prompts/tools/skill-discovery.md +1 -0
- package/src/runtime/memory-domain.ts +66 -0
- package/src/runtime/memory-guard-contract.ts +73 -0
- package/src/runtime/memory-guard.ts +292 -0
- package/src/runtime/memory-limit.ts +50 -0
- package/src/runtime-mcp/client.ts +41 -55
- package/src/runtime-mcp/content-limits.ts +71 -0
- package/src/runtime-mcp/discoverable-tool-metadata.ts +1 -1
- package/src/runtime-mcp/json-rpc.ts +28 -11
- package/src/runtime-mcp/manager.ts +77 -59
- package/src/runtime-mcp/oauth-flow.ts +0 -72
- package/src/runtime-mcp/plugin-network-boundary.ts +101 -0
- package/src/runtime-mcp/redaction.ts +30 -0
- package/src/runtime-mcp/smithery-auth.ts +17 -2
- package/src/runtime-mcp/smithery-connect.ts +11 -1
- package/src/runtime-mcp/transports/http.ts +63 -22
- package/src/sdk/acp/adapter.ts +8 -1
- package/src/sdk/acp/final-text.ts +40 -0
- package/src/sdk/acp/mcp.ts +26 -0
- package/src/sdk/broker/broker.ts +34 -20
- package/src/sdk/broker/identity.ts +22 -12
- package/src/sdk/broker/lifecycle.ts +293 -43
- package/src/sdk/broker/session-index.ts +11 -1
- package/src/sdk/bus/chat-daemon-cli.ts +2 -2
- package/src/sdk/bus/chat-daemon-control.ts +22 -5
- package/src/sdk/bus/config-commands.ts +2 -2
- package/src/sdk/bus/config.ts +10 -2
- package/src/sdk/bus/control-drain-lease.ts +104 -0
- package/src/sdk/bus/conversation-store.ts +40 -6
- package/src/sdk/bus/daemon-paths.ts +2 -0
- package/src/sdk/bus/index.ts +793 -121
- package/src/sdk/bus/kind-aware-reconciliation.ts +242 -0
- package/src/sdk/bus/lifecycle-commands.ts +63 -10
- package/src/sdk/bus/lifecycle-control-runtime.ts +11 -2
- package/src/sdk/bus/lifecycle-orchestrator.ts +32 -1
- package/src/sdk/bus/notification-orchestration.ts +12 -0
- package/src/sdk/bus/notification-service.ts +87 -25
- package/src/sdk/bus/operator-runtime.ts +31 -5
- package/src/sdk/bus/prompt-reconciliation.ts +240 -0
- package/src/sdk/bus/rate-limit-pool.ts +8 -0
- package/src/sdk/bus/recent-activity.ts +90 -26
- package/src/sdk/bus/reconciliation-store.ts +224 -0
- package/src/sdk/bus/telegram-cli.ts +6 -13
- package/src/sdk/bus/telegram-daemon-cli.ts +8 -3
- package/src/sdk/bus/telegram-daemon-contract.ts +34 -9
- package/src/sdk/bus/telegram-daemon-control.ts +161 -40
- package/src/sdk/bus/telegram-daemon.ts +3649 -593
- package/src/sdk/bus/telegram-reference.ts +20 -2
- package/src/sdk/bus/topic-registry.ts +451 -12
- package/src/sdk/cli/session-cli.ts +15 -2
- package/src/sdk/client/discovery.ts +19 -3
- package/src/sdk/client/liveness.ts +49 -0
- package/src/sdk/host/control/dispatch.ts +8 -2
- package/src/sdk/host/control/operations.ts +3 -2
- package/src/sdk/host/host.ts +27 -9
- package/src/sdk/host/query/handlers.ts +125 -5
- package/src/sdk/index.ts +12 -0
- package/src/sdk/lifecycle-session.ts +19 -3
- package/src/sdk/mcp/server.ts +46 -18
- package/src/sdk/prompt-status.ts +97 -0
- package/src/sdk/protocol/operation-inventory.generated.json +145 -0
- package/src/sdk/protocol/operation-registry.ts +24 -4
- package/src/sdk/session-directory.ts +5 -1
- package/src/sdk/session.ts +69 -8
- package/src/sdk/startup-capability.ts +15 -1
- package/src/sdk/transport/auth-preface.ts +82 -0
- package/src/sdk/transport/index.ts +18 -0
- package/src/sdk/transport/relay.ts +252 -0
- package/src/sdk/transport/serve-cli.ts +105 -0
- package/src/sdk/transport/socket.ts +197 -0
- package/src/sdk/transport/stdio.ts +17 -0
- package/src/session/agent-session.ts +1112 -314
- package/src/session/blob-store.ts +25 -7
- package/src/session/btw-contract.ts +59 -0
- package/src/session/fallback-chain-controller.ts +47 -8
- package/src/session/internal/managed-session-scope.ts +1426 -259
- package/src/session/internal/managed-session-storage.ts +414 -238
- package/src/session/internal/native-publish-outcome.ts +271 -0
- package/src/session/memory-guard-checkpoint-participant.ts +131 -0
- package/src/session/session-manager.ts +2079 -469
- package/src/session/session-storage.ts +151 -11
- package/src/session/streaming-output.ts +262 -43
- package/src/setup/credential-import.ts +28 -3
- package/src/setup/provider-onboarding.ts +49 -5
- package/src/setup/provider-presets.json +2 -1
- package/src/skc-runtime/deep-interview-runtime.ts +303 -36
- package/src/skc-runtime/deep-interview-stage.ts +1016 -0
- package/src/skc-runtime/deep-interview-state.ts +8 -5
- package/src/skc-runtime/gc-render.ts +1 -0
- package/src/skc-runtime/gc-runtime.ts +11 -1
- package/src/skc-runtime/linux-proc.ts +70 -36
- package/src/skc-runtime/managed-owner-supervisor.ts +83 -4
- package/src/skc-runtime/memory-guard-owner-claims.ts +389 -0
- package/src/skc-runtime/ralplan-runtime.ts +1057 -75
- package/src/skc-runtime/repository-binding.ts +267 -0
- package/src/skc-runtime/session-state-sidecar.ts +25 -9
- package/src/skc-runtime/state-runtime.ts +50 -12
- package/src/skc-runtime/state-writer.ts +68 -56
- package/src/skc-runtime/team-launch.ts +34 -5
- package/src/skc-runtime/team-runtime.ts +41 -1
- package/src/skc-runtime/team-store.ts +32 -0
- package/src/skc-runtime/team-worker-memory-guard.ts +363 -0
- package/src/skc-runtime/team-workers.ts +1 -0
- package/src/skc-runtime/tmux-common.ts +13 -2
- package/src/skc-runtime/tmux-owner-isolation.ts +20 -1
- package/src/skc-runtime/tmux-sessions.ts +45 -6
- package/src/skc-runtime/ultragoal-guard.ts +93 -15
- package/src/skc-runtime/ultragoal-receipt-freshness.ts +123 -0
- package/src/skc-runtime/ultragoal-runtime.ts +469 -38
- package/src/skc-runtime/workflow-manifest.generated.json +195 -5
- package/src/skc-runtime/workflow-manifest.ts +67 -3
- package/src/skill-state/workflow-hud.ts +25 -2
- package/src/skill-state/workflow-mutation-guard.ts +104 -12
- package/src/slash-commands/builtin-registry.ts +1 -1
- package/src/ssh/utils.ts +14 -0
- package/src/task/discovery.ts +8 -2
- package/src/task/executor.ts +165 -47
- package/src/task/index.ts +123 -15
- package/src/task/provider-retry-status.ts +88 -0
- package/src/task/receipt.ts +3 -0
- package/src/task/render.ts +45 -26
- package/src/task/skc-command.ts +2 -2
- package/src/task/types.ts +55 -10
- package/src/task/ultragoal-redteam-activation.ts +75 -0
- package/src/tools/ask.ts +1 -1
- package/src/tools/ast-edit.ts +2 -2
- package/src/tools/bash-allowed-prefixes.ts +45 -1
- package/src/tools/bash-pty-selection.ts +2 -2
- package/src/tools/browser/launch.ts +41 -6
- package/src/tools/browser/screenshot-format.ts +6 -1
- package/src/tools/cron.ts +1 -1
- package/src/tools/fetch.ts +127 -154
- package/src/tools/image-gen.ts +476 -23
- package/src/tools/index.ts +7 -1
- package/src/tools/output-meta.ts +176 -9
- package/src/tools/path-utils.ts +5 -1
- package/src/tools/read-internals.ts +44 -0
- package/src/tools/read.ts +1544 -310
- package/src/tools/resource-gc.ts +665 -125
- package/src/tools/skill-discovery.ts +39 -3
- package/src/tools/sqlite-reader.ts +63 -5
- package/src/tools/subagent-render.ts +74 -16
- package/src/tools/subagent.ts +2 -0
- package/src/tools/tool-result.ts +14 -1
- package/src/utils/edit-mode.ts +2 -2
- package/src/utils/pasted-image-path.ts +15 -6
- package/src/utils/prompt-suggestion.ts +265 -0
- package/src/utils/shell-snapshot.ts +173 -63
- package/src/utils/sixel.ts +3 -3
- package/src/web/insane/bridge.ts +5 -1
- package/src/web/insane/url-guard.ts +140 -27
- package/src/web/scrapers/docs-rs.ts +30 -5
- package/src/web/scrapers/types.ts +19 -49
- package/src/web/scrapers/utils.ts +12 -26
- package/src/web/search/providers/codex.ts +1 -1
- package/src/workflow/workflow-intent-diff.ts +4 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded authoritative reconciliation state for Q26 `turn.prompt_status`.
|
|
3
|
+
*
|
|
4
|
+
* Separate from the lifecycle delivery buffers (promptSubmissions /
|
|
5
|
+
* promptTerminalTombstones), which exist to deliver frames and intentionally
|
|
6
|
+
* forget outcomes. This record preserves accepted/in_flight/terminal_ok/failed
|
|
7
|
+
* plus bounded sanitized failure metadata so a caller can reconcile a prior
|
|
8
|
+
* `turn.prompt` after disconnect/reconnect.
|
|
9
|
+
*
|
|
10
|
+
* Semantics (public contract, mirrored in sdk/prompt-status.ts):
|
|
11
|
+
* - Active records are NEVER converted to terminal by age or capacity.
|
|
12
|
+
* - Terminal records are retained for TERMINAL_TTL_MS and bounded to
|
|
13
|
+
* TERMINAL_CAPACITY, evicted oldest-terminal-first by terminalAt; only then
|
|
14
|
+
* does a lookup honestly report `unknown`.
|
|
15
|
+
* - Process-local durability floor is the live session process: restart means `unknown`.
|
|
16
|
+
* Session-scoped durable retention (kind-aware store) is provided by reconciliation-store.ts (#3032).
|
|
17
|
+
* - The clientRef index is session-runtime scoped; a ref conflicts only while
|
|
18
|
+
* retained and must never be reused as a retry mechanism.
|
|
19
|
+
* - Terminal transitions settle once: the first terminal outcome wins.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PROMPT_RECONCILIATION_ACTIVE_CAPACITY = 128;
|
|
22
|
+
export declare const PROMPT_RECONCILIATION_TERMINAL_CAPACITY = 256;
|
|
23
|
+
export declare const PROMPT_RECONCILIATION_TERMINAL_TTL_MS: number;
|
|
24
|
+
export declare const PROMPT_FAILURE_CODE_MAX = 64;
|
|
25
|
+
export type PromptReconciliationStatus = "accepted" | "in_flight" | "terminal_ok" | "failed";
|
|
26
|
+
export interface PromptCorrelation {
|
|
27
|
+
commandId: string;
|
|
28
|
+
turnId: string;
|
|
29
|
+
}
|
|
30
|
+
export interface PromptReconciliationRecord extends PromptCorrelation {
|
|
31
|
+
clientRef?: string;
|
|
32
|
+
status: PromptReconciliationStatus;
|
|
33
|
+
error?: {
|
|
34
|
+
code: string;
|
|
35
|
+
message: string;
|
|
36
|
+
};
|
|
37
|
+
acceptedAt: number;
|
|
38
|
+
startedAt?: number;
|
|
39
|
+
terminalAt?: number;
|
|
40
|
+
}
|
|
41
|
+
export type TurnPromptReconciliation = {
|
|
42
|
+
status: "accepted";
|
|
43
|
+
commandId: string;
|
|
44
|
+
turnId: string;
|
|
45
|
+
clientRef?: string;
|
|
46
|
+
acceptedAt: number;
|
|
47
|
+
} | {
|
|
48
|
+
status: "in_flight";
|
|
49
|
+
commandId: string;
|
|
50
|
+
turnId: string;
|
|
51
|
+
clientRef?: string;
|
|
52
|
+
acceptedAt: number;
|
|
53
|
+
startedAt: number;
|
|
54
|
+
} | {
|
|
55
|
+
status: "terminal_ok";
|
|
56
|
+
commandId: string;
|
|
57
|
+
turnId: string;
|
|
58
|
+
clientRef?: string;
|
|
59
|
+
acceptedAt: number;
|
|
60
|
+
startedAt?: number;
|
|
61
|
+
terminalAt: number;
|
|
62
|
+
} | {
|
|
63
|
+
status: "failed";
|
|
64
|
+
commandId: string;
|
|
65
|
+
turnId: string;
|
|
66
|
+
clientRef?: string;
|
|
67
|
+
acceptedAt: number;
|
|
68
|
+
startedAt?: number;
|
|
69
|
+
terminalAt: number;
|
|
70
|
+
error: {
|
|
71
|
+
code: string;
|
|
72
|
+
message: string;
|
|
73
|
+
};
|
|
74
|
+
} | {
|
|
75
|
+
status: "unknown";
|
|
76
|
+
};
|
|
77
|
+
export interface PromptReconciliation {
|
|
78
|
+
/** Fail-closed admission BEFORE any execution; holds an identity-bound reservation. */
|
|
79
|
+
admit(clientRef?: string): void;
|
|
80
|
+
/** Discard one admission reservation without creating a record (rejection/cancellation). */
|
|
81
|
+
releaseAdmission(clientRef?: string): void;
|
|
82
|
+
/** Transition a reservation into the accepted record at preflight acceptance. */
|
|
83
|
+
noteAccepted(correlation: PromptCorrelation, clientRef?: string): void;
|
|
84
|
+
/** Lifecycle transition; terminal outcomes settle exactly once. */
|
|
85
|
+
noteTransition(correlation: PromptCorrelation | undefined, frame: {
|
|
86
|
+
type: "agent_start" | "agent_end";
|
|
87
|
+
} | {
|
|
88
|
+
type: "agent_failed";
|
|
89
|
+
error: unknown;
|
|
90
|
+
}): void;
|
|
91
|
+
lookup(selector: {
|
|
92
|
+
commandId?: string;
|
|
93
|
+
turnId?: string;
|
|
94
|
+
clientRef?: string;
|
|
95
|
+
}): TurnPromptReconciliation;
|
|
96
|
+
cleanup(): void;
|
|
97
|
+
activeCount(): number;
|
|
98
|
+
}
|
|
99
|
+
/** Safe-token code capped at 64; arbitrary failure text is never retained. */
|
|
100
|
+
export declare function sanitizePromptFailure(error: unknown): {
|
|
101
|
+
code: string;
|
|
102
|
+
message: string;
|
|
103
|
+
};
|
|
104
|
+
export declare function createPromptReconciliation(options?: {
|
|
105
|
+
now?: () => number;
|
|
106
|
+
}): PromptReconciliation;
|
|
@@ -84,6 +84,8 @@ export declare class RateLimitPool<T = unknown> {
|
|
|
84
84
|
constructor(options?: RateLimitPoolOptions);
|
|
85
85
|
/** Number of items currently queued across all lanes. */
|
|
86
86
|
get pending(): number;
|
|
87
|
+
/** Whether any queued item currently matches the predicate. */
|
|
88
|
+
someQueued(predicate: (item: RateLimitItem<T>) => boolean): boolean;
|
|
87
89
|
/** Current available token count (after refill at `now`). */
|
|
88
90
|
availableTokens(nowMs?: number): number;
|
|
89
91
|
/**
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { PromptCorrelation, PromptReconciliationStatus } from "./prompt-reconciliation";
|
|
2
|
+
export declare const RECONCILIATION_STORE_VERSION = 1;
|
|
3
|
+
export declare const RECONCILIATION_SESSION_ID_PATTERN: RegExp;
|
|
4
|
+
export declare const RECONCILIATION_DIR_NAME = ".sdk-reconciliation";
|
|
5
|
+
export type ReconciliationKind = "prompt" | "skill";
|
|
6
|
+
export interface DurableReconciliationRecord extends PromptCorrelation {
|
|
7
|
+
kind: ReconciliationKind;
|
|
8
|
+
clientRef?: string;
|
|
9
|
+
status: PromptReconciliationStatus;
|
|
10
|
+
error?: {
|
|
11
|
+
code: string;
|
|
12
|
+
message: string;
|
|
13
|
+
};
|
|
14
|
+
acceptedAt: number;
|
|
15
|
+
startedAt?: number;
|
|
16
|
+
terminalAt?: number;
|
|
17
|
+
/** Skill-only safe token; never skill args bodies. */
|
|
18
|
+
skillName?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ReconciliationStoreDocument {
|
|
21
|
+
version: typeof RECONCILIATION_STORE_VERSION;
|
|
22
|
+
sessionId: string;
|
|
23
|
+
records: DurableReconciliationRecord[];
|
|
24
|
+
}
|
|
25
|
+
export interface ReconciliationStoreFs {
|
|
26
|
+
mkdir(directory: string, options: {
|
|
27
|
+
recursive: true;
|
|
28
|
+
mode: number;
|
|
29
|
+
}): Promise<unknown>;
|
|
30
|
+
readFile(file: string, encoding: "utf8"): Promise<string>;
|
|
31
|
+
writeFile(file: string, data: string, options: {
|
|
32
|
+
mode: number;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
rename(from: string, to: string): Promise<void>;
|
|
35
|
+
unlink(file: string): Promise<void>;
|
|
36
|
+
open(file: string, flags: string): Promise<{
|
|
37
|
+
sync(): Promise<void>;
|
|
38
|
+
close(): Promise<void>;
|
|
39
|
+
writeFile(data: string, encoding: "utf8"): Promise<void>;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export declare function isSafeReconciliationSessionId(sessionId: string): boolean;
|
|
43
|
+
/** Derive private store path; throws if sessionId is unsafe (path escape). */
|
|
44
|
+
export declare function reconciliationStorePath(sessionFile: string, sessionId: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Settle non-terminal durable records after process death: failed/process_restart.
|
|
47
|
+
* Meaning: reconciliation incomplete — not proof of agent failure.
|
|
48
|
+
*/
|
|
49
|
+
export declare function settleProcessRestart(records: DurableReconciliationRecord[], now: number): DurableReconciliationRecord[];
|
|
50
|
+
export interface ReconciliationStore {
|
|
51
|
+
readonly path: string | null;
|
|
52
|
+
readonly sessionId: string;
|
|
53
|
+
/** Serialize mutations; reload not required for single-process host (in-memory + write). */
|
|
54
|
+
transact(mutator: (records: DurableReconciliationRecord[]) => DurableReconciliationRecord[]): Promise<void>;
|
|
55
|
+
load(): Promise<DurableReconciliationRecord[]>;
|
|
56
|
+
/** Snapshot currently held in memory after last load/transact. */
|
|
57
|
+
snapshot(): DurableReconciliationRecord[];
|
|
58
|
+
delete(): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export declare function createReconciliationStore(options: {
|
|
61
|
+
sessionFile: string | null | undefined;
|
|
62
|
+
sessionId: string;
|
|
63
|
+
fs?: ReconciliationStoreFs;
|
|
64
|
+
now?: () => number;
|
|
65
|
+
}): ReconciliationStore;
|
|
@@ -5,12 +5,9 @@
|
|
|
5
5
|
/** Protocol version the daemon advertises in its ClientHello. */
|
|
6
6
|
export declare const NOTIFICATION_PROTOCOL_VERSION = 3;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* freshly-upgraded host must still recognize an older, still-live daemon that
|
|
12
|
-
* predates capability-gated frame enforcement and trigger a reload. Bump this
|
|
13
|
-
* on every daemon-behavior change independent of the wire version.
|
|
8
|
+
* Guarded behavior-inventory version for the current daemon build. Bump this
|
|
9
|
+
* on every guarded daemon-behavior change independent of the wire version; it
|
|
10
|
+
* does not force a live daemon reload by itself.
|
|
14
11
|
* The current development baseline already includes #2299's generation 4,
|
|
15
12
|
* incarnation fencing in generation 5, owner-lock authority in generation 6,
|
|
16
13
|
* identity-atomic transition markers in generation 7, stable signaling plus
|
|
@@ -19,7 +16,34 @@ export declare const NOTIFICATION_PROTOCOL_VERSION = 3;
|
|
|
19
16
|
* confirmed-dead owner's lock in generation 10, legacy stopped-tombstone
|
|
20
17
|
* reclamation in generation 11, force-escalated SIGKILL of an unresponsive
|
|
21
18
|
* older-generation owner during automatic generation-upgrade reload in
|
|
22
|
-
* generation 12,
|
|
23
|
-
* incarnation recheck, replacing the darwin no-op) in generation 13
|
|
19
|
+
* generation 12, restored macOS daemon signaling (kill(2) with a start-time
|
|
20
|
+
* incarnation recheck, replacing the darwin no-op) in generation 13, retained
|
|
21
|
+
* legacy stopped-lock reclamation in generation 14, Windows expected-identity
|
|
22
|
+
* ACL verification and repair in generation 15, identity-fenced stale endpoint
|
|
23
|
+
* startup recovery in generation 16, Telegram topic recovery authority fencing
|
|
24
|
+
* in generation 17, fail-closed blank-token validation plus lifecycle-startup
|
|
25
|
+
* stop fencing in generation 18, recommended ask metadata rendering in
|
|
26
|
+
* generation 19, authoritative terminal session-close delivery and cleanup
|
|
27
|
+
* fencing, attested generation-bearing pre-incarnation owner handoff in
|
|
28
|
+
* generation 20, guarded modern generation-absent predecessor signaling in
|
|
29
|
+
* generation 21, dead Windows v0.10 owner replacement in generation 22, and
|
|
30
|
+
* retained native cleanup authority revalidation in generation 23, and typed
|
|
31
|
+
* retained exact-unlink cleanup authority acceptance (concrete detached
|
|
32
|
+
* quarantine plus proven canonical absence) in generation 24.
|
|
33
|
+
* Generation 25 adds startup dead-root prune + leak-artifact self-heal
|
|
34
|
+
* on TelegramNotificationDaemon.run (#2958). Generation 26 adds bounded reload
|
|
35
|
+
* cooldown and lazy Telegram topic lifecycle safeguards (#2956, #2960, #2984).
|
|
36
|
+
* Generation 27 refreshes retained native path and process authority semantics.
|
|
37
|
+
* Generation 28 rejects special files before retained native authority opens.
|
|
38
|
+
* Generation 29 adds serving-epoch compatibility, sidecar heartbeat, root GC,
|
|
39
|
+
* and Bot API cooldown structural fixes (#2956, #2960, #3048).
|
|
40
|
+
* Generation 30 adds opt-in tool activity delivery, closed lifecycle phases,
|
|
41
|
+
* and capability-versioned mixed-host compatibility.
|
|
24
42
|
*/
|
|
25
|
-
export declare const DAEMON_GENERATION =
|
|
43
|
+
export declare const DAEMON_GENERATION = 30;
|
|
44
|
+
/**
|
|
45
|
+
* Serving-compatibility boundary for daemon lifecycle requests. Epoch 1 covers
|
|
46
|
+
* all builds published before this field existed; epoch 2 covered generation 29;
|
|
47
|
+
* bump this to force serving convergence and reload of compatible live predecessors.
|
|
48
|
+
*/
|
|
49
|
+
export declare const SERVING_EPOCH = 3;
|
|
@@ -24,8 +24,11 @@ export declare function writeTelegramControlRequest(settings: Settings, request:
|
|
|
24
24
|
export declare function clearTelegramControlRequest(settings: Settings, requestId?: string, fsImpl?: TelegramDaemonFs): Promise<void>;
|
|
25
25
|
export interface DaemonProcessReference {
|
|
26
26
|
incarnation: string;
|
|
27
|
+
/** Whether the platform delivers the requested signal cooperatively or as a hard termination. */
|
|
28
|
+
termination: "cooperative" | "hard";
|
|
27
29
|
signalRoot(signal: NodeJS.Signals): void;
|
|
28
30
|
}
|
|
31
|
+
export declare function defaultProcessReference(pid: number, platform?: NodeJS.Platform): DaemonProcessReference | undefined;
|
|
29
32
|
export interface TelegramDaemonControlDeps {
|
|
30
33
|
fs?: TelegramDaemonFs;
|
|
31
34
|
now?: () => number;
|
|
@@ -58,6 +61,7 @@ export type TelegramGenerationReloadResult = {
|
|
|
58
61
|
operation: DaemonOperationResult;
|
|
59
62
|
};
|
|
60
63
|
export declare class TelegramDaemonController implements BuiltInDaemonController {
|
|
64
|
+
#private;
|
|
61
65
|
private readonly settings;
|
|
62
66
|
private readonly deps;
|
|
63
67
|
readonly kind: "telegram";
|
|
@@ -81,7 +85,7 @@ export declare class TelegramDaemonController implements BuiltInDaemonController
|
|
|
81
85
|
private signalCapturedOwner;
|
|
82
86
|
private result;
|
|
83
87
|
reload(opts?: DaemonOperationOptions): Promise<DaemonOperationResult>;
|
|
84
|
-
reloadForGenerationUpgrade(opts?: DaemonOperationOptions): Promise<TelegramGenerationReloadResult>;
|
|
88
|
+
reloadForGenerationUpgrade(opts?: DaemonOperationOptions, attestedLegacyUpgrade?: boolean): Promise<TelegramGenerationReloadResult>;
|
|
85
89
|
stop(opts?: DaemonOperationOptions): Promise<DaemonOperationResult>;
|
|
86
90
|
private stopOrReload;
|
|
87
91
|
/** Clear only our exact control request; a successor request must survive. */
|