mixdog 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/scripts/build-shipped-history.mjs +115 -33
- package/scripts/check-voice-runtime-inputs.mjs +25 -0
- package/scripts/gate-local.mjs +183 -63
- package/scripts/latest-guard.mjs +21 -9
- package/scripts/lib/gate-scheduler.mjs +138 -32
- package/scripts/lib/gate-timing-reporter.mjs +16 -0
- package/scripts/lib/isolated-test-env.mjs +10 -5
- package/scripts/lib/run-node-tests.mjs +91 -66
- package/scripts/lib/scoped-temp.d.mts +16 -0
- package/scripts/lib/scoped-temp.mjs +124 -0
- package/scripts/lib/stale-temp.mjs +44 -0
- package/scripts/lib/test-failure-records.mjs +14 -1
- package/scripts/lib/test-failure-summary.mjs +16 -4
- package/scripts/lib/test-spawn-ledger.mjs +12 -3
- package/scripts/post-release-check.mjs +1 -6
- package/scripts/pptx-kit-index.mjs +17 -5
- package/scripts/suite-health.mjs +115 -24
- package/scripts/test-data-dir.mjs +10 -7
- package/scripts/test.mjs +9 -14
- package/src/agents/advisor/AGENT.md +4 -4
- package/src/agents/advisor/agent.json +1 -1
- package/src/agents/explore/AGENT.md +22 -0
- package/src/agents/explore/agent.json +6 -0
- package/src/app.mjs +4 -0
- package/src/cli.mjs +7 -0
- package/src/defaults/agents.json +7 -0
- package/src/defaults/shipped-history.json +23 -2
- package/src/defaults/skills/browser-use/SKILL.md +10 -5
- package/src/defaults/skills/code-tidy/SKILL.md +71 -102
- package/src/defaults/skills/code-tidy/references/agent-cleanup.md +66 -114
- package/src/defaults/skills/code-tidy/references/cleanup-report.md +19 -35
- package/src/defaults/skills/code-tidy/references/dead-code.md +3 -9
- package/src/defaults/skills/code-tidy/references/test-suite-slop.md +16 -27
- package/src/defaults/skills/computer-use/SKILL.md +16 -4
- package/src/defaults/skills/goal-management/SKILL.md +1 -1
- package/src/defaults/skills/setup/references/actions.md +12 -6
- package/src/defaults/skills/setup/references/surfaces.md +2 -2
- package/src/defaults/skills/setup-guide/SKILL.md +5 -2
- package/src/defaults/skills/setup-guide/model-recommendations.json +13 -0
- package/src/defaults/skills/skill-creator/SKILL.md +85 -190
- package/src/defaults/skills/skill-creator/references/design.md +70 -162
- package/src/defaults/skills/skill-creator/references/evaluation.md +33 -92
- package/src/defaults/skills/test-suite/SKILL.md +194 -0
- package/src/defaults/skills/test-suite/references/case-management.md +51 -0
- package/src/defaults/skills/test-suite/references/flaky-policy.md +39 -0
- package/src/defaults/skills/test-suite/references/reliability.md +49 -0
- package/src/defaults/skills/test-suite/references/suite-design.md +78 -0
- package/src/defaults/skills/test-suite/scripts/inventory.mjs +335 -0
- package/src/defaults/skills/visualize/SKILL.md +6 -2
- package/src/lib/rules-builder.cjs +35 -42
- package/src/output-styles/common.md +2 -2
- package/src/output-styles/simple.md +1 -1
- package/src/rules/agent/AGENT.md +5 -4
- package/src/rules/lead/LEAD.md +12 -7
- package/src/rules/shared/10-tool-workflow.md +3 -1
- package/src/rules/shared/20-research.md +3 -6
- package/src/rules/shared/40-editing.md +1 -0
- package/src/rules/shared/45-destructive.md +0 -2
- package/src/rules/shared/50-execution.md +2 -0
- package/src/rules/shared/60-verification.md +10 -9
- package/src/rules/shared/70-delivery.md +8 -9
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch/abort-link.mjs +5 -1
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch.mjs +10 -1
- package/src/runtime/agent/orchestrator/agent-runtime/agent-progress-watchdog.mjs +156 -24
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +13 -0
- package/src/runtime/agent/orchestrator/agent-runtime/maintenance-route.mjs +4 -1
- package/src/runtime/agent/orchestrator/cache-break-trace.mjs +2 -0
- package/src/runtime/agent/orchestrator/config.mjs +12 -7
- package/src/runtime/agent/orchestrator/context/deferred-tools.mjs +8 -8
- package/src/runtime/agent/orchestrator/context/role-instructions.mjs +5 -26
- package/src/runtime/agent/orchestrator/context/skill-catalog.mjs +3 -1
- package/src/runtime/agent/orchestrator/internal-agents.mjs +3 -14
- package/src/runtime/agent/orchestrator/mcp/agent-connectors.mjs +122 -12
- package/src/runtime/agent/orchestrator/mcp/child-tree.mjs +5 -3
- package/src/runtime/agent/orchestrator/mcp/client-config.mjs +13 -2
- package/src/runtime/agent/orchestrator/mcp/client-transport.mjs +152 -58
- package/src/runtime/agent/orchestrator/mcp/client.mjs +51 -18
- package/src/runtime/agent/orchestrator/mcp/oauth-login.mjs +88 -54
- package/src/runtime/agent/orchestrator/mcp/oauth.mjs +42 -26
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +54 -8
- package/src/runtime/agent/orchestrator/providers/anthropic-api-recovery.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-api-request.mjs +37 -31
- package/src/runtime/agent/orchestrator/providers/anthropic-api-transport.mjs +8 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-max-tokens-recovery.mjs +6 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-messages.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-credentials.mjs +31 -21
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-request/initial-status.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth.mjs +14 -3
- package/src/runtime/agent/orchestrator/providers/anthropic-sse.mjs +6 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-turn-result.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-login.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-tokens.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/codex-client-meta.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/command-code-oauth-login.mjs +1 -10
- package/src/runtime/agent/orchestrator/providers/command-code-oauth.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/cursor.mjs +3 -0
- package/src/runtime/agent/orchestrator/providers/custom-provider-config.mjs +40 -0
- package/src/runtime/agent/orchestrator/providers/custom-provider-keys.mjs +34 -0
- package/src/runtime/agent/orchestrator/providers/custom-provider.mjs +3 -0
- package/src/runtime/agent/orchestrator/providers/devin-auth.mjs +14 -7
- package/src/runtime/agent/orchestrator/providers/devin-wire-transport.mjs +3 -2
- package/src/runtime/agent/orchestrator/providers/devin.mjs +3 -0
- package/src/runtime/agent/orchestrator/providers/gemini-response.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/gemini-stream.mjs +4 -1
- package/src/runtime/agent/orchestrator/providers/grok-oauth-login.mjs +248 -41
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-prefix-trace.mjs +76 -11
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-request-utils.mjs +45 -6
- package/src/runtime/agent/orchestrator/providers/lib/first-output-window.mjs +58 -0
- package/src/runtime/agent/orchestrator/providers/lib/listen-on.mjs +14 -0
- package/src/runtime/agent/orchestrator/providers/lib/oauth-page.mjs +0 -18
- package/src/runtime/agent/orchestrator/providers/lib/oauth-token-utils.mjs +138 -6
- package/src/runtime/agent/orchestrator/providers/mimo-oauth-login.mjs +1 -10
- package/src/runtime/agent/orchestrator/providers/mimo-oauth.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/model-cache.mjs +100 -33
- package/src/runtime/agent/orchestrator/providers/muse-code-oauth.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/oauth-secret-fields.fixtures.mjs +45 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-send.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/chunk-events.mjs +9 -2
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/stream-state.mjs +7 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream.mjs +14 -3
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-events.mjs +4 -2
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream-common.mjs +5 -3
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream.mjs +16 -3
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai-send.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events/output-items.mjs +5 -2
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events.mjs +13 -3
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state.mjs +13 -2
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-watchdogs.mjs +81 -42
- package/src/runtime/agent/orchestrator/providers/openai-oauth-http-sse.mjs +8 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-login.mjs +160 -31
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream/event-switch.mjs +22 -12
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/openai-ws-watchdogs.mjs +49 -22
- package/src/runtime/agent/orchestrator/providers/opencode-go-oauth.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/opencode-go.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/registry.mjs +45 -2
- package/src/runtime/agent/orchestrator/providers/vertex-ai-auth.mjs +622 -0
- package/src/runtime/agent/orchestrator/providers/vertex-ai-maas.mjs +185 -0
- package/src/runtime/agent/orchestrator/providers/vertex-ai-models.mjs +445 -0
- package/src/runtime/agent/orchestrator/providers/vertex-ai.mjs +567 -0
- package/src/runtime/agent/orchestrator/runtime-core/ask-user-tool-defs.mjs +41 -13
- package/src/runtime/agent/orchestrator/runtime-core/builtin-features.mjs +2 -0
- package/src/runtime/agent/orchestrator/runtime-core/orchestration.mjs +8 -6
- package/src/runtime/agent/orchestrator/runtime-core/session-text.mjs +7 -3
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog-data.mjs +3 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-defs.mjs +6 -1
- package/src/runtime/agent/orchestrator/runtime-core/workflow/context.mjs +14 -5
- package/src/runtime/agent/orchestrator/runtime-core/workflow-ids.mjs +1 -0
- package/src/runtime/agent/orchestrator/runtime-core/workflow.mjs +5 -2
- package/src/runtime/agent/orchestrator/session/agent-room.d.mts +30 -5
- package/src/runtime/agent/orchestrator/session/agent-room.mjs +171 -37
- package/src/runtime/agent/orchestrator/session/cache/scoped-cache.mjs +1 -3
- package/src/runtime/agent/orchestrator/session/cache-warm.mjs +102 -12
- package/src/runtime/agent/orchestrator/session/catalog-db/schema.mjs +4 -1
- package/src/runtime/agent/orchestrator/session/compact/execution-tail.mjs +1 -8
- package/src/runtime/agent/orchestrator/session/compact/messages.mjs +23 -0
- package/src/runtime/agent/orchestrator/session/compact/observation-supersession.mjs +103 -23
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +160 -36
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +13 -1
- package/src/runtime/agent/orchestrator/session/conversation-import/claude.mjs +164 -23
- package/src/runtime/agent/orchestrator/session/conversation-import/codex.mjs +139 -19
- package/src/runtime/agent/orchestrator/session/conversation-import/convert.mjs +38 -7
- package/src/runtime/agent/orchestrator/session/conversation-import/imported-session.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/conversation-import/turns.mjs +100 -22
- package/src/runtime/agent/orchestrator/session/eager-dispatch.mjs +4 -3
- package/src/runtime/agent/orchestrator/session/human-gate/requests.mjs +36 -6
- package/src/runtime/agent/orchestrator/session/loop/compact-policy.mjs +33 -3
- package/src/runtime/agent/orchestrator/session/loop/fresh-context.mjs +9 -2
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/provider-tool-exclusions.mjs +13 -5
- package/src/runtime/agent/orchestrator/session/loop/route-fallback.mjs +14 -0
- package/src/runtime/agent/orchestrator/session/loop/send-phase.mjs +13 -1
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/before-hook.mjs +23 -4
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/dispatch.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +23 -1
- package/src/runtime/agent/orchestrator/session/loop/tool-exposure-migration.mjs +39 -21
- package/src/runtime/agent/orchestrator/session/loop/turn-limits.mjs +13 -8
- package/src/runtime/agent/orchestrator/session/manager/ask-session.mjs +50 -28
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-loop-options.mjs +3 -3
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-settle.mjs +3 -1
- package/src/runtime/agent/orchestrator/session/manager/owner-route-fallbacks.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/manager/prompt-utils.mjs +1 -0
- package/src/runtime/agent/orchestrator/session/manager/route-fallback-chain.mjs +2 -1
- package/src/runtime/agent/orchestrator/session/manager/rules-cache.mjs +30 -13
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +63 -6
- package/src/runtime/agent/orchestrator/session/manager/session-close.mjs +7 -0
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +15 -0
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +35 -13
- package/src/runtime/agent/orchestrator/session/manager/session-prompt-composition.mjs +24 -14
- package/src/runtime/agent/orchestrator/session/manager/session-scratch-environment.mjs +70 -0
- package/src/runtime/agent/orchestrator/session/manager/session-tool-surface.mjs +0 -3
- package/src/runtime/agent/orchestrator/session/manager/tool-resolution.mjs +10 -6
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-context.mjs +4 -0
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/manager/turn-interruption.mjs +56 -29
- package/src/runtime/agent/orchestrator/session/manager/turn-reap.mjs +125 -0
- package/src/runtime/agent/orchestrator/session/mixy-name.mjs +11 -5
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +5 -1
- package/src/runtime/agent/orchestrator/session/prompt-cache-touch-store.mjs +30 -7
- package/src/runtime/agent/orchestrator/session/restart-prefix-parity.fixture.mjs +154 -0
- package/src/runtime/agent/orchestrator/session/store/session-delete.mjs +7 -0
- package/src/runtime/agent/orchestrator/session/store-summary-catalog.mjs +4 -0
- package/src/runtime/agent/orchestrator/session/store-summary-fields.mjs +15 -0
- package/src/runtime/agent/orchestrator/session/store-summary-index.mjs +37 -8
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +252 -39
- package/src/runtime/agent/orchestrator/session/store-transcript-cache.mjs +163 -64
- package/src/runtime/agent/orchestrator/session/store-transcript-projection.mjs +164 -4
- package/src/runtime/agent/orchestrator/session/store-transcript-worker.mjs +142 -18
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +61 -2
- package/src/runtime/agent/orchestrator/stall-policy.mjs +23 -0
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/completed-result.mjs +6 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/invocation-plan.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/spawn-env.mjs +4 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +6 -1
- package/src/runtime/agent/orchestrator/tools/builtin/builtin-tools.mjs +46 -20
- package/src/runtime/agent/orchestrator/tools/builtin/cache-layers.mjs +7 -1
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +67 -31
- package/src/runtime/agent/orchestrator/tools/builtin/git-worktree-tool.mjs +25 -13
- package/src/runtime/agent/orchestrator/tools/builtin/lib/scoped-search-flight.mjs +9 -5
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.mjs +58 -20
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-stream.mjs +7 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-streaming.mjs +6 -3
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool/batch-dispatch.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool/batch-publication.mjs +23 -12
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool/batch-snapshot.mjs +6 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool.mjs +1 -8
- package/src/runtime/agent/orchestrator/tools/builtin/runtime-capabilities.mjs +20 -15
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +96 -20
- package/src/runtime/agent/orchestrator/tools/builtin/task-tool.mjs +59 -10
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch/federation.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/code-graph-tool-defs.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/graph-manifest.json +13 -13
- package/src/runtime/agent/orchestrator/tools/lib/isolated-test-env.mjs +4 -3
- package/src/runtime/agent/orchestrator/tools/lib/native-spawn-client.mjs +99 -2
- package/src/runtime/agent/orchestrator/tools/lib/owned-shell-trees.mjs +2 -0
- package/src/runtime/agent/orchestrator/tools/lib/shell-descendants.mjs +103 -13
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background/promote-job.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-settle.mjs +49 -15
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-spawn.mjs +45 -27
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-state.mjs +34 -10
- package/src/runtime/agent/orchestrator/tools/lib/shell-warm-standby.mjs +28 -4
- package/src/runtime/agent/orchestrator/tools/lib/wait-until-fixture.mjs +26 -0
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +7 -2
- package/src/runtime/agent/orchestrator/tools/spawn-manifest.json +13 -13
- package/src/runtime/channels/lib/webhook/signature.mjs +4 -1
- package/src/runtime/channels/lib/whisper-port.mjs +29 -11
- package/src/runtime/channels/lib/whisper-server.mjs +10 -1
- package/src/runtime/computer-bridge/action-schema.mjs +2 -2
- package/src/runtime/computer-bridge/core-actions.mjs +2 -2
- package/src/runtime/computer-bridge/error-recovery.mjs +5 -4
- package/src/runtime/computer-bridge/linux-action-capabilities.mjs +24 -5
- package/src/runtime/computer-bridge/linux-readiness.d.mts +7 -2
- package/src/runtime/connectors/connector-accounts-mcp.mjs +236 -103
- package/src/runtime/connectors/gmail-app-password.mjs +3 -3
- package/src/runtime/explore/explorer.mjs +93 -0
- package/src/runtime/explore/tool-defs.mjs +35 -0
- package/src/runtime/explore/tool.mjs +123 -0
- package/src/runtime/local-provider/server-process.mjs +2 -1
- package/src/runtime/media/adapters/gemini-video.mjs +4 -1
- package/src/runtime/media/adapters/xai-media.mjs +2 -1
- package/src/runtime/memory/index.mjs +4 -0
- package/src/runtime/memory/lib/embedding-provider.mjs +4 -1
- package/src/runtime/memory/lib/embedding-worker.mjs +10 -3
- package/src/runtime/memory/lib/memory-action-handlers/cycle-backfill-action.mjs +1 -7
- package/src/runtime/memory/lib/memory-chunk-quality.mjs +1 -6
- package/src/runtime/office/authoring/pdf-author-action.mjs +1 -6
- package/src/runtime/office/design/design-art-direction.mjs +29 -27
- package/src/runtime/office/pdf/pdf-writer.mjs +6 -1
- package/src/runtime/office/portable/portable-snapshot-docx.mjs +7 -1
- package/src/runtime/office/portable/portable-snapshot-shared.mjs +6 -1
- package/src/runtime/office/quality/assurance-rendered.mjs +9 -2
- package/src/runtime/office/quality/assurance-structure-docx.mjs +4 -2
- package/src/runtime/office/quality/design-review.mjs +1 -5
- package/src/runtime/office/quality/document-brief.mjs +1 -5
- package/src/runtime/office/quality/forced-break-pages.mjs +9 -6
- package/src/runtime/office/quality/quality-pipeline.mjs +1 -1
- package/src/runtime/shared/agent-route-config.mjs +17 -2
- package/src/runtime/shared/atomic-file.mjs +103 -2
- package/src/runtime/shared/background-tasks.mjs +15 -6
- package/src/runtime/shared/bot-owned-work.mjs +56 -0
- package/src/runtime/shared/connector-accounts.mjs +5 -5
- package/src/runtime/shared/connector-catalog.d.mts +11 -4
- package/src/runtime/shared/connector-catalog.mjs +60 -52
- package/src/runtime/shared/custom-provider-keys.mjs +20 -0
- package/src/runtime/shared/defaults-separation.mjs +1 -4
- package/src/runtime/shared/fetch-safe-listen.d.mts +16 -0
- package/src/runtime/shared/fetch-safe-listen.mjs +50 -0
- package/src/runtime/shared/file-has-data.mjs +26 -2
- package/src/runtime/shared/file-lock.mjs +13 -15
- package/src/runtime/shared/git-launch.d.mts +9 -0
- package/src/runtime/shared/git-launch.mjs +213 -0
- package/src/runtime/shared/git-runner-worker.mjs +2 -1
- package/src/runtime/shared/handoff-artifacts.d.mts +2 -1
- package/src/runtime/shared/handoff-artifacts.mjs +18 -8
- package/src/runtime/shared/idle-auto-clear-gate.mjs +29 -7
- package/src/runtime/shared/llm/cost.mjs +11 -2
- package/src/runtime/shared/llm/http-agent.mjs +313 -29
- package/src/runtime/shared/llm/model-catalog-projection.mjs +3 -2
- package/src/runtime/shared/llm/model-catalog.mjs +46 -6
- package/src/runtime/shared/llm/provider-catalog-registry.mjs +3 -0
- package/src/runtime/shared/llm/system-proxy.mjs +452 -0
- package/src/runtime/shared/loopback-listener.mjs +25 -2
- package/src/runtime/shared/model-route-chain.d.mts +7 -2
- package/src/runtime/shared/model-route-chain.mjs +22 -4
- package/src/runtime/shared/open-url.mjs +10 -0
- package/src/runtime/shared/provider-accounts.mjs +52 -2
- package/src/runtime/shared/session-activity-signal.mjs +14 -0
- package/src/runtime/shared/session-scratch.mjs +37 -0
- package/src/runtime/shared/staged-install-worker.mjs +5 -0
- package/src/runtime/shared/staged-update.mjs +47 -2
- package/src/runtime/shared/tool-card-model/agent-surface.mjs +1 -3
- package/src/runtime/shared/tool-card-model/card-status.mjs +15 -2
- package/src/runtime/shared/tool-result-summary.mjs +1 -1
- package/src/runtime/shared/tool-surface.mjs +113 -36
- package/src/runtime/shared/tool-work-units.mjs +6 -0
- package/src/runtime/shared/turn-snapshot-store.mjs +13 -6
- package/src/runtime/shared/turn-worktree-snapshot.mjs +414 -54
- package/src/runtime/shared/worktrees/activity-gate.mjs +215 -318
- package/src/runtime/shared/worktrees/activity-ledger-worker.mjs +56 -0
- package/src/runtime/shared/worktrees/activity-ledger.mjs +391 -0
- package/src/runtime/shared/worktrees/branch-management.mjs +9 -3
- package/src/runtime/shared/worktrees/contract.mjs +4 -1
- package/src/runtime/shared/worktrees/git.mjs +72 -0
- package/src/runtime/shared/worktrees/manager.mjs +285 -168
- package/src/runtime/shared/worktrees/test-support.mjs +6 -10
- package/src/runtime/tidy/install.mjs +95 -15
- package/src/runtime/tidy/languages.mjs +17 -15
- package/src/runtime/tidy/process.mjs +7 -4
- package/src/runtime/tidy/resolve.mjs +19 -16
- package/src/runtime/tidy/runners/biome.mjs +3 -3
- package/src/runtime/tidy/tool.mjs +1 -1
- package/src/runtime/tidy/worktree.mjs +10 -6
- package/src/runtime/visualize-bridge/client.mjs +6 -1
- package/src/runtime/visualize-bridge/tool-defs.mjs +7 -2
- package/src/runtime/web-search/index.mjs +1 -1
- package/src/session-runtime/agent-home-delivery.mjs +41 -0
- package/src/session-runtime/agent-task-sessions.mjs +458 -312
- package/src/session-runtime/agent-tool-routing.mjs +8 -41
- package/src/session-runtime/boot/tools.mjs +7 -1
- package/src/session-runtime/bot-status.mjs +107 -101
- package/src/session-runtime/bot-target.mjs +38 -0
- package/src/session-runtime/channel-config-api.mjs +6 -1
- package/src/session-runtime/connector-merge-migration.mjs +18 -15
- package/src/session-runtime/conversation-import/codex-titles.mjs +88 -0
- package/src/session-runtime/conversation-import/discovery.mjs +401 -36
- package/src/session-runtime/conversation-import/service.mjs +35 -8
- package/src/session-runtime/handoff-attachments.mjs +82 -31
- package/src/session-runtime/held-requests.mjs +3 -1
- package/src/session-runtime/internal-tool-executor/ask-user-tool.mjs +12 -13
- package/src/session-runtime/internal-tool-executor/bridge-tools.mjs +1 -0
- package/src/session-runtime/internal-tool-executor/feature-tools.mjs +2 -0
- package/src/session-runtime/internal-tool-executor/knowledge-tools.mjs +8 -0
- package/src/session-runtime/internal-tool-executor/reaction-tool.mjs +4 -1
- package/src/session-runtime/internal-tool-executor/workspace-tools.mjs +145 -112
- package/src/session-runtime/lifecycle/cold-heir.mjs +11 -6
- package/src/session-runtime/lifecycle/session-catalog.mjs +9 -1
- package/src/session-runtime/lifecycle/teardown/session-close.mjs +6 -1
- package/src/session-runtime/lifecycle/teardown.mjs +1 -1
- package/src/session-runtime/mcp-glue/server-catalog.mjs +16 -10
- package/src/session-runtime/mcp-glue/server-input.mjs +4 -1
- package/src/session-runtime/mixy-heartbeat.mjs +1 -1
- package/src/session-runtime/model-route/set-route.mjs +11 -2
- package/src/session-runtime/provider-auth/login.mjs +2 -2
- package/src/session-runtime/provider-catalog-cache.mjs +82 -36
- package/src/session-runtime/provider-models/catalog-load.mjs +23 -6
- package/src/session-runtime/provider-models.mjs +4 -2
- package/src/session-runtime/resource-mcp-api.mjs +98 -35
- package/src/session-runtime/resource-mcp-connector-accounts.mjs +44 -31
- package/src/session-runtime/resource-mcp-secrets.mjs +28 -11
- package/src/session-runtime/resource-mcp-servers.mjs +5 -4
- package/src/session-runtime/resource-recall-api.mjs +6 -1
- package/src/session-runtime/runtime-feature-gates.mjs +5 -1
- package/src/session-runtime/services/agent-tool/execute.mjs +14 -9
- package/src/session-runtime/services/agent-tool/job-views/agent-list.mjs +20 -4
- package/src/session-runtime/services/agent-tool/model-select.mjs +48 -7
- package/src/session-runtime/services/agent-tool/render.mjs +71 -17
- package/src/session-runtime/services/agent-tool/send-flow.mjs +10 -2
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-prep.mjs +8 -3
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-run.mjs +4 -1
- package/src/session-runtime/services/agent-tool/spawn-preset.mjs +6 -2
- package/src/session-runtime/services/agent-tool/tool-def.mjs +9 -9
- package/src/session-runtime/services/agent-watchdog-registry.mjs +32 -4
- package/src/session-runtime/services/channel-worker/daemon-spawn.mjs +2 -0
- package/src/session-runtime/services/daemon-candidate.mjs +4 -1
- package/src/session-runtime/services/memory-runtime-proxy/daemon-spawn.mjs +4 -0
- package/src/session-runtime/services/plugin-admin.mjs +10 -6
- package/src/session-runtime/services/provider-admin.mjs +283 -11
- package/src/session-runtime/session-turn-api.mjs +2 -0
- package/src/session-runtime/settings-builtin-tools-api.mjs +4 -1
- package/src/session-runtime/settings-system-api.mjs +1 -1
- package/src/session-runtime/setup-tool/agent-settings-actions.mjs +13 -3
- package/src/session-runtime/setup-tool/connector-widen-approval.mjs +96 -0
- package/src/session-runtime/setup-tool/executor.mjs +6 -2
- package/src/session-runtime/setup-tool/tool-defs.mjs +2 -1
- package/src/session-runtime/tool-policy/policy-stage.mjs +1 -0
- package/src/session-runtime/turn/agent-ops.mjs +23 -0
- package/src/session-runtime/workflow-agents-api/agent-connectors.mjs +49 -11
- package/src/session-runtime/workflow-agents-api/agent-editor.mjs +5 -1
- package/src/session-runtime/workflow-agents-api/agent-route.mjs +25 -5
- package/src/session-runtime/workflow-agents-api/onboarding.mjs +3 -3
- package/src/session-runtime/workspace/activity-guards.mjs +176 -0
- package/src/session-runtime/workspace/session-view.mjs +149 -0
- package/src/session-runtime/workspace/side-checkouts.mjs +203 -0
- package/src/session-runtime/workspace/transition-runner.mjs +188 -0
- package/src/session-runtime/workspace/transitions.mjs +108 -1041
- package/src/session-runtime/workspace/workspace-merge.mjs +132 -0
- package/src/session-runtime/workspace/worktree-intents.mjs +242 -0
- package/src/session-runtime/workspace/worktree-maintenance.mjs +80 -0
- package/src/session-runtime/workspace/worktree-setup.mjs +85 -0
- package/src/session-runtime/workspace/worktree-tool.mjs +73 -56
- package/src/standalone/daemon-desktop-runtime.mjs +2 -0
- package/src/standalone/daemon-session-control.mjs +169 -138
- package/src/standalone/daemon.mjs +7 -0
- package/src/standalone/desktop-service-registry.mjs +9 -0
- package/src/standalone/local-session-runtime.mjs +5 -1
- package/src/standalone/session-client/daemon-unavailable.mjs +3 -0
- package/src/standalone/session-client.mjs +5 -1
- package/src/standalone/session-frame-stream.mjs +83 -11
- package/src/standalone/session-protocol.mjs +4 -0
- package/src/standalone/session-service/agent-tree/agent-turns.mjs +16 -12
- package/src/standalone/session-service/agent-tree.mjs +45 -9
- package/src/standalone/session-service/projection/transcript-window.mjs +700 -64
- package/src/standalone/session-service/session-calls/session-action.mjs +10 -3
- package/src/standalone/session-service/session-calls/session-views.mjs +160 -104
- package/src/standalone/session-service/stored-reader.mjs +127 -40
- package/src/standalone/session-transport/client-registry/client-grace.mjs +12 -9
- package/src/tui/App.jsx +154 -164
- package/src/tui/app/app-view/floating-panel.jsx +10 -4
- package/src/tui/app/app-view/text-entry-labels.mjs +1 -0
- package/src/tui/app/clipboard.mjs +21 -10
- package/src/tui/app/model-picker/route-selection/fast-parameters.mjs +1 -3
- package/src/tui/app/model-picker/route-selection.mjs +5 -6
- package/src/tui/app/prompt-handlers/use-prompt-history-nav.mjs +1 -1
- package/src/tui/app/prompt-handlers/use-prompt-interrupt.mjs +3 -0
- package/src/tui/app/prompt-submit/provider-prompts.mjs +3 -1
- package/src/tui/app/provider-setup/api-key-actions.mjs +31 -1
- package/src/tui/app/provider-setup/oauth-actions.mjs +58 -21
- package/src/tui/app/provider-setup/provider-items.mjs +8 -2
- package/src/tui/app/provider-setup-picker.mjs +29 -18
- package/src/tui/app/shell-layout/row-budgets.mjs +12 -10
- package/src/tui/app/slash-commands.mjs +1 -0
- package/src/tui/app/slash-dispatch/session-commands.mjs +46 -0
- package/src/tui/app/slash-dispatch.mjs +1 -1
- package/src/tui/app/use-btw-panel.mjs +29 -0
- package/src/tui/app/use-context-panel-refresh.mjs +31 -0
- package/src/tui/app/use-model-catalog-cache.mjs +13 -10
- package/src/tui/app/use-mouse-input.mjs +11 -0
- package/src/tui/app/use-onboarding-start.mjs +8 -3
- package/src/tui/app/use-panel-transition.mjs +10 -1
- package/src/tui/app/use-pasted-buffers.mjs +28 -20
- package/src/tui/app/use-prompt-draft-flow.mjs +7 -0
- package/src/tui/app/use-prompt-layout-rows.mjs +3 -3
- package/src/tui/app/use-prompt-queue-history.mjs +3 -2
- package/src/tui/app/use-selection-focus.mjs +11 -2
- package/src/tui/app/use-selection-geometry.mjs +18 -9
- package/src/tui/app/use-selection-paint.mjs +4 -4
- package/src/tui/app/use-selection-stitch.mjs +3 -3
- package/src/tui/app/use-slash-palette.mjs +62 -0
- package/src/tui/app/use-terminal-chrome.mjs +2 -2
- package/src/tui/app/use-transcript-activity.mjs +47 -32
- package/src/tui/app/use-transcript-follow.mjs +12 -4
- package/src/tui/app/use-transcript-scroll.mjs +46 -17
- package/src/tui/app/use-transcript-swap-reset.mjs +27 -0
- package/src/tui/app/use-transcript-window/geometry.mjs +19 -5
- package/src/tui/app/use-transcript-window/instance-state.mjs +4 -0
- package/src/tui/app/use-transcript-window/selection-shift.mjs +5 -1
- package/src/tui/app/use-transcript-window.mjs +21 -11
- package/src/tui/app/use-tui-ready.mjs +18 -0
- package/src/tui/app/use-welcome-prompt-hint.mjs +5 -0
- package/src/tui/app/use-workflow-tab-cycle.mjs +5 -3
- package/src/tui/components/Picker.jsx +27 -3
- package/src/tui/components/QuestionPanel.jsx +13 -4
- package/src/tui/components/SignInUrl.jsx +68 -0
- package/src/tui/components/TextEntryPanel.jsx +76 -46
- package/src/tui/components/sign-in-url-layout.mjs +24 -0
- package/src/tui/dist/index.mjs +1963 -1361
- package/src/tui/session/goal-turn-state.mjs +6 -2
- package/src/tui/session/session-api/controls.mjs +4 -0
- package/src/tui/session/session-api/extensions.mjs +8 -0
- package/src/tui/session/session-api/intake/abort.mjs +2 -1
- package/src/tui/session/session-api/intake.mjs +2 -0
- package/src/tui/session/session-api/integrations.mjs +2 -2
- package/src/tui/session/session-api/routes-agent-definitions.mjs +1 -0
- package/src/tui/session/session-api/settings.mjs +2 -2
- package/src/tui/session/session-flow/queue/take-entries.mjs +11 -0
- package/src/tui/session/transcript-spill/spill-writer.mjs +15 -0
- package/src/tui/session/transcript-spill.mjs +92 -4
- package/src/tui/session/transcript-store.mjs +2 -0
- package/src/ui/statusline-agents.mjs +1 -3
- package/src/defaults/skills/skill-creator/references/source-review.md +0 -94
package/src/cli.mjs
CHANGED
|
@@ -24,6 +24,13 @@ try {
|
|
|
24
24
|
// 2026-07-20). Default to production; an explicit NODE_ENV still wins.
|
|
25
25
|
process.env.NODE_ENV ||= 'production';
|
|
26
26
|
|
|
27
|
+
// HTTPS_PROXY/HTTP_PROXY work without NODE_USE_ENV_PROXY: honoured in this
|
|
28
|
+
// process and in every child (the daemon included). On Windows without any
|
|
29
|
+
// proxy variable, the static system proxy routes this process's own fetch and
|
|
30
|
+
// is handed to the daemon this CLI starts, never exported as environment.
|
|
31
|
+
(await import('./runtime/shared/llm/system-proxy.mjs')).adoptSystemProxy();
|
|
32
|
+
(await import('./runtime/shared/llm/http-agent.mjs')).adoptEnvProxy();
|
|
33
|
+
|
|
27
34
|
let swapped = false;
|
|
28
35
|
const invocation = classifyCliInvocation(argv);
|
|
29
36
|
const skipHostPrelude = invocation.kind === 'exec' || invocation.skipHostPrelude === true;
|
package/src/defaults/agents.json
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"agents": [
|
|
3
|
+
{
|
|
4
|
+
"agent": "explore-agent",
|
|
5
|
+
"slot": "explore",
|
|
6
|
+
"description": "One-off read-only explorer, one per query of the explore tool",
|
|
7
|
+
"invokedBy": "explore",
|
|
8
|
+
"maintKey": "explore"
|
|
9
|
+
},
|
|
3
10
|
{
|
|
4
11
|
"agent": "cycle1-agent",
|
|
5
12
|
"slot": "cycle1",
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
"advisor": [
|
|
4
4
|
"6bd0318995f70547c162efda92795e79",
|
|
5
5
|
"895c5f4311dcbebc0c8756c9ec61a02a",
|
|
6
|
-
"d3b4a7926c9484833fe8ddba70260f9d"
|
|
6
|
+
"d3b4a7926c9484833fe8ddba70260f9d",
|
|
7
|
+
"fa56b363b9eeb07cb194dcd66dc4159b"
|
|
7
8
|
],
|
|
8
9
|
"debugger": [
|
|
9
10
|
"88c946270760ecbae86df65b9ce262f1"
|
|
10
11
|
],
|
|
11
12
|
"explore": [
|
|
13
|
+
"baf26f0b3bd3abb0fb5a276febc8c4bc",
|
|
12
14
|
"d4fa3ff93ace1dfac0b92792f42b9cbf"
|
|
13
15
|
],
|
|
14
16
|
"front-worker": [
|
|
@@ -114,6 +116,7 @@
|
|
|
114
116
|
"3f5915d27c7659ad82cdbda064acfbfa",
|
|
115
117
|
"4e6134d60ee5c54c2888e874653bcdad",
|
|
116
118
|
"4ecd89b0c07ad8a81aa1f84882cf1b00",
|
|
119
|
+
"88ac40e616f4c181583c35e591c32952",
|
|
117
120
|
"899529696b7d6d3373ae83a76976ab48",
|
|
118
121
|
"8d343d0a406fd5817b7fd98a3ac47010",
|
|
119
122
|
"a1b73ce404125d3ce0a5762e4a1e1555",
|
|
@@ -163,6 +166,7 @@
|
|
|
163
166
|
"simple.md": [
|
|
164
167
|
"07c197ff8f20e24c65d844cd91711216",
|
|
165
168
|
"16d8b5e7757001c614dae62f18f63aa1",
|
|
169
|
+
"2d33871a37ab8672ea550c6bfb4ba64d",
|
|
166
170
|
"56b61d99f3179018f65b530d9b1491d7",
|
|
167
171
|
"6e1749aa66d4416cadad4bcd26eb807a",
|
|
168
172
|
"75ca4c5ec12866b2052a6d08b023759d",
|
|
@@ -180,9 +184,11 @@
|
|
|
180
184
|
"00085086a7649ec6631f5cf0a3bbbf60",
|
|
181
185
|
"08eee52328524eb032fd14f342742c41",
|
|
182
186
|
"25a6744e7591ea5597abbda008d123fe",
|
|
187
|
+
"2e536962f4ff0b8f8028141050c7e7ab",
|
|
183
188
|
"43eeb0b9c5792f08f2223c76846926cb",
|
|
184
189
|
"4ab5316454013712cedb25d9b75f4e43",
|
|
185
190
|
"4f042de090d853ed38aaa82b88d301ac",
|
|
191
|
+
"5d909abd96e4aa8636f27cf652301c5e",
|
|
186
192
|
"646365a3f7041a3da3d7d7d896a0c3b6",
|
|
187
193
|
"662f730d603b1e583dc777a1984b9134",
|
|
188
194
|
"814b0820a05119a049cf4262dc35301b",
|
|
@@ -213,6 +219,7 @@
|
|
|
213
219
|
"8a5a68ec13a7414b35e7f3b0089e2208",
|
|
214
220
|
"9728f28dc5b23eb1bb1924213d3ffddd",
|
|
215
221
|
"9a8789b3b4f5f6b3ba02f407cdfb92f7",
|
|
222
|
+
"ab5cce4a2fccad63e006cf22aa6cc6b0",
|
|
216
223
|
"b50e9c0ba5e8228583eab4f0e0573838",
|
|
217
224
|
"c03f4d0e008467497c0152639953b166",
|
|
218
225
|
"cd1a47197762135462037ea6555ea721",
|
|
@@ -232,6 +239,7 @@
|
|
|
232
239
|
"8236330f56f27dd283bda6da1239285d",
|
|
233
240
|
"8bc93c9320b83de81baa8cf242af5c0b",
|
|
234
241
|
"8fe64c8f6d81bee2120134adf0d6a471",
|
|
242
|
+
"9d5afe7dfa82ea3f4c627f71ccdca331",
|
|
235
243
|
"9e7a48df5065f5073bbab6f9db3e4061",
|
|
236
244
|
"b46617cc619e09c35b6bad8f6177e722",
|
|
237
245
|
"c2b0c50791e358064e22be87bdab4707",
|
|
@@ -242,6 +250,7 @@
|
|
|
242
250
|
"e10367dd4291a0b3d8ee8e8dd60eae36",
|
|
243
251
|
"e1f2526aaf123fb77072aa8975f890de",
|
|
244
252
|
"e67f30ec5bbdd36d7feaabd35b7504b3",
|
|
253
|
+
"edc3519cf07e37702a5793bb23e0643c",
|
|
245
254
|
"f0798c546c172a742e3384d82322ede4"
|
|
246
255
|
],
|
|
247
256
|
"docx": [
|
|
@@ -264,6 +273,7 @@
|
|
|
264
273
|
"07604666cb32a7df8b1d4f0d1e137890",
|
|
265
274
|
"189bca949decd5bccbbdeb49a18426b2",
|
|
266
275
|
"1db9f3e81c714e7e4aa8db8c8004cca0",
|
|
276
|
+
"290d7620499a4134fdf511aa4902043d",
|
|
267
277
|
"6d922fc351d6519c3d92cc5807fe0615",
|
|
268
278
|
"95c83d23f3625c35cc346477a470c769",
|
|
269
279
|
"a47d07ea3402854dc03e655afd5a3a6d",
|
|
@@ -329,6 +339,7 @@
|
|
|
329
339
|
"48247c1645fd94aad7711082d4512c49",
|
|
330
340
|
"4f94016363acccd788a724a2d414744e",
|
|
331
341
|
"56e474f78faafae39aebe921ccff112d",
|
|
342
|
+
"5bd2e944160a64669a3e2f09466590b3",
|
|
332
343
|
"60a1e22fd0c32aa283c64a2cc05b7889",
|
|
333
344
|
"6358ad25dd07a2f92ad65c249a4f360b",
|
|
334
345
|
"7fb12aeb07b79ae113c0deb0a90c6da7",
|
|
@@ -383,7 +394,9 @@
|
|
|
383
394
|
"81e979463e0066e7a45cf511a31c5d68",
|
|
384
395
|
"8476c811b2f02da3a434bcb23a1c3d12",
|
|
385
396
|
"8af2b614e2a07b58dad6c0f1318d22e2",
|
|
397
|
+
"8b829db6b0675b62a71a1432dbd25490",
|
|
386
398
|
"99d76213e70c6900d6af48ffa4045886",
|
|
399
|
+
"9a2188ce201e4394bc18182131b7a3e1",
|
|
387
400
|
"9f90d3872b1ecd312977ce661b770b31",
|
|
388
401
|
"ade615dd0f6ae6ed1601023e5b9cb692",
|
|
389
402
|
"b21681ecfeb523c0d7dd89a299ec05a9",
|
|
@@ -407,18 +420,24 @@
|
|
|
407
420
|
"633e15b84dbe22f2b578b67cc35853d4",
|
|
408
421
|
"72e474711ecd18cfcae6c8365e08286e",
|
|
409
422
|
"920d5b29ccfe6c88f623cf0892b29285",
|
|
410
|
-
"ec88a82ab5e511c0afb1738162150648"
|
|
423
|
+
"ec88a82ab5e511c0afb1738162150648",
|
|
424
|
+
"fa355d4ea5f1823e4b75219ab842c34a"
|
|
411
425
|
],
|
|
412
426
|
"skill-creator": [
|
|
413
427
|
"020817866da73a69544ba35086bdcd5f",
|
|
414
428
|
"2f3f44805618783fbcca9a56652a5e91",
|
|
415
429
|
"50e365910692a803732f68f82fc1ed1f",
|
|
416
430
|
"77a4ca1c08f684780eeeebec50a3f1e6",
|
|
431
|
+
"92b2ed0b18a9c14470e434ec946a843f",
|
|
417
432
|
"bd9bf738a5b3f443450c86230f3299fd",
|
|
418
433
|
"bec7e5abbcae88a6781d23bcdd35e259",
|
|
419
434
|
"d65265972caa7cbefc39baacc9e78157",
|
|
420
435
|
"f450e6d58a7f1f06c71aa2dd557ce09c"
|
|
421
436
|
],
|
|
437
|
+
"test-suite": [
|
|
438
|
+
"df60ba4a182ee289f3550e79f1731cd4",
|
|
439
|
+
"f5c8ee5331a9b8279f997f609b10c380"
|
|
440
|
+
],
|
|
422
441
|
"video": [
|
|
423
442
|
"6aad64b16521d324e355d125692a0cec",
|
|
424
443
|
"82f61245cc67ce5380ab9ccf4c697c29",
|
|
@@ -431,6 +450,8 @@
|
|
|
431
450
|
"8320fedd9dd745a332621c325a8bf355",
|
|
432
451
|
"9c9fba19647b67d75a600137e38c02b8",
|
|
433
452
|
"aa3531bfc4fd6ec3820493d0c190cc75",
|
|
453
|
+
"d9ba9f5f998bf42990eed838a3d1b774",
|
|
454
|
+
"df699ca05260ce37813a7fe6666927da",
|
|
434
455
|
"f24ff77670e5aa43ce901dec1e0055ac",
|
|
435
456
|
"f65924f0691284ad31000469a9855b62"
|
|
436
457
|
],
|
|
@@ -8,6 +8,8 @@ dependencies:
|
|
|
8
8
|
tools:
|
|
9
9
|
- type: tool
|
|
10
10
|
value: browser
|
|
11
|
+
- type: tool
|
|
12
|
+
value: handoff_user
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
# Browser Use
|
|
@@ -170,7 +172,7 @@ not as two blocks joined.
|
|
|
170
172
|
a submitted form's result.
|
|
171
173
|
- **Handoff** — the user must act on the page: payment, approval, or an
|
|
172
174
|
unfinished workflow they continue. A sign-in, CAPTCHA or 2FA step you
|
|
173
|
-
wait on is
|
|
175
|
+
wait on is a `handoff_user` takeover instead (User step mid-flow).
|
|
174
176
|
- `open` replies with exactly one placement: "Shown in the browser panel",
|
|
175
177
|
"Not on screen yet" (this conversation or its panel is not visible; the
|
|
176
178
|
page appears when the user opens it), or an error. Tell the user that and
|
|
@@ -200,12 +202,12 @@ not as two blocks joined.
|
|
|
200
202
|
pages.
|
|
201
203
|
- **User step mid-flow** — a CAPTCHA or human check, 2FA, or identity check is
|
|
202
204
|
a handoff, not completion (an e-mail check of a flow you started is not one:
|
|
203
|
-
E-mail verification). With `
|
|
205
|
+
E-mail verification). With `handoff_user`, call it with `handoff: { kind:
|
|
204
206
|
'takeover', surface: 'browser', tab, instructions, need }`: it shows the
|
|
205
207
|
takeover card, notifies the user, opens that page beside the chat, and
|
|
206
208
|
returns when they press Done; continue from a fresh observation. Never ask
|
|
207
209
|
for the step in plain chat or tell the user to open the panel. Without
|
|
208
|
-
`
|
|
210
|
+
`handoff_user` (an agent), retain the page with `open`, report the required
|
|
209
211
|
user action, and stop.
|
|
210
212
|
- Preserve pre-existing user tabs, unfinished forms, and pages needed for
|
|
211
213
|
recovery. If ownership or disposability is unclear, preserve the page;
|
|
@@ -318,7 +320,10 @@ file-reading tool instead of clicking around the page.
|
|
|
318
320
|
**Multi-page task** — keep one snapshot per page; `list_tabs` when targets or
|
|
319
321
|
ownership are unknown, then act on the intended tab. Use `back` instead of
|
|
320
322
|
re-navigating when history suffices; forward is a `navigate` to the URL the
|
|
321
|
-
earlier snapshot showed.
|
|
323
|
+
earlier snapshot showed. A popup the page opens (`window.open`, an OAuth or
|
|
324
|
+
sign-in window) becomes a background page the reply names ("Opened
|
|
325
|
+
"popup-N" as a new page"), and the visible page does not switch: act on it
|
|
326
|
+
by that name, and check `list_tabs` before concluding no popup opened.
|
|
322
327
|
|
|
323
328
|
**Downloads / uploads** — `downloads` lists and can `wait` for and `attach`
|
|
324
329
|
the newest file (≤ 8 MiB). A wait pins the newest download, or the next one to
|
|
@@ -383,7 +388,7 @@ in the page instead of retrying the same `navigate`.
|
|
|
383
388
|
`MIXDOG_BROWSER_CONFIRM_ACTIONS` and
|
|
384
389
|
`MIXDOG_BROWSER_DENY_ACTIONS` optionally name comma-separated public actions
|
|
385
390
|
(or `*`) the desktop app confirms once or refuses; denial takes precedence.
|
|
386
|
-
- For a password or token, focus the field and call `
|
|
391
|
+
- For a password or token, focus the field and call `handoff_user` with
|
|
387
392
|
`handoff: { kind: 'secret', surface: 'browser' }`; for sign-in, CAPTCHA or
|
|
388
393
|
2FA use `kind: 'takeover'` with instructions. Never ask for secrets or
|
|
389
394
|
these steps in plain chat.
|
|
@@ -15,45 +15,37 @@ dependencies:
|
|
|
15
15
|
Layers, cheapest and safest first: project formatters and linters through
|
|
16
16
|
`tidy`, structural rule packs, then agent-level cleanup. Every layer preserves
|
|
17
17
|
behavior and public API; this is not a bug hunt. The `tidy` schema owns action
|
|
18
|
-
fields; this file owns scope, order, and boundaries.
|
|
19
|
-
shared rule: finish all planned edits, then check once (section 5).
|
|
18
|
+
fields; this file owns scope, order, and boundaries.
|
|
20
19
|
|
|
21
20
|
## 1. Job and mode
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
clang-format, rustfmt, gofmt, or equivalent keeps it; add or rewrite
|
|
27
|
-
`biome.json`, `.prettierrc`, `.clang-format` and the like only when asked.
|
|
21
|
+
- New behavior and public-API refactors are out of scope. A correctness defect
|
|
22
|
+
found while cleaning is reported, never fixed in a cleanup edit.
|
|
23
|
+
- Never invent a formatter config; a project's own formatter stays. Add or
|
|
24
|
+
rewrite one only when asked.
|
|
28
25
|
- Mode is `apply` unless the user asks to check, review, or "just report";
|
|
29
26
|
report-only stays read-only on every layer and lists what would change.
|
|
30
|
-
- An explicit focus restricts every layer
|
|
31
|
-
|
|
32
|
-
the tool cannot isolate it, use targeted edits or report the limitation
|
|
33
|
-
and ask before widening.
|
|
27
|
+
- An explicit focus restricts every layer. If the tool cannot isolate it, use
|
|
28
|
+
targeted edits or report the limitation and ask before widening.
|
|
34
29
|
|
|
35
30
|
## 2. Scope
|
|
36
31
|
1. Scope comes from the user: named files, directories, a feature area
|
|
37
32
|
resolved to confirmed paths, or an explicitly requested whole project. If
|
|
38
33
|
absent or ambiguous, ask first. Never infer it from a diff, branch,
|
|
39
34
|
commit, or recent activity.
|
|
40
|
-
2. Recommend (do not require
|
|
41
|
-
|
|
35
|
+
2. Recommend (do not require) that the user commit existing work before an
|
|
36
|
+
apply run. A dirty tree means preserve those edits.
|
|
42
37
|
3. Drop deleted, binary, generated, vendored files and lockfiles unless
|
|
43
38
|
explicitly included. Consumers and covering tests may be read; editing
|
|
44
39
|
them outside the scope needs approval. New non-ignored files are included.
|
|
45
40
|
4. Pass the approved paths on every `scan`/`check`/`fix`; `paths:["."]` only
|
|
46
41
|
for an explicitly requested whole project.
|
|
47
|
-
5.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
results as clean. Real engine truncation, timeouts, or scope leakage mark
|
|
55
|
-
that partition **unfinished**, not clean. Blocked checks stop dependent
|
|
56
|
-
edits only.
|
|
42
|
+
5. For large scopes, review bounded partitions once. Preserve their
|
|
43
|
+
completion state; report blocked partitions without restarting completed
|
|
44
|
+
work.
|
|
45
|
+
6. Read per-rule and per-directory counts first, then page only relevant rows
|
|
46
|
+
with `tidy action:'results'` filters. Truncation, timeouts, or scope
|
|
47
|
+
leakage mark that partition **unfinished**, not clean. Blocked checks stop
|
|
48
|
+
dependent edits only.
|
|
57
49
|
|
|
58
50
|
## 3. Deterministic layers
|
|
59
51
|
1. `tidy action:'scan'` first (languages, engines used/missing,
|
|
@@ -61,109 +53,86 @@ shared rule: finish all planned edits, then check once (section 5).
|
|
|
61
53
|
2. Downloads are automatic under the default `auto` policy. Only when
|
|
62
54
|
`tidy.downloads` is `ask` does a result carry `needsApproval`: ask once,
|
|
63
55
|
listing engines and bytes, then re-call with `approveDownloads:true`.
|
|
64
|
-
3. Engines run only through `tidy` and are never installed by hand
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
5. Apply with `apply:true` once the plan for the scope is settled, then review
|
|
76
|
-
the actual changes. Skip apply when the dry run proposes nothing.
|
|
77
|
-
Rules without a fix (`no-empty-catch`, `no-nested-ternary`, `no-any-cast`,
|
|
78
|
-
`no-boolean-literal-compare`, `no-debug-statement`, `todo-marker`) are
|
|
79
|
-
diagnostics for the agent layer. Keep the engine pass a distinct change
|
|
56
|
+
3. Engines run only through `tidy` and are never installed by hand; report
|
|
57
|
+
`installHint`. An ad-hoc `npx <engine>`, global binary, or package script
|
|
58
|
+
is not verification. An engine `tidy` cannot resolve leaves its check
|
|
59
|
+
blocked, never clean.
|
|
60
|
+
4. Plan with `fix` without `apply:true`. The dry run is diagnostics and
|
|
61
|
+
candidate files, not a frozen patch. `structural:false` disables
|
|
62
|
+
structural rules only. For a restricted focus, avoid a combined apply that
|
|
63
|
+
touches unrelated code.
|
|
64
|
+
5. Apply with `apply:true` once the plan is settled, then review the actual
|
|
65
|
+
changes; skip it when the dry run proposes nothing. Rules without a fix
|
|
66
|
+
are diagnostics for the agent layer. Keep the engine pass a distinct change
|
|
80
67
|
set from semantic edits. On engine or structural failure, truncation, or a
|
|
81
68
|
rejected edit, stop affected writes; a partial result is not success.
|
|
82
69
|
|
|
83
70
|
## 4. Agent-level cleanup
|
|
84
71
|
Read `references/agent-cleanup.md` (ladder, lenses, slop, risk tiers); also
|
|
85
72
|
`references/test-suite-slop.md` when tests are in scope, and
|
|
86
|
-
`references/cleanup-report.md` for
|
|
73
|
+
`references/cleanup-report.md` for the report.
|
|
87
74
|
|
|
88
|
-
1. **Pin behavior (read-only).**
|
|
89
|
-
(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
cost, action, confidence, and risk tier; drop findings without evidence.
|
|
97
|
-
Use history only when code, contracts, and tests leave intent unclear;
|
|
98
|
-
unresolved intent blocks deletion.
|
|
75
|
+
1. **Pin behavior (read-only).** Find the source-text guards a planned move
|
|
76
|
+
can affect (procedure in `agent-cleanup.md`). A unit whose touched behavior
|
|
77
|
+
no test covers gets only SAFE changes; report it instead of adding tests.
|
|
78
|
+
2. **Ladder, then lenses.** Run the deletion ladder on each selected source
|
|
79
|
+
unit, then the lenses on the survivors. Engine diagnostics point at units;
|
|
80
|
+
they do not define coverage. Findings need path+symbol evidence; drop the
|
|
81
|
+
rest. Use history only when code, contracts, and tests leave intent
|
|
82
|
+
unclear; unresolved intent blocks deletion.
|
|
99
83
|
3. **Apply by tier.** SAFE as one batch; CAREFUL one source unit at a time,
|
|
100
|
-
each
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
4. **Stop rules.**
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
both.
|
|
84
|
+
each wired into its callers (never leave a new module nothing imports);
|
|
85
|
+
RISKY is reported with its evidence and applied only after the user
|
|
86
|
+
approves that item. Dead code follows
|
|
87
|
+
`references/dead-code.md`.
|
|
88
|
+
4. **Stop rules.** Follow the shared verification budget. Report correctness
|
|
89
|
+
defects and changes beyond cleanup scope; do not fix them here. When
|
|
90
|
+
principles cannot pick between two rewrites, apply neither and record both.
|
|
108
91
|
|
|
109
|
-
Structural signals
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if no protected content is lost), underscore-prefixed names exported across
|
|
114
|
-
modules (rename is RISKY). Do not improve names, control flow, or types
|
|
115
|
-
beyond the ladder, lenses, and these signals. A confirmed
|
|
92
|
+
Structural signals (file > 1,000 lines, function > 50 lines or nesting > 3,
|
|
93
|
+
duplicated small helpers, history comments, exported underscore names) are
|
|
94
|
+
leads, not candidates: act only on a named symptom. Do not improve names,
|
|
95
|
+
control flow, or types beyond the ladder and lenses. A confirmed
|
|
116
96
|
responsibility-based split that preserves behavior and entry points is
|
|
117
|
-
CAREFUL;
|
|
118
|
-
|
|
97
|
+
CAREFUL; moving a whole body elsewhere or cutting it into numbered chunks
|
|
98
|
+
resolves nothing.
|
|
119
99
|
|
|
120
|
-
## 5.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
pre-existing: report it separately. A broken runner leaves its scope
|
|
127
|
-
unverified: say so. Skipped or failed checks never count as passed.
|
|
100
|
+
## 5. Verify
|
|
101
|
+
Use the shared evidence budget. Run scoped `tidy check`; select behavioral
|
|
102
|
+
checks and typechecking only where the edits can invalidate their contracts.
|
|
103
|
+
Reuse valid passes. Attribute failures from evidence, not from whether the
|
|
104
|
+
failing file was edited. A broken runner leaves its scope unverified; say so.
|
|
105
|
+
Skipped or failed checks never count as passed.
|
|
128
106
|
|
|
129
107
|
If checks fail and cannot be fixed, undo only this run's edits with targeted
|
|
130
108
|
patches, preserving prior or concurrent work. Never use `git checkout`,
|
|
131
109
|
`reset`, `restore`, or `stash` as rollback; if the edits cannot be separated
|
|
132
110
|
safely, leave them and report the blocker.
|
|
133
111
|
|
|
134
|
-
New findings from the final `tidy check` (e.g. imports orphaned by removals)
|
|
135
|
-
are fixed once if SAFE; others are reported.
|
|
136
|
-
|
|
137
112
|
## 6. Keep: never remove or rename
|
|
138
|
-
- Validation and error handling at a trust boundary
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
wire strings
|
|
113
|
+
- Validation and error handling at a trust boundary unless an adversarial test
|
|
114
|
+
proves the guard redundant.
|
|
115
|
+
- Contracts: export names, routes, CLI flags, DB columns, config keys, event
|
|
116
|
+
names, wire strings. A rename is RISKY even when the name is bad.
|
|
142
117
|
- Anything on the never-dead list in `references/dead-code.md`.
|
|
143
118
|
- An empty catch or ignored error that may be intentional: flag it.
|
|
144
119
|
- Complexity serving a current compatibility obligation, staged migration, or
|
|
145
|
-
vendored-code isolation
|
|
146
|
-
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
manual review.
|
|
120
|
+
vendored-code isolation.
|
|
121
|
+
- Tool directives, public API docs, and security or compatibility
|
|
122
|
+
explanations. Comments that may separate tokens or carry significant line
|
|
123
|
+
breaks are left for manual review.
|
|
150
124
|
- The project's own idioms (`AGENTS.md`/`CLAUDE.md`/lint config) over generic
|
|
151
|
-
ones; clarity over fewer lines
|
|
125
|
+
ones; clarity over fewer lines.
|
|
152
126
|
|
|
153
127
|
## 7. Pitfalls
|
|
154
128
|
- Missing engine: `installHint` only; continue others; that check is blocked.
|
|
155
129
|
- User declines downloads: skip those engines and say so.
|
|
156
|
-
- Structural engine unavailable
|
|
157
|
-
`
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
unfinished.
|
|
161
|
-
- A dead-code scanner report is a candidate list, not proof; verify per
|
|
162
|
-
`references/dead-code.md`.
|
|
130
|
+
- Structural engine unavailable: `check`/`fix` fail with a rebuild remedy;
|
|
131
|
+
`scan` still works. Retry with `structural:false`; missing structural
|
|
132
|
+
matches are never clean.
|
|
133
|
+
- A dead-code scanner report is a candidate list, not proof.
|
|
163
134
|
|
|
164
135
|
## 8. Reporting
|
|
165
|
-
Report once, after the last partition, using `references/cleanup-report.md
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
between partitions except for a blocker or a required approval. No separate
|
|
169
|
-
report file unless requested.
|
|
136
|
+
Report once, after the last partition, using `references/cleanup-report.md`,
|
|
137
|
+
with everything needing the user's decision in one list. Pause only for a
|
|
138
|
+
blocker or a required approval. No report file unless requested.
|