mixdog 1.2.2 → 1.2.4
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 +18 -0
- package/package.json +2 -1
- package/scripts/gate-local.mjs +6 -4
- package/scripts/lib/gate-scheduler.mjs +29 -11
- package/scripts/probe-provider-catalog.mjs +31 -0
- package/scripts/provider-pingpong-live.mjs +599 -0
- package/scripts/session-sweep.mjs +5 -25
- package/src/agents/advisor/AGENT.md +1 -1
- package/src/agents/advisor/agent.json +1 -1
- package/src/agents/maintainer/AGENT.md +1 -1
- package/src/agents/maintainer/agent.json +1 -1
- package/src/agents/reviewer/AGENT.md +2 -4
- package/src/agents/security/AGENT.md +1 -2
- package/src/agents/writer/AGENT.md +2 -3
- package/src/defaults/shipped-history.json +11 -1
- package/src/defaults/skills/image/SKILL.md +21 -23
- package/src/defaults/skills/setup/SKILL.md +6 -1
- package/src/defaults/skills/setup/references/actions.md +44 -22
- package/src/defaults/skills/setup/references/surfaces.md +10 -8
- package/src/headless-exec.mjs +15 -8
- package/src/lib/keychain-cjs.cjs +20 -15
- package/src/output-styles/common.md +11 -10
- package/src/rules/agent/AGENT.md +6 -4
- package/src/rules/lead/LEAD.md +7 -9
- package/src/rules/shared/45-destructive.md +4 -0
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch/preset.mjs +1 -0
- package/src/runtime/agent/orchestrator/agent-runtime/agent-progress-watchdog.mjs +28 -7
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +2 -11
- package/src/runtime/agent/orchestrator/agent-trace-io.mjs +92 -61
- package/src/runtime/agent/orchestrator/cache-mtime.mjs +10 -1
- package/src/runtime/agent/orchestrator/config-providers-merge.mjs +7 -0
- package/src/runtime/agent/orchestrator/config.mjs +5 -0
- package/src/runtime/agent/orchestrator/context/collect.mjs +1 -0
- package/src/runtime/agent/orchestrator/context/deferred-tools.mjs +26 -7
- package/src/runtime/agent/orchestrator/context/skill-catalog.mjs +112 -7
- package/src/runtime/agent/orchestrator/mcp/child-tree.mjs +101 -23
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-api-key-fetch.mjs +36 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-api-request.mjs +48 -20
- package/src/runtime/agent/orchestrator/providers/anthropic-error-contract.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-max-tokens.mjs +24 -17
- package/src/runtime/agent/orchestrator/providers/anthropic-messages.mjs +9 -9
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-request/gzip-post.mjs +26 -44
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth.mjs +31 -15
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-blocks.mjs +20 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events/content-block-delta.mjs +15 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events/content-block-start.mjs +11 -4
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events/message-events.mjs +3 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events.mjs +12 -5
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-outcome.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-state.mjs +14 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-sse.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-turn-result.mjs +9 -0
- package/src/runtime/agent/orchestrator/providers/anthropic.mjs +10 -0
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-catalog.mjs +41 -12
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth.mjs +13 -1
- package/src/runtime/agent/orchestrator/providers/antigravity-request.mjs +131 -9
- package/src/runtime/agent/orchestrator/providers/antigravity-response.mjs +29 -10
- package/src/runtime/agent/orchestrator/providers/antigravity-retry-policy.mjs +125 -8
- package/src/runtime/agent/orchestrator/providers/antigravity-stream.mjs +12 -62
- package/src/runtime/agent/orchestrator/providers/antigravity-transport.mjs +117 -41
- package/src/runtime/agent/orchestrator/providers/codex-client-meta.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/command-code-oauth.mjs +117 -72
- package/src/runtime/agent/orchestrator/providers/compat-request-policy.mjs +78 -2
- package/src/runtime/agent/orchestrator/providers/cursor-auth.mjs +39 -5
- package/src/runtime/agent/orchestrator/providers/cursor-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/cursor-native-context.mjs +48 -0
- package/src/runtime/agent/orchestrator/providers/cursor-wire-exec.mjs +144 -34
- package/src/runtime/agent/orchestrator/providers/cursor-wire-protobuf.mjs +28 -4
- package/src/runtime/agent/orchestrator/providers/cursor-wire-request.mjs +8 -4
- package/src/runtime/agent/orchestrator/providers/cursor-wire-stream-bridge.mjs +42 -11
- package/src/runtime/agent/orchestrator/providers/cursor-wire-stream-messages.mjs +109 -6
- package/src/runtime/agent/orchestrator/providers/cursor-wire.mjs +17 -4
- package/src/runtime/agent/orchestrator/providers/cursor.mjs +22 -2
- package/src/runtime/agent/orchestrator/providers/custom-provider-config.mjs +73 -7
- package/src/runtime/agent/orchestrator/providers/custom-provider.mjs +75 -6
- package/src/runtime/agent/orchestrator/providers/custom-reasoning.mjs +34 -7
- package/src/runtime/agent/orchestrator/providers/custom-tool-wire.mjs +32 -6
- package/src/runtime/agent/orchestrator/providers/deepseek.mjs +67 -0
- package/src/runtime/agent/orchestrator/providers/effort-configuration.mjs +29 -5
- package/src/runtime/agent/orchestrator/providers/gemini-cache-policy.mjs +11 -4
- package/src/runtime/agent/orchestrator/providers/gemini-cache.mjs +36 -13
- package/src/runtime/agent/orchestrator/providers/gemini-error-contract.mjs +101 -11
- package/src/runtime/agent/orchestrator/providers/gemini-request-body.mjs +41 -5
- package/src/runtime/agent/orchestrator/providers/gemini-response.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/gemini-rest-stream/watchdogs.mjs +16 -5
- package/src/runtime/agent/orchestrator/providers/gemini-retry-policy.mjs +19 -14
- package/src/runtime/agent/orchestrator/providers/gemini-schema.mjs +371 -41
- package/src/runtime/agent/orchestrator/providers/gemini-sdk-request.mjs +1 -2
- package/src/runtime/agent/orchestrator/providers/gemini-stream.mjs +97 -49
- package/src/runtime/agent/orchestrator/providers/gemini-thinking.mjs +81 -10
- package/src/runtime/agent/orchestrator/providers/gemini.mjs +35 -8
- package/src/runtime/agent/orchestrator/providers/grok-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/grok-oauth.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/lib/action-input-contract.mjs +60 -0
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-native-blocks.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-request-utils.mjs +253 -42
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-server-tool-usage.mjs +18 -0
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-system-blocks.mjs +27 -6
- package/src/runtime/agent/orchestrator/providers/lib/claude-bridge-schema.mjs +392 -0
- package/src/runtime/agent/orchestrator/providers/lib/inclusive-usage.mjs +54 -0
- package/src/runtime/agent/orchestrator/providers/lib/origin-bound-fetch.mjs +16 -0
- package/src/runtime/agent/orchestrator/providers/lib/request-compression.mjs +86 -0
- package/src/runtime/agent/orchestrator/providers/lib/responses-terminal-fields.mjs +11 -0
- package/src/runtime/agent/orchestrator/providers/lib/usage-primitives.mjs +8 -0
- package/src/runtime/agent/orchestrator/providers/lib/wire-pairing.mjs +50 -22
- package/src/runtime/agent/orchestrator/providers/media-normalization.mjs +133 -21
- package/src/runtime/agent/orchestrator/providers/mimo-oauth-profile.mjs +13 -15
- package/src/runtime/agent/orchestrator/providers/mimo-oauth.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/model-proxy-channel.d.mts +1 -1
- package/src/runtime/agent/orchestrator/providers/model-proxy-channel.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/model-proxy-provider.mjs +92 -16
- package/src/runtime/agent/orchestrator/providers/oauth-credential-probes.mjs +13 -13
- package/src/runtime/agent/orchestrator/providers/openai-codex-metadata.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-send.mjs +133 -62
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/chunk-events.mjs +35 -14
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/stream-result.mjs +5 -2
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/stream-state.mjs +39 -7
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/tool-call-acc.mjs +2 -9
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream.mjs +5 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-error-contract.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-models.mjs +84 -2
- package/src/runtime/agent/orchestrator/providers/openai-compat-options.mjs +47 -25
- package/src/runtime/agent/orchestrator/providers/openai-compat-presets.mjs +5 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-reasoning-field.mjs +155 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-response-normalization.mjs +40 -24
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-events.mjs +63 -25
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-head-parity.json +2901 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-parity.fixtures.mjs +183 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses.mjs +87 -6
- package/src/runtime/agent/orchestrator/providers/openai-compat-retry-profile.mjs +51 -3
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-trace.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-wire.mjs +103 -26
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai-send.mjs +23 -4
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai.mjs +11 -6
- package/src/runtime/agent/orchestrator/providers/openai-compat.mjs +17 -2
- package/src/runtime/agent/orchestrator/providers/openai-direct-request.mjs +15 -23
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-request.mjs +64 -52
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events/output-items.mjs +23 -10
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events/terminal-frames.mjs +28 -5
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events.mjs +10 -0
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-items.mjs +18 -7
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-outcome.mjs +4 -0
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-state.mjs +5 -0
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/text-relay.mjs +9 -1
- package/src/runtime/agent/orchestrator/providers/openai-model-capabilities.mjs +80 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-dispatch.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/openai-oauth-http-sse.mjs +7 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/openai-responses-input.mjs +72 -24
- package/src/runtime/agent/orchestrator/providers/openai-responses-payload-parity.fixture.json +323 -0
- package/src/runtime/agent/orchestrator/providers/openai-responses-payload.mjs +50 -16
- package/src/runtime/agent/orchestrator/providers/openai-ws-delta.mjs +7 -19
- package/src/runtime/agent/orchestrator/providers/openai-ws-response-state/refusals.mjs +60 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-response-state/tool-calls.mjs +51 -36
- package/src/runtime/agent/orchestrator/providers/openai-ws-response-state.mjs +30 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream/event-switch.mjs +12 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream/terminal-frames.mjs +25 -6
- package/src/runtime/agent/orchestrator/providers/openai-ws.mjs +18 -9
- package/src/runtime/agent/orchestrator/providers/opencode-go-gemini.mjs +181 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go.mjs +78 -70
- package/src/runtime/agent/orchestrator/providers/openrouter.mjs +74 -0
- package/src/runtime/agent/orchestrator/providers/provider-error-kind.mjs +150 -10
- package/src/runtime/agent/orchestrator/providers/registry.mjs +13 -2
- package/src/runtime/agent/orchestrator/providers/retry-classification.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/transport-scope.d.mts +6 -0
- package/src/runtime/agent/orchestrator/providers/transport-scope.mjs +28 -0
- package/src/runtime/agent/orchestrator/providers/wire-gateway.mjs +164 -0
- package/src/runtime/agent/orchestrator/providers/wire-route.mjs +522 -0
- package/src/runtime/agent/orchestrator/providers/xai-tool-search-head-parity.json +1131 -0
- package/src/runtime/agent/orchestrator/providers/xai-tool-search.fixtures.mjs +195 -0
- package/src/runtime/agent/orchestrator/runtime-core/ask-user-tool-defs.mjs +104 -0
- package/src/runtime/agent/orchestrator/runtime-core/config-helpers.mjs +8 -6
- package/src/runtime/agent/orchestrator/runtime-core/deferred-tool-availability.mjs +24 -0
- package/src/runtime/agent/orchestrator/runtime-core/effort.mjs +15 -0
- package/src/runtime/agent/orchestrator/runtime-core/goal-store.mjs +30 -2
- package/src/runtime/agent/orchestrator/runtime-core/goal-turns.mjs +3 -2
- package/src/runtime/agent/orchestrator/runtime-core/orchestration.mjs +8 -3
- package/src/runtime/agent/orchestrator/runtime-core/provider-request-snapshot.mjs +7 -3
- package/src/runtime/agent/orchestrator/runtime-core/session-title.mjs +21 -1
- package/src/runtime/agent/orchestrator/runtime-core/skill-tool-loading.mjs +16 -3
- package/src/runtime/agent/orchestrator/runtime-core/tool-bridge-contract.mjs +6 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-bridge.mjs +526 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog-data.mjs +3 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog-schema.mjs +10 -7
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog.mjs +178 -71
- package/src/runtime/agent/orchestrator/runtime-core/tool-defs.mjs +102 -12
- package/src/runtime/agent/orchestrator/runtime-core/tool-exposure.mjs +96 -0
- package/src/runtime/agent/orchestrator/runtime-core/workflow.mjs +10 -8
- package/src/runtime/agent/orchestrator/session/agent-loop.mjs +1 -2
- package/src/runtime/agent/orchestrator/session/agent-pool-progress.mjs +24 -0
- package/src/runtime/agent/orchestrator/session/cache/tool-result-reuse.mjs +10 -2
- package/src/runtime/agent/orchestrator/session/catalog-db/index.mjs +2 -3
- package/src/runtime/agent/orchestrator/session/catalog-db/schema.mjs +5 -11
- package/src/runtime/agent/orchestrator/session/catalog-db/worker.mjs +6 -22
- package/src/runtime/agent/orchestrator/session/compact/constants.mjs +3 -2
- package/src/runtime/agent/orchestrator/session/compact/messages.mjs +16 -93
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +16 -2
- package/src/runtime/agent/orchestrator/session/compact/summary-anchor.mjs +5 -0
- package/src/runtime/agent/orchestrator/session/compact/user-message-kind.mjs +148 -0
- package/src/runtime/agent/orchestrator/session/compaction-archive-capture.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/context-tool-schema.mjs +17 -2
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +8 -4
- package/src/runtime/agent/orchestrator/session/conversation-import/claude.mjs +0 -6
- package/src/runtime/agent/orchestrator/session/conversation-import/codex.mjs +0 -6
- package/src/runtime/agent/orchestrator/session/eager-dispatch/admission.mjs +3 -2
- package/src/runtime/agent/orchestrator/session/eager-dispatch.mjs +6 -1
- package/src/runtime/agent/orchestrator/session/historical-session-closure.mjs +10 -0
- package/src/runtime/agent/orchestrator/session/loop/assistant-commit.mjs +2 -5
- package/src/runtime/agent/orchestrator/session/loop/compact-policy.mjs +89 -1
- package/src/runtime/agent/orchestrator/session/loop/completion-guards.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/context-overflow.mjs +56 -0
- package/src/runtime/agent/orchestrator/session/loop/deferred-call-through.mjs +18 -8
- package/src/runtime/agent/orchestrator/session/loop/loop-state.mjs +1 -27
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn/output-limit.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn/segments.mjs +4 -10
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn.mjs +2 -9
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +24 -10
- package/src/runtime/agent/orchestrator/session/loop/provider-tool-exclusions.mjs +135 -0
- package/src/runtime/agent/orchestrator/session/loop/request-boundary.mjs +31 -4
- package/src/runtime/agent/orchestrator/session/loop/route-fallback.mjs +76 -0
- package/src/runtime/agent/orchestrator/session/loop/send-phase.mjs +67 -20
- package/src/runtime/agent/orchestrator/session/loop/step-auto-effort.mjs +10 -10
- package/src/runtime/agent/orchestrator/session/loop/tool-call-resolution.mjs +95 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-classify.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/before-hook.mjs +30 -3
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/dispatch.mjs +29 -5
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +15 -1
- package/src/runtime/agent/orchestrator/session/loop/tool-exposure-migration.mjs +147 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-phase.mjs +7 -5
- package/src/runtime/agent/orchestrator/session/manager/ask-session.mjs +33 -3
- package/src/runtime/agent/orchestrator/session/manager/ask-support.mjs +0 -4
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-auto-effort.mjs +23 -2
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-commit.mjs +34 -12
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-execute.mjs +54 -13
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-failure.mjs +33 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-loop-options.mjs +57 -25
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-prepare.mjs +11 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-settle.mjs +22 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-state.mjs +57 -13
- package/src/runtime/agent/orchestrator/session/manager/compaction-runner.mjs +8 -0
- package/src/runtime/agent/orchestrator/session/manager/failed-turn-rewind.mjs +16 -0
- package/src/runtime/agent/orchestrator/session/manager/pending-messages.mjs +6 -120
- package/src/runtime/agent/orchestrator/session/manager/pending-persist-queue.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/manager/prompt-utils.mjs +231 -16
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +42 -49
- package/src/runtime/agent/orchestrator/session/manager/runtime-state.mjs +50 -0
- package/src/runtime/agent/orchestrator/session/manager/session-close.mjs +47 -17
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +26 -4
- package/src/runtime/agent/orchestrator/session/manager/session-fallback-title.mjs +82 -0
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +36 -35
- package/src/runtime/agent/orchestrator/session/manager/session-prompt-composition.mjs +29 -13
- package/src/runtime/agent/orchestrator/session/manager/session-record.mjs +6 -3
- package/src/runtime/agent/orchestrator/session/manager/tool-resolution.mjs +4 -1
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-recovery.mjs +45 -0
- package/src/runtime/agent/orchestrator/session/manager.mjs +4 -10
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/send-instrumentation.mjs +2 -1
- package/src/runtime/agent/orchestrator/session/send-with-recovery.mjs +17 -1
- package/src/runtime/agent/orchestrator/session/side-question-store.mjs +96 -0
- package/src/runtime/agent/orchestrator/session/side-question.mjs +197 -0
- package/src/runtime/agent/orchestrator/session/store/lifecycle-barriers.mjs +22 -15
- package/src/runtime/agent/orchestrator/session/store/lifecycle-read.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/listing.mjs +2 -6
- package/src/runtime/agent/orchestrator/session/store/live-cache-eviction.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/live-state.mjs +23 -0
- package/src/runtime/agent/orchestrator/session/store/liveness-veto.mjs +46 -37
- package/src/runtime/agent/orchestrator/session/store/load-cache.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/load-session.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/session-delete.mjs +44 -37
- package/src/runtime/agent/orchestrator/session/store/session-observers.mjs +4 -2
- package/src/runtime/agent/orchestrator/session/store/session-paths.mjs +59 -0
- package/src/runtime/agent/orchestrator/session/store/summary-cache.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/sweep/stale-sweep.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/sweep/sweep-finish.mjs +27 -21
- package/src/runtime/agent/orchestrator/session/store/sweep/sweep-plan.mjs +0 -8
- package/src/runtime/agent/orchestrator/session/store/sweep/sweep-record.mjs +6 -18
- package/src/runtime/agent/orchestrator/session/store/sweep/sweep-row.mjs +33 -106
- package/src/runtime/agent/orchestrator/session/store/write-admission.mjs +4 -2
- package/src/runtime/agent/orchestrator/session/store-agent-worker-pool.mjs +5 -8
- package/src/runtime/agent/orchestrator/session/store-agent-worker-rows.mjs +136 -196
- package/src/runtime/agent/orchestrator/session/store-summary-archived-agent.mjs +34 -15
- package/src/runtime/agent/orchestrator/session/store-summary-catalog.mjs +53 -115
- package/src/runtime/agent/orchestrator/session/store-summary-fields.mjs +8 -0
- package/src/runtime/agent/orchestrator/session/store-summary-index.mjs +10 -1
- package/src/runtime/agent/orchestrator/session/store-summary-locations.mjs +3 -29
- package/src/runtime/agent/orchestrator/session/store-summary-reader-catalog-fixture.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +17 -10
- package/src/runtime/agent/orchestrator/session/store-transcript-projection.mjs +9 -20
- package/src/runtime/agent/orchestrator/session/store.mjs +22 -19
- package/src/runtime/agent/orchestrator/session/tool-batch/execute-call.mjs +12 -12
- package/src/runtime/agent/orchestrator/session/tool-batch/finalize.mjs +38 -14
- package/src/runtime/agent/orchestrator/session/tool-batch/pre-dispatch.mjs +15 -4
- package/src/runtime/agent/orchestrator/session/tool-batch/record-outcome.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/tool-batch/state.mjs +7 -1
- package/src/runtime/agent/orchestrator/session/tool-result-offload.mjs +4 -0
- package/src/runtime/agent/orchestrator/session/tool-schema-rejection.mjs +79 -0
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +72 -15
- package/src/runtime/agent/orchestrator/session/turn-failure.mjs +45 -0
- package/src/runtime/agent/orchestrator/stall-policy.mjs +50 -0
- package/src/runtime/agent/orchestrator/tools/bash-policy-scan.mjs +8 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/command-preflight.mjs +3 -3
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/completed-result.mjs +5 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/inline-hoist.mjs +6 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +4 -1
- package/src/runtime/agent/orchestrator/tools/builtin/external-tool-adapters.mjs +218 -20
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +160 -39
- package/src/runtime/agent/orchestrator/tools/builtin/git-partial-stage.mjs +7 -5
- package/src/runtime/agent/orchestrator/tools/builtin/grep-formatting.mjs +14 -5
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-context-expander.mjs +4 -3
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-output.mjs +2 -1
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-path-fanout.mjs +48 -44
- package/src/runtime/agent/orchestrator/tools/builtin/lib/search-input-helpers.mjs +10 -3
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.mjs +247 -49
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-task-output.mjs +5 -4
- package/src/runtime/agent/orchestrator/tools/builtin/read-formatting.mjs +6 -1
- package/src/runtime/agent/orchestrator/tools/builtin/runtime-capabilities.mjs +23 -1
- package/src/runtime/agent/orchestrator/tools/builtin/shell-analysis.mjs +20 -0
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +101 -2
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch/root-resolution.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/code-graph/search.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/code-graph-prewarm-worker.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/lib/owned-shell-trees.mjs +67 -0
- package/src/runtime/agent/orchestrator/tools/lib/process-table-fixture.mjs +50 -0
- package/src/runtime/agent/orchestrator/tools/lib/shell-descendants.mjs +303 -63
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background/promote-job.mjs +2 -0
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-settle.mjs +108 -18
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-spawn.mjs +77 -11
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-state.mjs +81 -5
- package/src/runtime/agent/orchestrator/tools/patch/ui-diff.mjs +73 -39
- package/src/runtime/agent/orchestrator/tools/progress-message.mjs +18 -1
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +7 -4
- package/src/runtime/agent/orchestrator/tools/shell-exec-policy.mjs +88 -12
- package/src/runtime/agent/orchestrator/tools/shell-policy.mjs +2 -0
- package/src/runtime/attachments/store.d.mts +9 -0
- package/src/runtime/attachments/store.mjs +80 -9
- package/src/runtime/browser-bridge/browser-action-contract.d.mts +0 -1
- package/src/runtime/browser-bridge/browser-action-contract.mjs +0 -2
- package/src/runtime/computer-bridge/action-schema.mjs +219 -196
- package/src/runtime/computer-bridge/linux-readiness.d.mts +0 -2
- package/src/runtime/computer-bridge/linux-readiness.mjs +0 -16
- package/src/runtime/effort-judge/judge-client.mjs +21 -4
- package/src/runtime/effort-judge/judge-worker.mjs +4 -1
- package/src/runtime/github/tool.mjs +208 -17
- package/src/runtime/media/adapters/codex-image.mjs +140 -21
- package/src/runtime/media/catalog.mjs +4 -4
- package/src/runtime/media/chatgpt-usage.mjs +55 -0
- package/src/runtime/media/defaults.mjs +37 -0
- package/src/runtime/media/jobs.mjs +12 -2
- package/src/runtime/media/lanes.mjs +12 -0
- package/src/runtime/media/tool-defs.mjs +15 -4
- package/src/runtime/media/tool.mjs +41 -12
- package/src/runtime/media/upstream-error.mjs +72 -6
- package/src/runtime/memory/index.mjs +1 -0
- package/src/runtime/memory/lib/http-router/ingest-routes.mjs +22 -1
- package/src/runtime/memory/lib/ingest/transcript-offsets.mjs +2 -0
- package/src/runtime/memory/lib/ingest/transcript-rows.mjs +1 -0
- package/src/runtime/memory/lib/pg/adapter.mjs +98 -1
- package/src/runtime/memory/lib/pg/process.mjs +36 -33
- package/src/runtime/memory/lib/pg/run-child.mjs +49 -0
- package/src/runtime/memory/lib/pg/supervisor.mjs +112 -4
- package/src/runtime/memory/lib/runtime-fetcher.mjs +12 -13
- package/src/runtime/memory/lib/transcript-ingest.mjs +14 -0
- package/src/runtime/office/README.md +1 -1
- package/src/runtime/office/authoring/docx-html-runner.mjs +1 -1
- package/src/runtime/office/authoring/html-browser.mjs +18 -8
- package/src/runtime/office/authoring/html-document-author.mjs +2 -0
- package/src/runtime/office/authoring/pdf-html-runner.mjs +1 -1
- package/src/runtime/office/authoring/pptx-contact-sheet.mjs +2 -0
- package/src/runtime/office/authoring/pptx-html-measure.mjs +3 -1
- package/src/runtime/office/authoring/pptx-html-runner.mjs +2 -0
- package/src/runtime/office/authoring/xlsx-html-runner.mjs +3 -1
- package/src/runtime/office/core/office-actions-read.mjs +3 -0
- package/src/runtime/office/core/office-render-preview.mjs +2 -0
- package/src/runtime/office/core/office-session-dispatch.mjs +7 -0
- package/src/runtime/office/core/office-sessionless-actions.mjs +8 -0
- package/src/runtime/office/core/office-sessions.mjs +5 -0
- package/src/runtime/office/core/office-transactions.mjs +3 -0
- package/src/runtime/office/core/office-write-ledger.mjs +94 -0
- package/src/runtime/office/design/library/templates/mixdog-executive.mixdog-edit.pptx +0 -0
- package/src/runtime/office/index.mjs +29 -0
- package/src/runtime/office/pdf/pdf-analysis.mjs +0 -68
- package/src/runtime/office/pdf/pdf-edit-document.mjs +2 -0
- package/src/runtime/office/pdf/pdf-render.mjs +23 -7
- package/src/runtime/office/pdf/pdf-security.mjs +2 -0
- package/src/runtime/office/portable/portable-opc.mjs +4 -1
- package/src/runtime/office/quality/visual-diff.mjs +2 -0
- package/src/runtime/session-search/session-search-ingest.mjs +1 -1
- package/src/runtime/shared/agent-reap-state.mjs +13 -0
- package/src/runtime/shared/atomic-file.d.mts +1 -1
- package/src/runtime/shared/background-tasks.mjs +6 -1
- package/src/runtime/shared/bounded-file-read.mjs +13 -0
- package/src/runtime/shared/bounded-line-diff.mjs +191 -0
- package/src/runtime/shared/browser-launch.mjs +15 -0
- package/src/runtime/shared/buffered-appender.mjs +18 -0
- package/src/runtime/shared/config.mjs +78 -18
- package/src/runtime/shared/err-text.mjs +48 -4
- package/src/runtime/shared/file-lock.mjs +6 -5
- package/src/runtime/shared/file-permissions.d.mts +6 -1
- package/src/runtime/shared/file-permissions.mjs +54 -6
- package/src/runtime/shared/llm/anthropic-betas.mjs +1 -2
- package/src/runtime/shared/llm/anthropic-effort.mjs +6 -0
- package/src/runtime/shared/llm/provider-model-identities.mjs +1 -0
- package/src/runtime/shared/llm/usage-accounting.mjs +5 -2
- package/src/runtime/shared/llm/usage-ledger-rollup.mjs +3 -0
- package/src/runtime/shared/loopback-listener.mjs +9 -0
- package/src/runtime/shared/model-route-chain.d.mts +8 -0
- package/src/runtime/shared/model-route-chain.mjs +48 -0
- package/src/runtime/shared/model-route-fallback.mjs +22 -0
- package/src/runtime/shared/pid-liveness.mjs +12 -0
- package/src/runtime/shared/provider-api-key.mjs +8 -0
- package/src/runtime/shared/provider-timeout-phase.mjs +17 -0
- package/src/runtime/shared/quiet-progress.d.mts +35 -0
- package/src/runtime/shared/quiet-progress.mjs +101 -0
- package/src/runtime/shared/quota-resume-store.mjs +32 -1
- package/src/runtime/shared/read-row-numbers.mjs +44 -0
- package/src/runtime/shared/remote-intent.mjs +2 -42
- package/src/runtime/shared/review-diff.mjs +52 -0
- package/src/runtime/shared/session-sidebar-host.d.mts +4 -0
- package/src/runtime/shared/session-sidebar-host.mjs +38 -0
- package/src/runtime/shared/slow-span.mjs +121 -0
- package/src/runtime/shared/statusline/statusline-segments.mjs +52 -6
- package/src/runtime/shared/tool-card-model/card-header.mjs +7 -1
- package/src/runtime/shared/tool-card-model/generic-detail.mjs +39 -5
- package/src/runtime/shared/tool-card-model.mjs +5 -2
- package/src/runtime/shared/tool-output-budget.mjs +2 -0
- package/src/runtime/shared/tool-output-limit.mjs +4 -0
- package/src/runtime/shared/tool-primitives.mjs +13 -0
- package/src/runtime/shared/tool-result-summary.mjs +22 -1
- package/src/runtime/shared/tool-status.mjs +3 -2
- package/src/runtime/shared/tool-surface.mjs +20 -6
- package/src/runtime/shared/tool-work-units.mjs +54 -11
- package/src/runtime/shared/transcript-metadata.mjs +49 -1
- package/src/runtime/shared/transcript-turn-keys.mjs +33 -0
- package/src/runtime/shared/transcript-writer/purge.mjs +74 -0
- package/src/runtime/shared/transcript-writer/transcript-file.mjs +10 -1
- package/src/runtime/shared/transcript-writer.mjs +24 -6
- package/src/runtime/shared/turn-changes.mjs +269 -100
- package/src/runtime/shared/turn-review-reply.mjs +8 -39
- package/src/runtime/shared/turn-snapshot-store.mjs +19 -108
- package/src/runtime/shared/turn-snapshot.mjs +865 -683
- package/src/runtime/shared/turn-worktree-snapshot.mjs +183 -255
- package/src/runtime/shared/user-data-guard.mjs +262 -49
- package/src/runtime/shared/worktrees/activity-gate.mjs +175 -0
- package/src/runtime/shared/worktrees/branch-management.mjs +179 -0
- package/src/runtime/shared/worktrees/carry.mjs +533 -0
- package/src/runtime/shared/worktrees/contract.mjs +60 -0
- package/src/runtime/shared/worktrees/dependencies.mjs +456 -0
- package/src/runtime/shared/worktrees/file-recovery.mjs +84 -0
- package/src/runtime/shared/worktrees/git-head.mjs +214 -0
- package/src/runtime/shared/worktrees/git.mjs +8 -3
- package/src/runtime/shared/worktrees/include.mjs +125 -7
- package/src/runtime/shared/worktrees/lock.mjs +1 -1
- package/src/runtime/shared/worktrees/maintenance.mjs +20 -2
- package/src/runtime/shared/worktrees/manager.mjs +525 -31
- package/src/runtime/shared/worktrees/merge.mjs +31 -21
- package/src/runtime/shared/worktrees/owner.mjs +2 -1
- package/src/runtime/shared/worktrees/paths.d.mts +6 -0
- package/src/runtime/shared/worktrees/preparation-report.mjs +79 -0
- package/src/runtime/shared/worktrees/setup-commands.mjs +232 -0
- package/src/runtime/shared/worktrees/workspace-visibility.mjs +17 -0
- package/src/runtime/terminal-bridge/client.mjs +57 -20
- package/src/runtime/terminal-bridge/tool-defs.mjs +13 -6
- package/src/runtime/tidy/apply.mjs +47 -2
- package/src/runtime/tidy/run-engines.mjs +11 -5
- package/src/session-runtime/agent-tool-routing.mjs +19 -13
- package/src/session-runtime/boot/apis.mjs +20 -6
- package/src/session-runtime/boot/config.mjs +2 -0
- package/src/session-runtime/boot/facade.mjs +4 -0
- package/src/session-runtime/boot/infrastructure.mjs +6 -1
- package/src/session-runtime/boot/session.mjs +3 -3
- package/src/session-runtime/boot/tools.mjs +7 -1
- package/src/session-runtime/conversation-import/service.mjs +1 -1
- package/src/session-runtime/cwd-plugins/cwd-apply.mjs +12 -5
- package/src/session-runtime/goal-facade-api.mjs +2 -2
- package/src/session-runtime/internal-tool-executor/ask-user-tool.mjs +91 -0
- package/src/session-runtime/internal-tool-executor/bridge-tools.mjs +3 -1
- package/src/session-runtime/internal-tool-executor/knowledge-tools.mjs +15 -5
- package/src/session-runtime/internal-tool-executor/workspace-tools.mjs +137 -26
- package/src/session-runtime/internal-tool-executor.mjs +8 -2
- package/src/session-runtime/lifecycle/cold-heir.mjs +187 -0
- package/src/session-runtime/lifecycle/inheritance.mjs +71 -27
- package/src/session-runtime/lifecycle/session-catalog.mjs +25 -18
- package/src/session-runtime/lifecycle/session-switch/resume.mjs +6 -0
- package/src/session-runtime/lifecycle/session-switch/session-delete.mjs +36 -48
- package/src/session-runtime/lifecycle/session-switch.mjs +1 -1
- package/src/session-runtime/lifecycle/shared.mjs +5 -6
- package/src/session-runtime/lifecycle/teardown/session-close.mjs +6 -5
- package/src/session-runtime/lifecycle/teardown.mjs +70 -14
- package/src/session-runtime/lifecycle-api.mjs +1 -0
- package/src/session-runtime/mcp-glue/connect.mjs +17 -5
- package/src/session-runtime/media-api.mjs +8 -0
- package/src/session-runtime/model-route/route-ownership.mjs +60 -0
- package/src/session-runtime/model-route/route-persist.mjs +3 -2
- package/src/session-runtime/model-route/set-route.mjs +116 -36
- package/src/session-runtime/model-route/web-search-route.mjs +7 -2
- package/src/session-runtime/model-route-api.mjs +4 -2
- package/src/session-runtime/native-web-search/routes.mjs +37 -24
- package/src/session-runtime/native-web-search-usage.mjs +51 -0
- package/src/session-runtime/native-web-search.mjs +19 -9
- package/src/session-runtime/new-session-config.mjs +4 -2
- package/src/session-runtime/provider-auth/login.mjs +4 -0
- package/src/session-runtime/provider-auth/setup.mjs +4 -0
- package/src/session-runtime/provider-models/catalog-load.mjs +9 -0
- package/src/session-runtime/provider-models/web-search-catalog.mjs +23 -3
- package/src/session-runtime/provider-models.mjs +1 -0
- package/src/session-runtime/provider-usage.mjs +4 -0
- package/src/session-runtime/resource-scope-decorate.mjs +10 -3
- package/src/session-runtime/route-resolution.mjs +3 -1
- package/src/session-runtime/runtime-core.mjs +4 -0
- package/src/session-runtime/runtime-facade.mjs +6 -0
- package/src/session-runtime/runtime-review-api.mjs +8 -2
- package/src/session-runtime/services/agent-task-status.mjs +2 -0
- package/src/session-runtime/services/agent-tool/close-flow/close-all.mjs +0 -3
- package/src/session-runtime/services/agent-tool/close-flow.mjs +6 -7
- package/src/session-runtime/services/agent-tool/execute-send.mjs +2 -2
- package/src/session-runtime/services/agent-tool/execute-spawn.mjs +36 -3
- package/src/session-runtime/services/agent-tool/execute.mjs +9 -1
- package/src/session-runtime/services/agent-tool/helpers.mjs +30 -7
- package/src/session-runtime/services/agent-tool/index-write-queue.mjs +81 -20
- package/src/session-runtime/services/agent-tool/job-task-reconcile.mjs +7 -2
- package/src/session-runtime/services/agent-tool/job-views/session-progress.mjs +6 -3
- package/src/session-runtime/services/agent-tool/lead-worker-index/forgotten-leads.mjs +29 -0
- package/src/session-runtime/services/agent-tool/lead-worker-index/index-file.mjs +1 -1
- package/src/session-runtime/services/agent-tool/lead-worker-index/lead-rows.mjs +3 -4
- package/src/session-runtime/services/agent-tool/lead-worker-index/reap-timers.mjs +9 -3
- package/src/session-runtime/services/agent-tool/lead-worker-index/row-settlement.mjs +7 -18
- package/src/session-runtime/services/agent-tool/lead-worker-index.mjs +82 -13
- package/src/session-runtime/services/agent-tool/model-select.mjs +82 -0
- package/src/session-runtime/services/agent-tool/send-flow.mjs +24 -6
- package/src/session-runtime/services/agent-tool/spawn-flow/job-start.mjs +3 -1
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-prep.mjs +19 -5
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-run.mjs +5 -4
- package/src/session-runtime/services/agent-tool/spawn-flow.mjs +2 -1
- package/src/session-runtime/services/agent-tool/spawn-preset.mjs +3 -0
- package/src/session-runtime/services/agent-tool/tag-registry/tag-lookup.mjs +1 -3
- package/src/session-runtime/services/agent-tool/tag-registry/tag-refresh.mjs +1 -3
- package/src/session-runtime/services/agent-tool/tag-registry.mjs +18 -10
- package/src/session-runtime/services/agent-tool/terminal-reaper/scan-admission.mjs +8 -41
- package/src/session-runtime/services/agent-tool/terminal-reaper/stale-rows.mjs +3 -3
- package/src/session-runtime/services/agent-tool/terminal-reaper.mjs +6 -23
- package/src/session-runtime/services/agent-tool/terminal-trace.mjs +0 -1
- package/src/session-runtime/services/agent-tool/tool-def.mjs +7 -0
- package/src/session-runtime/services/agent-tool/worker-index/row-liveness.mjs +32 -20
- package/src/session-runtime/services/agent-tool/worker-index/row-shape.mjs +5 -2
- package/src/session-runtime/services/agent-tool/worker-index/row-store.mjs +10 -1
- package/src/session-runtime/services/agent-tool/worker-index.mjs +74 -15
- package/src/session-runtime/services/agent-tool.mjs +7 -0
- package/src/session-runtime/services/agent-watchdog-registry.mjs +2 -0
- package/src/session-runtime/services/channel-admin.mjs +19 -3
- package/src/session-runtime/services/memory-runtime-proxy/calls.mjs +4 -0
- package/src/session-runtime/services/memory-runtime-proxy.mjs +1 -0
- package/src/session-runtime/services/provider-admin.mjs +158 -15
- package/src/session-runtime/session-create/session-options.mjs +7 -5
- package/src/session-runtime/session-create/session-start-hook.mjs +2 -1
- package/src/session-runtime/session-transcript-purge.mjs +32 -0
- package/src/session-runtime/session-transcript.mjs +4 -5
- package/src/session-runtime/session-turn-api.mjs +17 -14
- package/src/session-runtime/settings-builtin-tools-api.mjs +18 -6
- package/src/session-runtime/setup-tool/executor.mjs +57 -9
- package/src/session-runtime/setup-tool/extended-actions.mjs +86 -6
- package/src/session-runtime/setup-tool/settings-contract.mjs +18 -3
- package/src/session-runtime/setup-tool/tool-defs.mjs +25 -4
- package/src/session-runtime/skills-api.mjs +3 -5
- package/src/session-runtime/tool-policy-refresh.mjs +83 -32
- package/src/session-runtime/tool-surface.mjs +5 -1
- package/src/session-runtime/turn/agent-ops.mjs +49 -2
- package/src/session-runtime/turn/compaction-gate.mjs +25 -0
- package/src/session-runtime/turn/session-ops.mjs +7 -5
- package/src/session-runtime/turn/side-question-ops.mjs +19 -0
- package/src/session-runtime/turn/turn-run/ask-callbacks.mjs +7 -1
- package/src/session-runtime/turn/turn-run/turn-prepare.mjs +12 -3
- package/src/session-runtime/turn/turn-run/turn-settle.mjs +18 -2
- package/src/session-runtime/turn/turn-run/turn-timing.mjs +4 -3
- package/src/session-runtime/turn/turn-run.mjs +26 -45
- package/src/session-runtime/usage-stats-api.mjs +46 -11
- package/src/session-runtime/workflow-agents-api/agent-route.mjs +16 -1
- package/src/session-runtime/workspace/admission-gate.mjs +44 -15
- package/src/session-runtime/workspace/project-branches.mjs +35 -41
- package/src/session-runtime/workspace/transition-steps.mjs +215 -116
- package/src/session-runtime/workspace/transitions.mjs +428 -73
- package/src/standalone/channel-transport.mjs +3 -4
- package/src/standalone/daemon-agent-control.mjs +9 -1
- package/src/standalone/daemon-desktop-runtime.mjs +32 -1
- package/src/standalone/daemon-local-session-bridge.mjs +14 -1
- package/src/standalone/daemon-owner.mjs +17 -4
- package/src/standalone/daemon-pg-stop.mjs +49 -0
- package/src/standalone/daemon-session-control.mjs +88 -0
- package/src/standalone/daemon-stop-budget.d.mts +2 -0
- package/src/standalone/daemon-stop-budget.mjs +18 -0
- package/src/standalone/daemon-stored-session-views.mjs +25 -3
- package/src/standalone/daemon-telemetry.mjs +19 -0
- package/src/standalone/daemon.mjs +63 -1
- package/src/standalone/desktop-service-registry.mjs +5 -0
- package/src/standalone/local-session-runtime.mjs +80 -30
- package/src/standalone/session-client.mjs +42 -0
- package/src/standalone/session-protocol.mjs +14 -0
- package/src/standalone/session-proxy/projection.mjs +41 -4
- package/src/standalone/session-runtime-inline-host/boot-loaders.mjs +15 -1
- package/src/standalone/session-runtime-inline-host.mjs +3 -0
- package/src/standalone/session-service/agent-tree/agent-cancel.mjs +91 -49
- package/src/standalone/session-service/agent-tree/agent-child.mjs +19 -1
- package/src/standalone/session-service/agent-tree/agent-registry.mjs +25 -0
- package/src/standalone/session-service/agent-tree/agent-turns.mjs +9 -1
- package/src/standalone/session-service/agent-tree.mjs +28 -2
- package/src/standalone/session-service/entries/session-loads.mjs +16 -5
- package/src/standalone/session-service/entries.mjs +1 -0
- package/src/standalone/session-service/projection/transcript-window.mjs +39 -0
- package/src/standalone/session-service/quota-resume.mjs +28 -13
- package/src/standalone/session-service/session-calls/session-action.mjs +18 -3
- package/src/standalone/session-service/session-calls/session-turns.mjs +17 -6
- package/src/standalone/session-service/session-calls/session-views.mjs +6 -0
- package/src/standalone/session-service-api.mjs +6 -1
- package/src/standalone/session-state-patch.d.mts +2 -1
- package/src/standalone/session-state-patch.mjs +41 -1
- package/src/standalone/session-tool-output.mjs +82 -0
- package/src/tui/App.jsx +25 -0
- package/src/tui/app/app-view/floating-panel.jsx +26 -1
- package/src/tui/app/app-view.jsx +2 -1
- package/src/tui/app/btw-controller.mjs +118 -0
- package/src/tui/app/create-app-pickers.mjs +2 -0
- package/src/tui/app/provider-setup/provider-items.mjs +8 -0
- package/src/tui/app/provider-setup-picker.mjs +15 -3
- package/src/tui/app/shell-layout/row-budgets.mjs +11 -1
- package/src/tui/app/shell-layout/surfaces.mjs +3 -1
- package/src/tui/app/slash-commands.mjs +19 -3
- package/src/tui/app/slash-dispatch/session-commands.mjs +68 -6
- package/src/tui/app/use-global-key-input/approval-shortcut.mjs +12 -0
- package/src/tui/app/use-global-key-input.mjs +5 -12
- package/src/tui/app/use-prompt-handlers.mjs +11 -0
- package/src/tui/components/BtwPanel.jsx +53 -0
- package/src/tui/components/QuestionPanel.jsx +275 -0
- package/src/tui/components/Spinner.jsx +4 -0
- package/src/tui/components/SpinnerByline.jsx +21 -2
- package/src/tui/components/question-panel-model.mjs +156 -0
- package/src/tui/components/status-line/local-line.mjs +10 -2
- package/src/tui/dist/index.mjs +2897 -1722
- package/src/tui/session/active-tool-summary.mjs +1 -1
- package/src/tui/session/context-state.mjs +4 -5
- package/src/tui/session/goal-continuation/continuation-queue.mjs +2 -3
- package/src/tui/session/goal-continuation/deadline-delivery.mjs +4 -2
- package/src/tui/session/goal-continuation/session-boundary.mjs +21 -0
- package/src/tui/session/quota-resume.mjs +140 -61
- package/src/tui/session/session-api/commands.mjs +14 -10
- package/src/tui/session/session-api/controls.mjs +14 -2
- package/src/tui/session/session-api/integrations.mjs +9 -2
- package/src/tui/session/session-api/lifecycle/dispose.mjs +3 -9
- package/src/tui/session/session-api/lifecycle/resume.mjs +2 -7
- package/src/tui/session/session-api/lifecycle.mjs +14 -11
- package/src/tui/session/session-api/media.mjs +2 -0
- package/src/tui/session/session-api/routes.mjs +81 -57
- package/src/tui/session/session-api/settings.mjs +9 -3
- package/src/tui/session/session-api/worktree.mjs +3 -2
- package/src/tui/session/session-api.mjs +1 -0
- package/src/tui/session/session-flow/auto-clear.mjs +1 -3
- package/src/tui/session/session-flow/drain.mjs +6 -4
- package/src/tui/session/session-flow/queue/entry-shape.mjs +2 -0
- package/src/tui/session/session-flow/queue/take-entries.mjs +2 -1
- package/src/tui/session/session-flow/queue.mjs +1 -1
- package/src/tui/session/tool-approval.mjs +20 -8
- package/src/tui/session/transcript-spill.mjs +14 -7
- package/src/tui/session/transcript-store/streaming-tail.mjs +1 -1
- package/src/tui/session/tui-steering-persist.mjs +3 -5
- package/src/tui/session/turn-quiet.mjs +53 -0
- package/src/tui/session/turn-stream.mjs +179 -32
- package/src/tui/session/turn.mjs +50 -36
- package/src/tui/session/worktree-setup-notice.mjs +38 -0
- package/src/tui/spinner-meta.mjs +10 -0
- package/src/tui/spinner-verbs.mjs +3 -0
- package/src/ui/statusline.mjs +13 -3
- package/src/workflows/default/WORKFLOW.md +3 -1
- package/src/runtime/agent/orchestrator/providers/model-pricing-rates.mjs +0 -1
- package/src/runtime/agent/orchestrator/session/manager/foreign-pending-messages.mjs +0 -346
- package/src/runtime/agent/orchestrator/session/manager/session-owner-liveness.mjs +0 -117
- package/src/runtime/agent/orchestrator/session/store/paths-heartbeat.mjs +0 -246
- package/src/session-runtime/services/agent-tool/terminal-reaper/reap-timers.mjs +0 -142
- package/src/session-runtime/turn/share-ops.mjs +0 -77
- package/src/tui/session/cross-surface-share.mjs +0 -406
- package/src/tui/session/live-share/delta.mjs +0 -153
- package/src/tui/session/live-share/mirror.mjs +0 -106
- package/src/tui/session/live-share/owner.mjs +0 -254
- package/src/tui/session/live-share/retry.mjs +0 -54
- package/src/tui/session/live-share/viewer/frame-router.mjs +0 -32
- package/src/tui/session/live-share/viewer/pipe-client.mjs +0 -108
- package/src/tui/session/live-share/viewer/submit-acks.mjs +0 -65
- package/src/tui/session/live-share/viewer/sync-waiters.mjs +0 -53
- package/src/tui/session/live-share/viewer.mjs +0 -99
- package/src/tui/session/live-share/wire.mjs +0 -44
- package/src/tui/session/live-share.mjs +0 -154
- package/src/tui/session/shared-dir-watch.mjs +0 -69
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Maintainer
|
|
3
|
-
description: Use for
|
|
3
|
+
description: Use for memory upkeep, session naming, and other Mixdog background operations.
|
|
4
4
|
permission: read-write
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "maintainer",
|
|
3
3
|
"name": "Maintainer",
|
|
4
|
-
"description": "Use for
|
|
4
|
+
"description": "Use for memory upkeep, session naming, and other Mixdog background operations.",
|
|
5
5
|
"entry": "AGENT.md"
|
|
6
6
|
}
|
|
@@ -13,7 +13,5 @@ criteria with independent judgment. Run the necessary builds, tests, lint, or
|
|
|
13
13
|
runtime checks and actively seek regressions, unsupported assumptions, security
|
|
14
14
|
risks, and counterexamples.
|
|
15
15
|
|
|
16
|
-
Do not modify files or reimplement the change.
|
|
17
|
-
severity-ordered, one line
|
|
18
|
-
function or symbol. If clean, say so
|
|
19
|
-
in one line and include only material residual risk.
|
|
16
|
+
Do not modify files or reimplement the change. Result lists actionable
|
|
17
|
+
findings first, severity-ordered, one line each; if clean, say so in one line.
|
|
@@ -10,6 +10,5 @@ data flow. Base every finding on concrete evidence and distinguish confirmed
|
|
|
10
10
|
vulnerabilities from residual risk. Do not modify files during an audit unless
|
|
11
11
|
the brief explicitly requests remediation.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
symbol, impact, and the
|
|
13
|
+
Each finding in Result adds severity, exploitability, impact, and the
|
|
15
14
|
smallest actionable recommendation. Avoid speculation and exaggerated claims.
|
|
@@ -9,6 +9,5 @@ Preserve meaning, facts, terminology, formatting, and intended audience while
|
|
|
9
9
|
making the writing natural and consistent with the document's tone. Translate
|
|
10
10
|
idiomatically rather than word-for-word.
|
|
11
11
|
|
|
12
|
-
Do not invent facts or add commentary.
|
|
13
|
-
|
|
14
|
-
paths.
|
|
12
|
+
Do not invent facts or add commentary. Result is the final copy, unless the
|
|
13
|
+
brief assigns file edits; then Evidence lists the changed paths.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"agents": {
|
|
3
3
|
"advisor": [
|
|
4
|
+
"6bd0318995f70547c162efda92795e79",
|
|
4
5
|
"d3b4a7926c9484833fe8ddba70260f9d"
|
|
5
6
|
],
|
|
6
7
|
"debugger": [
|
|
@@ -19,12 +20,14 @@
|
|
|
19
20
|
"f1662590203b5ad1521f8a8a78236521"
|
|
20
21
|
],
|
|
21
22
|
"maintainer": [
|
|
23
|
+
"55f78dc59d7bc517bec44c6c59e99540",
|
|
22
24
|
"602a50f142a4e244912547298ad8e512",
|
|
23
25
|
"62b2ecd8496b64b4653f031ec75b0e50",
|
|
24
26
|
"c25f03972df1ccfd2ed602ab23d2afae"
|
|
25
27
|
],
|
|
26
28
|
"reviewer": [
|
|
27
29
|
"07643b62440d3eba29b7360b8a33f09f",
|
|
30
|
+
"0d45f8d9a2a67373462840e8bf930694",
|
|
28
31
|
"25b44b46269490e26ca31c1852925171",
|
|
29
32
|
"a60ea68f9287d55489e92e5450432f62",
|
|
30
33
|
"a61cb4557def4e7ed647d4bdacbb72e4",
|
|
@@ -35,7 +38,8 @@
|
|
|
35
38
|
],
|
|
36
39
|
"security": [
|
|
37
40
|
"50d9fd43dab8deff3b90c5b1096167e3",
|
|
38
|
-
"54de597d001d4965c4b846f90960ebf2"
|
|
41
|
+
"54de597d001d4965c4b846f90960ebf2",
|
|
42
|
+
"b8ef431ca17f35e48837f8942eab7e4e"
|
|
39
43
|
],
|
|
40
44
|
"webhook-handler": [
|
|
41
45
|
"bd6765c2188681ff5a8114edcb3a21be"
|
|
@@ -47,6 +51,7 @@
|
|
|
47
51
|
],
|
|
48
52
|
"writer": [
|
|
49
53
|
"8273086982cacdd090e3bd129cd5fa0b",
|
|
54
|
+
"9ce2d5bc1f61bb6be8894b1c59097ec8",
|
|
50
55
|
"bb1784ff9a28c1b4c96db706a24ddab6"
|
|
51
56
|
]
|
|
52
57
|
},
|
|
@@ -62,6 +67,7 @@
|
|
|
62
67
|
"56355187d05762ef50579d6285636c71",
|
|
63
68
|
"599d6b09954a3afb163091878d3b7040",
|
|
64
69
|
"5fa8ddf4731b39cec5fa269d632cfcc4",
|
|
70
|
+
"627f69923f1b895e3ac5f95f9b2d766b",
|
|
65
71
|
"660cc103947dd30b94c70bcd1f22cefe",
|
|
66
72
|
"6bbd8bb9e7657bc642f7be02f36dfc6d",
|
|
67
73
|
"7976531213723a66a7a53b9a1cf0f372",
|
|
@@ -99,6 +105,7 @@
|
|
|
99
105
|
"outputStyles": {
|
|
100
106
|
"common.md": [
|
|
101
107
|
"4e6134d60ee5c54c2888e874653bcdad",
|
|
108
|
+
"4ecd89b0c07ad8a81aa1f84882cf1b00",
|
|
102
109
|
"899529696b7d6d3373ae83a76976ab48",
|
|
103
110
|
"8d343d0a406fd5817b7fd98a3ac47010",
|
|
104
111
|
"a1b73ce404125d3ce0a5762e4a1e1555",
|
|
@@ -245,6 +252,7 @@
|
|
|
245
252
|
],
|
|
246
253
|
"image": [
|
|
247
254
|
"2052d09860dfa293f239952d6e91d051",
|
|
255
|
+
"26b6574dffea7efefb8062b6be75bd8c",
|
|
248
256
|
"c1a7863f99f8c57bd6c6dc4f05228d06",
|
|
249
257
|
"de167d9432b970379e4ba6819416ebbc",
|
|
250
258
|
"e30b8db5872d14039f3ce96a48a0e711",
|
|
@@ -336,9 +344,11 @@
|
|
|
336
344
|
"70c54f802c77b630863b9e17a16d8224",
|
|
337
345
|
"81e979463e0066e7a45cf511a31c5d68",
|
|
338
346
|
"8476c811b2f02da3a434bcb23a1c3d12",
|
|
347
|
+
"8af2b614e2a07b58dad6c0f1318d22e2",
|
|
339
348
|
"9f90d3872b1ecd312977ce661b770b31",
|
|
340
349
|
"ade615dd0f6ae6ed1601023e5b9cb692",
|
|
341
350
|
"b4f9c79dcb08151e6275b5ee35c2bca4",
|
|
351
|
+
"c6db973f51166fc42814808ae0001797",
|
|
342
352
|
"c8826387a65631b63e8023f55ef807a3",
|
|
343
353
|
"cb6f66d14ba75b11e7470eb3fd5ec94c",
|
|
344
354
|
"de9727a48e52673258bf5f9670564d56",
|
|
@@ -12,27 +12,25 @@ dependencies:
|
|
|
12
12
|
|
|
13
13
|
# Image generation and editing (media tool · Media Studio)
|
|
14
14
|
|
|
15
|
-
Use `media` for still-image generation and editing
|
|
16
|
-
the first image-generation or editing call.
|
|
15
|
+
Use `media` for still-image generation and editing; read this guide before the first call.
|
|
17
16
|
|
|
18
|
-
This file owns the judgement around one tool for still images: how a picture is asked for, checked, and saved.
|
|
17
|
+
This file owns the judgement around one tool for still images: how a picture is asked for, checked, and saved. Any deliverable that needs a picture loads it and keeps only its own placement rules. The lane catalog (providers, models, controls, sign-in state) lives in the runtime and is read with `list`, so this file stays true when providers change.
|
|
19
18
|
|
|
20
19
|
## 1. Which kind of job
|
|
21
20
|
**Hard rule — generate or edit, decided first**:
|
|
22
|
-
- *Generate* — the user wants a new image (product shot, hero, social card, illustration, icon, texture, concept) or a deliverable needs one. Images
|
|
21
|
+
- *Generate* — the user wants a new image (product shot, hero, social card, illustration, icon, texture, concept) or a deliverable needs one. Images attached only as style, mood, or composition guidance still make this a generate with references.
|
|
23
22
|
- *Edit* — the user wants an existing image kept and part of it changed: background swap, object removal, lighting or weather, text replacement, style transfer, compositing, cutout. The source image goes in `references` as the edit target; §3 edit brief applies.
|
|
24
|
-
**Hard rule — not this tool**:
|
|
23
|
+
**Hard rule — not this tool**: a repository's own SVG, icon, or logo system; simple shapes, wireframes, and diagrams better drawn in SVG, HTML/CSS, or a chart library; charts, tables, and the user's own photographs.
|
|
25
24
|
**Hard rule — no signed-in lane, no picture**: when `list` (or a failed `generate`) reports no image lane, continue without and say so; never substitute a placeholder, a stock-photo URL, or an emoji.
|
|
26
|
-
**Default — one generation per job, one corrected retry**: a result that misses the brief is retried once with a single targeted change (§2 step 3); a second miss is reported as "not achieved"
|
|
27
|
-
|
|
25
|
+
**Default — one generation per job, one corrected retry**: a result that misses the brief is retried once with a single targeted change (§2 step 3); a second miss is reported as "not achieved".
|
|
28
26
|
## 2. Call order
|
|
29
|
-
1. `media action:'list' kind:'image'` once per session before the first generate: signed-in lanes, their models, and `remembered` — the lane/model a generate runs on when none is passed (
|
|
30
|
-
2. `media action:'generate' kind:'image', prompt, path, + controls` — **lane and model are omitted by default**
|
|
31
|
-
3. **Hard rule — look before using**: open the file with `read` and check subject, style, composition, the exclusions, any in-image text, and — for an edit — every item in the preserve list. A miss is fixed by changing one variable in the prompt and restating every invariant; never rewrite the whole prompt
|
|
27
|
+
1. `media action:'list' kind:'image'` once per session before the first generate: signed-in lanes, their models, and `remembered` — the lane/model a generate runs on when none is passed (Studio selection, else last generation of this kind). Add `model:` for that model's controls (`aspectRatio` / `size`, `resolution`, `quality`, `background`, `maxReferences`).
|
|
28
|
+
2. `media action:'generate' kind:'image', prompt, path, + controls` — **lane and model are omitted by default** (the user's remembered choice, else the signed-in ChatGPT lane); controls only from that model's list — one listing none gets none. **Hard rule — a named source is passed**: GPT / ChatGPT / Codex / OpenAI → the OpenAI lane; Grok, Gemini, Antigravity → theirs, from `list`; if it is not signed in, say so rather than swap. Otherwise pass `lane`/`model` only when the job needs a capability the model lacks (reference count, exact text, a listed resolution). The result reports lane, model, `laneSource` (`requested` / `remembered` / `first`), and options used.
|
|
29
|
+
3. **Hard rule — look before using**: open the file with `read` and check subject, style, composition, the exclusions, any in-image text, and — for an edit — every item in the preserve list. A miss is fixed by changing one variable in the prompt and restating every invariant; never rewrite the whole prompt.
|
|
32
30
|
4. The result is also a Studio asset (`assetId`); the file at `path` is the copy the work uses.
|
|
33
31
|
|
|
34
32
|
## 3. Prompt form
|
|
35
|
-
**Hard rule — labeled lines, in priority order**: the model reads order as priority; scene first by default, subject first when identity or product fidelity dominates. Use only the lines that change pixels
|
|
33
|
+
**Hard rule — labeled lines, in priority order**: the model reads order as priority; scene first by default, subject first when identity or product fidelity dominates. Use only the lines that change pixels. Never wrap the prompt in JSON.
|
|
36
34
|
```
|
|
37
35
|
Use: photorealistic | product-mockup | ui-mockup | infographic | logo-brand | illustration | stylized-concept | historical-scene (edit: text-replace | identity-preserve | object-edit | lighting-weather | cutout | style-transfer | compositing | sketch-to-render)
|
|
38
36
|
Asset: where it will be used — hero, OG card, figure, avatar, sprite, texture, cover
|
|
@@ -45,8 +43,8 @@ Text: "exact words" · script · font style · size · placement (onl
|
|
|
45
43
|
Keep: invariants that must not change (edits; see the edit brief)
|
|
46
44
|
Avoid: no logos, no watermarks; plus no text / no faces when the use calls for it
|
|
47
45
|
```
|
|
48
|
-
**Default — specificity policy**: a detailed user prompt is normalized into this form and nothing is added; a generic one gets composition, intended use, and scene concreteness — never extra characters, props,
|
|
49
|
-
**Default — exclusions follow the use**: a field for copy (hero, cover, OG, background) excludes text, logos, watermarks, and faces unless asked; an illustration or a scene with people excludes only logos and watermarks; a portrait keeps its face.
|
|
46
|
+
**Default — specificity policy**: a detailed user prompt is normalized into this form and nothing is added; a generic one gets composition, intended use, and scene concreteness — never extra characters, props, brands, palettes, story beats, or placement the layout does not call for.
|
|
47
|
+
**Default — exclusions follow the use**: a field for copy (hero, cover, OG, background) excludes text, logos, watermarks, and faces unless asked; an illustration or a scene with people excludes only logos and watermarks; a portrait keeps its face.
|
|
50
48
|
**Hard rule — anti-patterns**:
|
|
51
49
|
| Pattern | Why it fails | Instead |
|
|
52
50
|
|---|---|---|
|
|
@@ -62,13 +60,13 @@ Change only: the specific modification
|
|
|
62
60
|
Preserve exactly: named locks — face structure, pose, product silhouette, logo geometry, text spelling, framing, perspective, palette, lighting, shadows
|
|
63
61
|
Do not add or remove: protected elements
|
|
64
62
|
```
|
|
65
|
-
"Keep everything else the same" alone is weak: name the fragile properties, and repeat the same lock list on every retry. A removal is written as what replaces it ("show the continuous desk grain where the note was,
|
|
63
|
+
"Keep everything else the same" alone is weak: name the fragile properties, and repeat the same lock list on every retry. A removal is written as what replaces it ("show the continuous desk grain where the note was, no residue or outline"), never as "remove X" alone. A source carrying drawn markup (arrows, boxes, notes) is sent clean, with the markup translated into instructions — the model reproduces marks it sees.
|
|
66
64
|
|
|
67
65
|
## 4. Text inside the image
|
|
68
66
|
**Default — text only when wanted**: a field for copy gets no text; the deliverable or the page sets its own type over it.
|
|
69
67
|
**Hard rule — when text is wanted, it is exact**: the words in quotes, the language and script, the font style, the approximate size, the placement, and "once, with no other readable text". Uncommon words are spelled letter by letter. Korean: write the prompt in English and quote only the Hangul string; start with short label-length strings.
|
|
70
68
|
**Hard rule — copy that must be exact is composited, not generated**: packaging, UI, legal, or brand copy is generated as an empty reserved area (`no text` in that region) and set afterwards with a real font by the deliverable or an image tool.
|
|
71
|
-
**Default — always inspect rendered text** (§2 step 3); garbled
|
|
69
|
+
**Default — always inspect rendered text** (§2 step 3); garbled glyphs are common. One targeted text-only edit pass may follow; if spelling still drifts, stop and composite.
|
|
72
70
|
|
|
73
71
|
## 5. Reference images
|
|
74
72
|
`references:` takes file paths; the model's `maxReferences` caps them. A reference is the user's own file or one this session generated — never a downloaded third-party image.
|
|
@@ -87,15 +85,15 @@ Do not add or remove: protected elements
|
|
|
87
85
|
| icon, avatar, texture, tile | `1:1` |
|
|
88
86
|
| a still for a video clip | the clip's aspect |
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
**Default — resolution**: the highest the model lists for a hero, print, or full-bleed frame; the default for drafts, thumbnails, and icons.
|
|
92
|
-
**Default — cutouts**:
|
|
88
|
+
Pass only a listed value (closest size when sizes are listed); a model listing none gets none, so put the ratio in the prompt's Composition line.
|
|
89
|
+
**Default — resolution**: the highest the model lists for a hero, print, or full-bleed frame; the default for drafts, thumbnails, and icons.
|
|
90
|
+
**Default — cutouts and transparency**: when the model lists `background`, pass `background: transparent` for cutouts, stickers, icons, logos, background removal, and edits of an image that must stay transparent (`auto` drops alpha on edits). Otherwise generate on a stated solid background (`pure solid white #FFFFFF`, or black for reflective subjects; "no gradient, no floor, no shadow, no vignette") and remove it afterwards; never put "transparent background" in the prompt — it burns a fake checkerboard into the image.
|
|
93
91
|
|
|
94
92
|
## 7. Saving, reporting, provenance
|
|
95
93
|
**Hard rule — never overwrite**: an existing file gets a sibling (`hero-v2.png`, `photo-edited.png`) unless the user asked for replacement. Output goes beside the work that uses it or where the user named; nothing lives only in a temp folder.
|
|
96
|
-
**Hard rule — the report names what was made**: final path, lane/model, options, and the final prompt (
|
|
97
|
-
**Hard rule — generated media is declared where it lands**: the deliverable that places it records it as generated with lane/model and prompt (
|
|
94
|
+
**Hard rule — the report names what was made**: final path, the lane/model that produced it (said to the user in plain words), options, and the final prompt (edit: the change and locks).
|
|
95
|
+
**Hard rule — generated media is declared where it lands**: the deliverable that places it records it as generated with lane/model and prompt (notes, caption, alt text, or message). A generated picture is never presented as a photograph of a real event, place, or person.
|
|
98
96
|
## 8. Failure and cost
|
|
99
|
-
- A `generate` error carries `lanes` (what is signed in for images) or `available` (models); choose from it and call again, or continue without.
|
|
100
|
-
- Generation costs the user credits or quota
|
|
101
|
-
-
|
|
97
|
+
- A `generate` error carries `lanes` (what is signed in for images) or `available` (models); choose from it and call again, or continue without. `MEDIA_USAGE_LIMIT`: limit reached — tell the user the reset time. `MEDIA_PARTIAL_ONLY`: no final image, nothing saved.
|
|
98
|
+
- Generation costs the user credits or quota: one call per job, no speculative variants or "another option" regenerations unless asked.
|
|
99
|
+
- On a retry, re-edit only the residual region with the same locks rather than enlarging the prompt.
|
|
@@ -69,7 +69,8 @@ that a call returned without transport error.
|
|
|
69
69
|
injection stays on regardless. `set_recap_enabled` changes only the
|
|
70
70
|
background cycles. Core Memory entries
|
|
71
71
|
are read and changed with the `memory` tool, not setup.
|
|
72
|
-
- Built-ins have installation state separate from enabled state
|
|
72
|
+
- Built-ins have installation state separate from enabled state; Visualize
|
|
73
|
+
is toggle-only (on by default, no install step). Browser Use,
|
|
73
74
|
Computer Use actions require this conversation open in the local Desktop
|
|
74
75
|
window; voice runs on the runtime and needs no Desktop.
|
|
75
76
|
- Hook rules are before-tool policy, separate from MCP and plugins. Deleting a
|
|
@@ -94,6 +95,10 @@ that a call returned without transport error.
|
|
|
94
95
|
- For an MCP failure, inspect the reported transport error before changing
|
|
95
96
|
command, arguments, directory, environment, URL, headers, or enabled state.
|
|
96
97
|
- MCP reads intentionally omit raw connection values that may contain secrets.
|
|
98
|
+
- An HTTP/SSE MCP server that needs OAuth waits for sign-in instead of
|
|
99
|
+
failing; setup rows then show it enabled, not connected, with no `error`.
|
|
100
|
+
Setup cannot sign in, and `reconnect_mcp` does not log in: hand off to
|
|
101
|
+
`open mcp` (Connect/Reconnect) or the TUI `/mcp login`.
|
|
97
102
|
- For an unavailable built-in, distinguish not installed, installed but
|
|
98
103
|
disabled, and bridge inactive.
|
|
99
104
|
- Desktop requests require a single live claimant and a confirmed receipt.
|
|
@@ -4,11 +4,17 @@ Read this when choosing a `setup` mutation.
|
|
|
4
4
|
|
|
5
5
|
## Read and navigate
|
|
6
6
|
|
|
7
|
-
- `status` reads one domain
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
- `status` reads one domain from the schema enum; pick the narrowest.
|
|
8
|
+
- Results are compact JSON. `status providers` lists configured providers
|
|
9
|
+
only (`id`, `kind`, `authenticated`, `status`, `accounts` count); add
|
|
10
|
+
`detail: true` for every provider with key URLs, expiry and account ids.
|
|
11
|
+
- `list_models` narrows in steps: no `catalog` returns the provider index
|
|
12
|
+
(`provider`, `count`, `defaultModel?`); `catalog.provider` returns compact
|
|
13
|
+
rows (`id`, `display`, `context`, `efforts`, `fast?`, `vision?`) with
|
|
14
|
+
`total`/`page`/`pages`/`nextPage` (`page`, `limit` ≤ 100, default 25);
|
|
15
|
+
`catalog.model` (plus `provider` if several offer the id) returns that
|
|
16
|
+
model's full options. `webSearch` limits to native-search models; `refresh`
|
|
17
|
+
reloads the catalog.
|
|
12
18
|
- `open` navigates to a supported UI surface. Read `surfaces.md` for targets and
|
|
13
19
|
UI-only settings.
|
|
14
20
|
|
|
@@ -28,7 +34,7 @@ Read this when choosing a `setup` mutation.
|
|
|
28
34
|
| Background memory cycles | `set_recap_enabled` |
|
|
29
35
|
| Web Search tool exposure | `set_web_search_enabled` |
|
|
30
36
|
| Which user instruction files (AGENTS.md / CLAUDE.md) new sessions load: all, agents, claude, or off | `set_instruction_files` |
|
|
31
|
-
| Git, Office, Code Tidy, Local Provider, Auto Effort, Browser, Computer, or
|
|
37
|
+
| Git, Office, Code Tidy, Local Provider, Auto Effort, Browser, Computer, voice, or Visualize enabled state | `set_builtin_enabled` |
|
|
32
38
|
| Git, Memory, Office, Code Tidy, Local Provider, Auto Effort, Browser, Computer, or voice preparation | `install_builtin` |
|
|
33
39
|
| Managed local model installation | `install_local_model` |
|
|
34
40
|
| Start or resume a background runtime/model download | `start_local_installation` |
|
|
@@ -44,7 +50,7 @@ Read this when choosing a `setup` mutation.
|
|
|
44
50
|
| Automatic updates | `set_auto_update` |
|
|
45
51
|
| Worktree defaults: new tasks on the current branch or a new worktree, branch prefix, large-repository warning size, automatic cleanup | `set_worktree_settings` |
|
|
46
52
|
| Remove stored provider authentication (one OAuth account at a time) | `forget_provider_auth` |
|
|
47
|
-
| Select, rename,
|
|
53
|
+
| Select, rename, or reorder OAuth accounts, set the switching policy, or allow paid credits | `set_provider_account` |
|
|
48
54
|
| Developer options such as risk-gated OAuth providers | `set_developer_option` |
|
|
49
55
|
| Add an MCP server | `add_mcp_server` |
|
|
50
56
|
| Edit or rename an MCP server | `save_mcp_server` |
|
|
@@ -58,7 +64,7 @@ Read this when choosing a `setup` mutation.
|
|
|
58
64
|
| Enable or disable a plugin | `set_plugin_enabled` |
|
|
59
65
|
| Remove a plugin | `remove_plugin` |
|
|
60
66
|
| Turn back on and reconnect every MCP server a plugin declares | `enable_plugin_mcp` |
|
|
61
|
-
|
|
|
67
|
+
| Hosted model catalog: provider index, one provider's paged model rows, or one model's full options | `list_models` |
|
|
62
68
|
| Agent orchestration, independent of workflow instructions | `set_orchestration_mode` |
|
|
63
69
|
| Safe MCP edit metadata, excluding raw connection/credential values | `get_mcp_server` |
|
|
64
70
|
| Read a workflow, agent, or skill definition | `read_definition` |
|
|
@@ -69,7 +75,7 @@ Read this when choosing a `setup` mutation.
|
|
|
69
75
|
| Delete an existing schedule/webhook | `delete_automation` |
|
|
70
76
|
| Enable/disable a schedule/webhook | `set_automation_enabled` |
|
|
71
77
|
| Webhook listener enabled state, port, or domain | `set_webhook_config` |
|
|
72
|
-
| Desktop keep-awake, run in background after window close, turn-completion notifications, notification volume (Windows), usage pin, or Computer observe-only state | `set_desktop_settings` |
|
|
78
|
+
| Desktop keep-awake, run in background after window close, turn-completion notifications, notification volume (Windows), usage pin, usage rail short + long bars, or Computer observe-only state | `set_desktop_settings` |
|
|
73
79
|
| Desktop theme, display language, side panels, markdown default view, link previews, or tool activity expansion | `set_appearance` |
|
|
74
80
|
| Add a before-tool hook rule | `add_hook_rule` |
|
|
75
81
|
| Enable or disable a hook rule by its `status hooks` index | `set_hook_rule_enabled` |
|
|
@@ -88,8 +94,14 @@ workflow` before changing the corresponding domain.
|
|
|
88
94
|
|
|
89
95
|
- Main and agent routes also accept `modelParameters`, `contextPercent`, and
|
|
90
96
|
`contextTokens` (an exact window in tokens that overrides `contextPercent`);
|
|
91
|
-
agent routes accept `disabled`.
|
|
92
|
-
|
|
97
|
+
agent routes accept `disabled`. Route `autoEffort` (Main and agent only)
|
|
98
|
+
turns Auto reasoning on/off for that route; the Auto Effort built-in toggle
|
|
99
|
+
is the machine-wide switch and must also be on and `ready`.
|
|
100
|
+
Before `set_route`, read `list_models` with `catalog.model` (and `provider`)
|
|
101
|
+
for the model's `effortOptions`, `defaultEffort`, `fastCapable`,
|
|
102
|
+
`serviceTiers`, `modelParameterOptions` and `parameterVariants`; take
|
|
103
|
+
`effort`, `fast` and `modelParameters` values only from it, never from
|
|
104
|
+
remembered model ids.
|
|
93
105
|
- A Web Search route must support native web search; tool exposure is changed
|
|
94
106
|
separately.
|
|
95
107
|
- Definition actions use `definitionKind` (workflow, agent, skill).
|
|
@@ -102,12 +114,13 @@ workflow` before changing the corresponding domain.
|
|
|
102
114
|
|
|
103
115
|
## Providers and authentication
|
|
104
116
|
|
|
105
|
-
Use `status providers` for authenticated state
|
|
117
|
+
Use `status providers` for authenticated state; `detail: true` adds each API
|
|
118
|
+
key's source.
|
|
106
119
|
|
|
107
120
|
- API-key and OAuth providers: `open providers`, then the user completes
|
|
108
121
|
authentication in the visible UI.
|
|
109
122
|
- Custom providers are registered, tested, and removed in the Providers UI;
|
|
110
|
-
`status providers` lists them as API rows with `custom: true`.
|
|
123
|
+
`status providers` with `detail: true` lists them as API rows with `custom: true`.
|
|
111
124
|
- Local Provider is installed and enabled as a Built-in. Its endpoint is
|
|
112
125
|
Mixdog-managed and is never configured by the user.
|
|
113
126
|
Use the `local-provider` skill for hardware checks, model selection, downloads,
|
|
@@ -115,10 +128,14 @@ Use `status providers` for authenticated state and source.
|
|
|
115
128
|
the detail dialog lists installed models rather than the download catalog.
|
|
116
129
|
- Forgetting authentication is destructive and requires explicit approval.
|
|
117
130
|
It removes one OAuth account; a provider with several accounts requires
|
|
118
|
-
`accountId` from the account list in `status providers`.
|
|
119
|
-
- `set_provider_account` changes the selected account,
|
|
120
|
-
|
|
121
|
-
|
|
131
|
+
`accountId` from the account list in `status providers` with `detail: true`.
|
|
132
|
+
- `set_provider_account` changes the selected account, paid-credit use after
|
|
133
|
+
plan limits (`useCredits`), account order (every account id exactly once),
|
|
134
|
+
an account label, or the switching `policy`: `manual` stays on the selected
|
|
135
|
+
account, `limit` switches when it hits a limit, `headroom` starts each new
|
|
136
|
+
session on the account with the most headroom. `status providers` with
|
|
137
|
+
`detail: true` returns the current `policy` when one is set. Sign-in for a new account still
|
|
138
|
+
happens in the Providers UI.
|
|
122
139
|
- `status developer` lists developer options. An option with a `warning` is
|
|
123
140
|
enabled only after the user explicitly accepts that warning, passed as
|
|
124
141
|
`riskAccepted:true`; never assume acceptance.
|
|
@@ -159,7 +176,12 @@ markers are read with `status desktop`.
|
|
|
159
176
|
reasoning effort with a local judge model downloaded in the background.
|
|
160
177
|
Enabling or installing it fails on unsupported machines; `status features`
|
|
161
178
|
reports `supported`, `installing` (judge download running) and `ready`.
|
|
179
|
+
- Visualize is toggle-only through `set_builtin_enabled` (on by default);
|
|
180
|
+
`install_builtin` does not accept it.
|
|
162
181
|
- Terminal follows the live Desktop terminal bridge and has no toggle.
|
|
182
|
+
- Environment feature overrides (`MIXDOG_FEATURE_*`) win over these toggles;
|
|
183
|
+
they are diagnostics for headless or benchmark environments, not user
|
|
184
|
+
settings.
|
|
163
185
|
- Browser Use and Computer Use installation/toggles use the same
|
|
164
186
|
`install_builtin` and `set_builtin_enabled` actions through a live Desktop
|
|
165
187
|
receipt. Computer Use runs on Windows, macOS, and Linux desktops. These
|
|
@@ -177,16 +199,12 @@ markers are read with `status desktop`.
|
|
|
177
199
|
only as `hasArgumentEdit`; their contents are never returned. Indexes shift
|
|
178
200
|
after a delete;
|
|
179
201
|
re-read status before addressing another rule.
|
|
180
|
-
- `add_hook_rule`
|
|
181
|
-
and optional `tool`, `match`, `cwd`, `reason`. modify/rewrite need exactly
|
|
182
|
-
one of `patch` (merged into the arguments) or `args` (replaces them).
|
|
202
|
+
- `add_hook_rule` with modify/rewrite needs exactly one of `patch` or `args`.
|
|
183
203
|
- `delete_hook_rule` is destructive and requires explicit approval for the
|
|
184
204
|
named rule; disabling with `set_hook_rule_enabled` preserves it.
|
|
185
205
|
- `status media` shows the remembered lane/model per kind. `set_media_default`
|
|
186
206
|
accepts only a signed-in lane that offers the kind (and the model, when
|
|
187
207
|
given) in the live media catalog; the media tool's `list` reads that catalog.
|
|
188
|
-
- Environment feature overrides are diagnostics for headless or benchmark
|
|
189
|
-
environments, not ordinary user settings.
|
|
190
208
|
|
|
191
209
|
## Skills, MCP, and plugins
|
|
192
210
|
|
|
@@ -201,6 +219,10 @@ markers are read with `status desktop`.
|
|
|
201
219
|
transport. Raw credential fields are not accepted; `env_vars`,
|
|
202
220
|
`bearer_token_env_var`, and `env_http_headers` reference existing environment
|
|
203
221
|
variables without exposing their values.
|
|
222
|
+
- `startupTimeoutSec` (connect/handshake, default 30) and `toolTimeoutSec`
|
|
223
|
+
(per tool call, default 120) are positive seconds. Raise them for slow
|
|
224
|
+
servers instead of reconnecting repeatedly; a timed-out call is never
|
|
225
|
+
replayed.
|
|
204
226
|
- Environment/header maps are partial patches. Omitted keys are preserved;
|
|
205
227
|
`null` explicitly removes one key, including a stored credential.
|
|
206
228
|
- Plugin enablement moves its contributed skills and MCP integrations together.
|
|
@@ -18,7 +18,7 @@ or requests a setting with no mutation action.
|
|
|
18
18
|
| `profile` | User profile |
|
|
19
19
|
| `autoclear` | Session lifecycle controls |
|
|
20
20
|
| `memory` | Memory capability surface |
|
|
21
|
-
| `mcp` | Extensions → Skill → MCP |
|
|
21
|
+
| `mcp` | Extensions → Skill → MCP, including OAuth Connect/Reconnect/Disconnect |
|
|
22
22
|
| `skills` | Extensions → Skill → Skills |
|
|
23
23
|
| `plugins` | Extensions → Plugin |
|
|
24
24
|
| `update` | Update surface |
|
|
@@ -56,15 +56,15 @@ the user to Desktop.
|
|
|
56
56
|
|
|
57
57
|
## Desktop-backed settings
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
installation and toggles, Projects, and linked-device revocation through the
|
|
64
|
-
attached Desktop. A receipt identifies `scope:desktop-host`.
|
|
59
|
+
`set_desktop_settings`, `set_appearance`, `set_activity_rail_pins`,
|
|
60
|
+
`save_project`, `remove_project`, `revoke_linked_device`, and Browser/Computer
|
|
61
|
+
install or toggles run through the attached Desktop; the receipt identifies
|
|
62
|
+
`scope:desktop-host`.
|
|
65
63
|
|
|
66
64
|
Computer observe-only and background Memory cycles (`set_recap_enabled`)
|
|
67
|
-
have no settings control in either app; setup is their only supported route.
|
|
65
|
+
have no settings control in either app; setup is their only supported route.
|
|
66
|
+
Usage pin and the short + long rail bars live in the usage card's flyout menu
|
|
67
|
+
on the activity rail.
|
|
68
68
|
|
|
69
69
|
Schedules/webhooks and workflow/agent/skill definitions use their runtime
|
|
70
70
|
actions directly. These do not require clicking their Desktop rails.
|
|
@@ -74,6 +74,8 @@ actions directly. These do not require clicking their Desktop rails.
|
|
|
74
74
|
The setup tool does not mutate:
|
|
75
75
|
|
|
76
76
|
- API keys, OAuth, usage sign-in, and GitHub CLI connection;
|
|
77
|
+
- MCP server OAuth sign-in and sign-out (Desktop MCP list/editor, TUI
|
|
78
|
+
`/mcp login` and `/mcp logout`; remote windows paste the redirect address);
|
|
77
79
|
- notification permission and subscription on the receiving device;
|
|
78
80
|
- web-app pairing credentials and OS permission dialogs;
|
|
79
81
|
- TUI-local theme palettes (use `/theme`; Desktop themes are separate).
|
package/src/headless-exec.mjs
CHANGED
|
@@ -437,19 +437,26 @@ async function createHeadlessSessionRuntime(boundary, { provider, model, cwd, we
|
|
|
437
437
|
// hundred bytes and the write is atomic, so the cost is negligible and a
|
|
438
438
|
// live run stays readable from outside.
|
|
439
439
|
function headlessAskOptions({ stats, lifecycle, observedModels, writeUsage }) {
|
|
440
|
+
const recordUsage = (delta) => {
|
|
441
|
+
const observedModel = clean(delta?.model);
|
|
442
|
+
if (observedModel) observedModels.add(observedModel);
|
|
443
|
+
applyUsageDelta(stats, delta);
|
|
444
|
+
try {
|
|
445
|
+
writeUsage();
|
|
446
|
+
} catch {
|
|
447
|
+
// Telemetry must never break the session; the exit path reports.
|
|
448
|
+
}
|
|
449
|
+
};
|
|
440
450
|
return {
|
|
441
451
|
onTextReset: () => true,
|
|
442
452
|
onUsageDelta: (delta) => {
|
|
443
|
-
|
|
444
|
-
if (observedModel) observedModels.add(observedModel);
|
|
445
|
-
applyUsageDelta(stats, delta);
|
|
453
|
+
recordUsage(delta);
|
|
446
454
|
lifecycle?.onUsageDelta(delta);
|
|
447
|
-
try {
|
|
448
|
-
writeUsage();
|
|
449
|
-
} catch {
|
|
450
|
-
// Telemetry must never break the session; the exit path reports.
|
|
451
|
-
}
|
|
452
455
|
},
|
|
456
|
+
// Native web search runs its own provider send; fold its spend into the
|
|
457
|
+
// run's totals. It is not a main-stream request, so the lifecycle's
|
|
458
|
+
// model-request events stay untouched.
|
|
459
|
+
onNativeWebSearchUsage: recordUsage,
|
|
453
460
|
...(lifecycle
|
|
454
461
|
? {
|
|
455
462
|
onProviderSendStarted: () => lifecycle.onProviderSendStarted(),
|
package/src/lib/keychain-cjs.cjs
CHANGED
|
@@ -282,7 +282,8 @@ function darwinSet(account, value) {
|
|
|
282
282
|
|
|
283
283
|
function darwinDelete(account) {
|
|
284
284
|
const r = darwinRun(['delete-generic-password', '-a', account, '-s', SERVICE]);
|
|
285
|
-
|
|
285
|
+
// Exit 44 is errSecItemNotFound: nothing stored, so nothing to delete.
|
|
286
|
+
if (r.status !== 0 && r.status !== 44) throw new Error(`[keychain] security delete failed: ${r.stderr || r.stdout}`);
|
|
286
287
|
}
|
|
287
288
|
|
|
288
289
|
// ---------------------------------------------------------------------------
|
|
@@ -352,7 +353,9 @@ function secretToolCheck(r) {
|
|
|
352
353
|
}
|
|
353
354
|
if (r.error) {
|
|
354
355
|
keychainDebug('secret-tool failed to start', r.error.message);
|
|
355
|
-
throw new Error(
|
|
356
|
+
throw new Error(
|
|
357
|
+
'[keychain] secret-tool could not be started — check that libsecret-tools is installed and a Secret Service is running'
|
|
358
|
+
);
|
|
356
359
|
}
|
|
357
360
|
return r;
|
|
358
361
|
}
|
|
@@ -494,7 +497,10 @@ function onKeychainRecovered(listener) {
|
|
|
494
497
|
// secret-tool cannot fix itself and is not retried.
|
|
495
498
|
function _scheduleLinuxBackgroundRetry() {
|
|
496
499
|
if (_linuxBgTimer || _keychainStatus.state === 'missing' || _gdbusMissing) return;
|
|
497
|
-
const delay = Math.min(
|
|
500
|
+
const delay = Math.min(
|
|
501
|
+
LINUX_PREWARM_RETRY_MS * 2,
|
|
502
|
+
LINUX_PREWARM_RETRY_MS + _linuxBgAttempt * (LINUX_PREWARM_RETRY_MS / 2)
|
|
503
|
+
);
|
|
498
504
|
_linuxBgAttempt++;
|
|
499
505
|
_linuxBgTimer = setTimeout(async () => {
|
|
500
506
|
_linuxBgTimer = null;
|
|
@@ -591,14 +597,10 @@ const LINUX_UNREACHABLE_MESSAGE =
|
|
|
591
597
|
'[keychain] the keyring is not reachable — make sure it is running, then use Unlock keyring / Retry';
|
|
592
598
|
function _noteKeychainFailure(error) {
|
|
593
599
|
const message = String(error?.message || error);
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
? 'missing'
|
|
599
|
-
: /locked|timed out/.test(message)
|
|
600
|
-
? 'locked'
|
|
601
|
-
: 'error';
|
|
600
|
+
let state = 'error';
|
|
601
|
+
if (error?.code === 'KEYRING_UNREACHABLE') state = 'unreachable';
|
|
602
|
+
else if (/not installed/.test(message)) state = 'missing';
|
|
603
|
+
else if (/locked|timed out/.test(message)) state = 'locked';
|
|
602
604
|
_keychainStatus = { state, message };
|
|
603
605
|
}
|
|
604
606
|
|
|
@@ -717,7 +719,8 @@ async function _prewarmLinuxOnce() {
|
|
|
717
719
|
for (const account of accounts) {
|
|
718
720
|
const value = await linuxGetAsync(account, remaining());
|
|
719
721
|
if (value !== null) values.push([account, value]);
|
|
720
|
-
}
|
|
722
|
+
}
|
|
723
|
+
if (_cacheEpoch !== epoch) return;
|
|
721
724
|
// Replace, not merge: values the keyring now holds overwrite the cache and
|
|
722
725
|
// cached accounts the keyring no longer has are dropped, so external CLI /
|
|
723
726
|
// other-process add, replace and delete are picked up. A same-process
|
|
@@ -983,9 +986,11 @@ function win32Set(account, value) {
|
|
|
983
986
|
}
|
|
984
987
|
|
|
985
988
|
function win32Delete(account) {
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
+
try {
|
|
990
|
+
fs.unlinkSync(dpApiFile(account));
|
|
991
|
+
} catch (error) {
|
|
992
|
+
if (error?.code !== 'ENOENT') throw error;
|
|
993
|
+
}
|
|
989
994
|
}
|
|
990
995
|
|
|
991
996
|
// ---------------------------------------------------------------------------
|
|
@@ -7,13 +7,14 @@ partial: true
|
|
|
7
7
|
|
|
8
8
|
## Shared Output Format
|
|
9
9
|
|
|
10
|
-
- Lead with the answer
|
|
11
|
-
reader's vocabulary
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
- Lead with the answer; no restated request or closing recap. Natural,
|
|
11
|
+
complete sentences in the reader's vocabulary, each point once; no arrow
|
|
12
|
+
chains or unexplained shorthand.
|
|
13
|
+
- Plain prose for simple questions; headings, lists, or tables only for real
|
|
14
|
+
structure. GitHub-flavored Markdown, `$$…$$` for display math.
|
|
15
|
+
- Distinguish facts, inference, and uncertainty; keep exact literals and
|
|
16
|
+
material risks. Caveats only when they change the reader's next step.
|
|
17
|
+
- Never pad: no tangents, unsolicited offers, raw dumps, or process recaps.
|
|
18
|
+
Explicit depth requests win; depth applies to substantive answers only.
|
|
19
|
+
- At every depth keep decision-relevant failures, security warnings, and
|
|
20
|
+
destructive-action confirmations; quote needed error text exactly.
|
package/src/rules/agent/AGENT.md
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
unapproved destructive action, or a blocker.
|
|
7
7
|
- Communicate in English. Call tools immediately, with no preamble or
|
|
8
8
|
progress text.
|
|
9
|
-
- Reporting:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
- Reporting: send one final message, then stop; never ask whether to
|
|
10
|
+
continue. Start with `Status: done|partial|blocked`, then:
|
|
11
|
+
Result: the answer or outcome, mapped to the brief's done-when.
|
|
12
|
+
Evidence: path+symbol and checks run (failures: decisive error only).
|
|
13
|
+
Open: risks, gaps, or the blocker. Omit empty fields; no logs, narration,
|
|
14
|
+
or restated brief. Role contracts only add fields.
|
|
13
15
|
Lead owns the independent review.
|
package/src/rules/lead/LEAD.md
CHANGED
|
@@ -15,15 +15,13 @@
|
|
|
15
15
|
- Be a grounded, candid, and attentive collaborator: natural and respectful,
|
|
16
16
|
without flattery, forced humor, mimicry, or stereotyping.
|
|
17
17
|
<!-- tools: agent -->
|
|
18
|
-
- Briefing an agent: it sees only the brief
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
continuing agent gets only what changed. Never assign the same work twice;
|
|
26
|
-
interrupt only to cancel.
|
|
18
|
+
- Briefing an agent: it starts blank and sees only the brief. Write it in
|
|
19
|
+
English, self-contained: goal and its use; owned scope and non-goals;
|
|
20
|
+
targets by path plus symbol or quoted line; done-when as an observable,
|
|
21
|
+
checkable end state; any return need beyond the role. Pass only what
|
|
22
|
+
cannot be rediscovered; large evidence by path. A fresh agent gets the
|
|
23
|
+
whole brief, a continuing one only what changed. Never assign the same
|
|
24
|
+
work twice.
|
|
27
25
|
<!-- tools: agent -->
|
|
28
26
|
- Receiving an agent's report: it arrives as a `<task-notification>` block, a
|
|
29
27
|
runtime message rather than the user speaking. Do not wait for it in-turn —
|