mixdog 1.4.1 → 1.4.3
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 +4 -3
- package/scripts/build-shipped-history.mjs +125 -33
- package/scripts/gate-local.mjs +220 -63
- package/scripts/graph-parity.mjs +8 -3
- package/scripts/lib/gate-scheduler.mjs +139 -32
- package/scripts/lib/gate-timing-reporter.mjs +16 -0
- package/scripts/lib/run-node-tests.mjs +71 -34
- package/scripts/lib/scoped-temp.mjs +1 -0
- package/scripts/lib/test-failure-records.mjs +14 -1
- package/scripts/lib/test-failure-summary.mjs +9 -4
- package/scripts/lib/test-spawn-ledger.mjs +43 -3
- package/scripts/post-release-check.mjs +26 -16
- package/scripts/pptx-kit-index.mjs +5 -6
- package/scripts/provider-pingpong-live.mjs +1 -1
- package/scripts/prune-embedding-runtime.mjs +3 -1
- package/scripts/release-paths.mjs +7 -1
- package/scripts/suite-health.mjs +110 -28
- 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/cli.mjs +7 -0
- package/src/defaults/agents.json +7 -0
- package/src/defaults/shipped-history.json +38 -2
- package/src/defaults/skills/browser-use/SKILL.md +4 -1
- 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 +12 -2
- package/src/defaults/skills/setup/SKILL.md +2 -2
- package/src/defaults/skills/setup/references/actions.md +28 -9
- package/src/defaults/skills/setup/references/surfaces.md +5 -2
- package/src/defaults/skills/setup-guide/SKILL.md +11 -3
- 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/instruction-text.cjs +36 -0
- package/src/lib/rules-builder.cjs +40 -50
- package/src/orchestration/balanced.md +23 -0
- package/src/orchestration/focused.md +22 -0
- package/src/orchestration/none.md +5 -0
- package/src/orchestration/swarm.md +24 -0
- package/src/rules/agent-mode/AGENT_MODE.md +3 -1
- package/src/rules/agent-mode/MIXY.md +2 -2
- package/src/rules/lead/LEAD.md +3 -3
- package/src/rules/shared/20-research.md +3 -6
- package/src/rules/shared/40-editing.md +1 -0
- package/src/rules/shared/60-verification.md +10 -9
- package/src/rules/shared/70-delivery.md +4 -3
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch/abort-link.mjs +5 -1
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch/session-prep.mjs +3 -3
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch.mjs +10 -2
- package/src/runtime/agent/orchestrator/agent-runtime/agent-progress-watchdog.mjs +132 -21
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +13 -9
- package/src/runtime/agent/orchestrator/agent-runtime/heartbeat-completion.mjs +2 -2
- package/src/runtime/agent/orchestrator/agent-runtime/maintenance-route.mjs +4 -1
- package/src/runtime/agent/orchestrator/agent-runtime/session-builder.mjs +67 -0
- package/src/runtime/agent/orchestrator/agent-trace-format.mjs +1 -0
- package/src/runtime/agent/orchestrator/config.mjs +12 -7
- package/src/runtime/agent/orchestrator/context/deferred-tools.mjs +7 -7
- package/src/runtime/agent/orchestrator/context/role-instructions.mjs +9 -30
- package/src/runtime/agent/orchestrator/internal-agents.mjs +3 -14
- package/src/runtime/agent/orchestrator/mcp/agent-connectors.mjs +124 -12
- package/src/runtime/agent/orchestrator/mcp/child-tree.mjs +204 -49
- package/src/runtime/agent/orchestrator/mcp/client-config.mjs +16 -7
- package/src/runtime/agent/orchestrator/mcp/client-transport.mjs +157 -57
- package/src/runtime/agent/orchestrator/mcp/client.mjs +54 -23
- package/src/runtime/agent/orchestrator/mcp/oauth-client.mjs +1 -1
- package/src/runtime/agent/orchestrator/mcp/oauth-credentials.mjs +8 -2
- package/src/runtime/agent/orchestrator/mcp/oauth-login.mjs +83 -52
- package/src/runtime/agent/orchestrator/mcp/oauth-probe.mjs +1 -1
- package/src/runtime/agent/orchestrator/mcp/oauth-provider.mjs +14 -0
- package/src/runtime/agent/orchestrator/mcp/oauth.mjs +43 -27
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +43 -8
- package/src/runtime/agent/orchestrator/providers/anthropic-api-request.mjs +30 -28
- 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-sse-turn/turn-events/content-block-stop.mjs +3 -3
- 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.mjs +1 -1
- 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/gemini-response.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/gemini-stream.mjs +4 -1
- package/src/runtime/agent/orchestrator/providers/gemini-thinking.mjs +2 -2
- package/src/runtime/agent/orchestrator/providers/grok-oauth-login.mjs +48 -31
- 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.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-response-normalization.mjs +4 -6
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-head-parity.json +2784 -2872
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai.mjs +5 -8
- package/src/runtime/agent/orchestrator/providers/openai-oauth-login.mjs +26 -28
- package/src/runtime/agent/orchestrator/providers/openai-responses-payload-parity.fixture.json +288 -300
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream/event-switch.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/openai-ws-watchdogs.mjs +1 -0
- 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 +33 -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 +576 -0
- package/src/runtime/agent/orchestrator/providers/xai-tool-search-head-parity.json +10 -30
- package/src/runtime/agent/orchestrator/runtime-core/builtin-features.mjs +32 -0
- package/src/runtime/agent/orchestrator/runtime-core/config-helpers.mjs +0 -11
- package/src/runtime/agent/orchestrator/runtime-core/deferred-tool-availability.mjs +8 -0
- package/src/runtime/agent/orchestrator/runtime-core/deferred-tool-delta.mjs +17 -3
- package/src/runtime/agent/orchestrator/runtime-core/goal-control.mjs +47 -27
- package/src/runtime/agent/orchestrator/runtime-core/goal-deadlines.mjs +141 -10
- package/src/runtime/agent/orchestrator/runtime-core/goal-mutations.mjs +26 -63
- package/src/runtime/agent/orchestrator/runtime-core/goal-reminder.mjs +28 -3
- package/src/runtime/agent/orchestrator/runtime-core/goal-runtime.mjs +36 -11
- package/src/runtime/agent/orchestrator/runtime-core/goal-state.mjs +88 -56
- package/src/runtime/agent/orchestrator/runtime-core/goal-storage.mjs +4 -1
- package/src/runtime/agent/orchestrator/runtime-core/goal-store.mjs +51 -32
- package/src/runtime/agent/orchestrator/runtime-core/goal-text.mjs +45 -145
- package/src/runtime/agent/orchestrator/runtime-core/goal-tool-defs.mjs +15 -98
- package/src/runtime/agent/orchestrator/runtime-core/goal-tool-exec.mjs +32 -99
- package/src/runtime/agent/orchestrator/runtime-core/goal-turns.mjs +23 -78
- package/src/runtime/agent/orchestrator/runtime-core/orchestration.mjs +69 -47
- package/src/runtime/agent/orchestrator/runtime-core/todo-list.mjs +367 -0
- package/src/runtime/agent/orchestrator/runtime-core/todo-tool-defs.mjs +47 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-availability.mjs +155 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog-data.mjs +12 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog.mjs +119 -35
- package/src/runtime/agent/orchestrator/runtime-core/tool-defs.mjs +4 -1
- package/src/runtime/agent/orchestrator/runtime-core/workflow/context.mjs +15 -6
- package/src/runtime/agent/orchestrator/runtime-core/workflow-ids.mjs +1 -0
- package/src/runtime/agent/orchestrator/session/agent-loop.mjs +28 -22
- package/src/runtime/agent/orchestrator/session/agent-pool-progress.mjs +30 -0
- 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/attachment-preflight.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/cache-warm.mjs +94 -10
- package/src/runtime/agent/orchestrator/session/catalog-db/index.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/catalog-db/schema.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/compact/execution-tail.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/compact/summary-route.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +8 -12
- package/src/runtime/agent/orchestrator/session/conversation-import/claude.mjs +4 -4
- package/src/runtime/agent/orchestrator/session/conversation-import/codex.mjs +11 -6
- package/src/runtime/agent/orchestrator/session/conversation-import/convert.mjs +6 -6
- package/src/runtime/agent/orchestrator/session/conversation-import/imported-session.mjs +7 -3
- package/src/runtime/agent/orchestrator/session/conversation-import/turns.mjs +11 -1
- package/src/runtime/agent/orchestrator/session/eager-dispatch.mjs +4 -3
- package/src/runtime/agent/orchestrator/session/human-gate/held-message.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/human-gate/requests.mjs +37 -8
- package/src/runtime/agent/orchestrator/session/human-gate/run-policy.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/image-strip-recovery.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/completion-guards.mjs +11 -1
- package/src/runtime/agent/orchestrator/session/loop/context-overflow.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/fresh-context.mjs +5 -3
- package/src/runtime/agent/orchestrator/session/loop/loop-state.mjs +8 -1
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn/todo-check.mjs +196 -0
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn.mjs +116 -50
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +8 -1
- package/src/runtime/agent/orchestrator/session/loop/provider-tool-exclusions.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/route-fallback.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/loop/steering.mjs +3 -1
- package/src/runtime/agent/orchestrator/session/loop/stored-tool-args.mjs +5 -6
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/before-hook.mjs +27 -3
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/dispatch.mjs +18 -2
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +23 -1
- package/src/runtime/agent/orchestrator/session/loop/turn-limits.mjs +13 -8
- package/src/runtime/agent/orchestrator/session/loop/turn-report.mjs +35 -0
- package/src/runtime/agent/orchestrator/session/loop/usage.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/manager/ask-session.mjs +103 -50
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-auto-effort.mjs +9 -7
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-execute.mjs +21 -3
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-failure.mjs +27 -11
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-open.mjs +37 -34
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-prepare.mjs +15 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-settle.mjs +25 -15
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-state.mjs +79 -24
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-steering-drain.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/manager/compaction-runner.mjs +12 -1
- package/src/runtime/agent/orchestrator/session/manager/context-meta.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/manager/idle-cleanup.mjs +6 -1
- package/src/runtime/agent/orchestrator/session/manager/pending-messages.mjs +9 -1
- package/src/runtime/agent/orchestrator/session/manager/pending-spool-path.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/manager/pending-spool-shard.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/manager/prompt-settings.mjs +598 -0
- package/src/runtime/agent/orchestrator/session/manager/prompt-utils.mjs +20 -0
- package/src/runtime/agent/orchestrator/session/manager/rules-cache.mjs +22 -14
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/manager/session-close.mjs +12 -0
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +15 -0
- package/src/runtime/agent/orchestrator/session/manager/session-fallback-title.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +56 -14
- package/src/runtime/agent/orchestrator/session/manager/session-lock.mjs +31 -0
- package/src/runtime/agent/orchestrator/session/manager/session-prompt-composition.mjs +59 -20
- package/src/runtime/agent/orchestrator/session/manager/session-record.mjs +2 -0
- 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 +18 -4
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-context.mjs +8 -9
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-journal.mjs +339 -88
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-recovery.mjs +135 -11
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint.mjs +377 -104
- package/src/runtime/agent/orchestrator/session/manager/turn-durability.mjs +144 -0
- package/src/runtime/agent/orchestrator/session/manager/turn-interruption.mjs +48 -30
- package/src/runtime/agent/orchestrator/session/manager/turn-reap.mjs +125 -0
- package/src/runtime/agent/orchestrator/session/manager/usage-metrics.mjs +4 -0
- package/src/runtime/agent/orchestrator/session/manager.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/mixy-name.mjs +12 -6
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +8 -1
- package/src/runtime/agent/orchestrator/session/restart-prefix-parity.fixture.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/save-session-worker.mjs +5 -1
- package/src/runtime/agent/orchestrator/session/store/canonical-reader.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store/liveness-veto.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/store/save-worker.mjs +23 -2
- package/src/runtime/agent/orchestrator/session/store/sweep/sub-agent-retention.mjs +3 -3
- package/src/runtime/agent/orchestrator/session/store/transcript-durability.mjs +88 -0
- package/src/runtime/agent/orchestrator/session/store-agent-worker-rows.mjs +5 -0
- package/src/runtime/agent/orchestrator/session/store-summary-log.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +243 -38
- package/src/runtime/agent/orchestrator/session/store-transcript-cache.mjs +163 -64
- package/src/runtime/agent/orchestrator/session/store-transcript-projection.mjs +177 -8
- package/src/runtime/agent/orchestrator/session/store-transcript-worker.mjs +142 -18
- package/src/runtime/agent/orchestrator/session/store.mjs +5 -0
- package/src/runtime/agent/orchestrator/session/synthetic-user-envelope.mjs +7 -1
- package/src/runtime/agent/orchestrator/session/tail-reminder-rules.mjs +9 -1
- package/src/runtime/agent/orchestrator/session/transcript-restore/agent-envelope.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +3 -1
- package/src/runtime/agent/orchestrator/session/transcript-restore/user-text.mjs +2 -2
- package/src/runtime/agent/orchestrator/stall-policy.mjs +3 -5
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/backgrounded-result.mjs +4 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/completed-result.mjs +6 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/misuse-guard.mjs +21 -3
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/result-format.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/worktree-add-guard.mjs +77 -0
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +0 -1
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +42 -28
- package/src/runtime/agent/orchestrator/tools/builtin/git-worktree-tool.mjs +30 -14
- package/src/runtime/agent/orchestrator/tools/builtin/lib/search-input-helpers.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.mjs +58 -20
- package/src/runtime/agent/orchestrator/tools/builtin/read-range-index.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-fast-paths.mjs +0 -1
- package/src/runtime/agent/orchestrator/tools/builtin/runtime-capabilities.mjs +20 -15
- package/src/runtime/agent/orchestrator/tools/builtin/search-tool.mjs +0 -10
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +95 -20
- package/src/runtime/agent/orchestrator/tools/builtin/task-tool.mjs +59 -10
- package/src/runtime/agent/orchestrator/tools/builtin.mjs +1 -24
- package/src/runtime/agent/orchestrator/tools/code-graph/graph-binary/child-kill.mjs +4 -3
- package/src/runtime/agent/orchestrator/tools/code-graph/graph-binary.mjs +1 -2
- package/src/runtime/agent/orchestrator/tools/code-graph/modes/calls.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/code-graph/modes/symbols.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/code-graph/search.mjs +4 -5
- package/src/runtime/agent/orchestrator/tools/code-graph/symbol-index.mjs +3 -4
- package/src/runtime/agent/orchestrator/tools/code-graph.mjs +4 -22
- package/src/runtime/agent/orchestrator/tools/graph-manifest.json +13 -13
- 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 +105 -15
- 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 +35 -11
- package/src/runtime/agent/orchestrator/tools/lib/shell-warm-standby.mjs +2 -0
- package/src/runtime/agent/orchestrator/tools/lib/wait-until-fixture.mjs +26 -0
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +7 -6
- package/src/runtime/agent/orchestrator/tools/shell-policy.mjs +0 -1
- package/src/runtime/agent/orchestrator/tools/spawn-manifest.json +13 -13
- package/src/runtime/attachments/attachment-reference.mjs +1 -1
- package/src/runtime/attachments/pdf-extract.mjs +1 -1
- package/src/runtime/attachments/store.d.mts +1 -0
- package/src/runtime/attachments/store.mjs +2 -2
- package/src/runtime/channels/lib/config-reload-watch.mjs +42 -0
- package/src/runtime/channels/lib/owned-runtime/config-reload.mjs +29 -9
- package/src/runtime/channels/lib/scheduler.mjs +33 -0
- package/src/runtime/channels/lib/schedules-db.mjs +11 -4
- package/src/runtime/channels/lib/webhook/session-dispatch.mjs +4 -1
- package/src/runtime/channels/lib/webhooks-db.mjs +9 -3
- package/src/runtime/channels/lib/whisper-port.mjs +19 -10
- package/src/runtime/channels/lib/whisper-server.mjs +22 -13
- package/src/runtime/channels/lib/worker-main.mjs +9 -31
- package/src/runtime/computer-bridge/linux-readiness.mjs +10 -14
- package/src/runtime/connectors/connector-accounts-mcp.mjs +372 -103
- package/src/runtime/connectors/gmail-app-password.mjs +4 -4
- package/src/runtime/connectors/google-mcp.mjs +1 -1
- package/src/runtime/effort-judge/judge-client.mjs +2 -2
- package/src/runtime/effort-judge/judge-input.mjs +4 -4
- package/src/runtime/explore/explorer.mjs +88 -0
- package/src/runtime/explore/tool-defs.mjs +35 -0
- package/src/runtime/explore/tool.mjs +123 -0
- package/src/runtime/local-provider/hardware.mjs +1 -1
- package/src/runtime/media/adapters/codex-image.mjs +3 -3
- package/src/runtime/media/adapters/gemini-video.mjs +1 -1
- package/src/runtime/media/media-usage.mjs +1 -1
- package/src/runtime/media/store.mjs +1 -1
- package/src/runtime/memory/index.mjs +15 -1
- package/src/runtime/memory/lib/embedding-provider.mjs +4 -1
- package/src/runtime/memory/lib/embedding-reindex.mjs +27 -0
- package/src/runtime/memory/lib/embedding-worker.mjs +4 -0
- package/src/runtime/memory/lib/memory-embed.mjs +83 -14
- package/src/runtime/memory/lib/memory-process-lock.mjs +159 -36
- package/src/runtime/memory/lib/memory-text-utils.mjs +6 -1
- package/src/runtime/memory/lib/memory.mjs +17 -0
- package/src/runtime/memory/lib/pg/process.mjs +1 -1
- package/src/runtime/memory/lib/pg/supervisor.mjs +16 -96
- package/src/runtime/memory/lib/recall-hybrid/hybrid-sql.mjs +12 -3
- package/src/runtime/office/authoring/docx-html-runner.mjs +1 -1
- package/src/runtime/office/authoring/pptx-author-action.mjs +1 -1
- package/src/runtime/office/authoring/xlsx-html-build.mjs +1 -1
- package/src/runtime/office/authoring/xlsx-html-runner.mjs +1 -1
- package/src/runtime/office/capabilities.mjs +1 -1
- package/src/runtime/office/core/office-core.mjs +1 -1
- package/src/runtime/office/design/content-model.mjs +3 -3
- package/src/runtime/office/design/docx/design-docx/section.mjs +6 -6
- package/src/runtime/office/design/xlsx/design-xlsx-components.mjs +1 -1
- package/src/runtime/office/design/xlsx/design-xlsx.mjs +1 -1
- package/src/runtime/office/pdf/ocr-engine.mjs +1 -1
- package/src/runtime/office/pdf/pdf-writer.mjs +4 -4
- package/src/runtime/office/portable/portable-docx-operations.mjs +2 -2
- package/src/runtime/office/portable/portable-soffice.mjs +8 -6
- package/src/runtime/office/portable/xlsx-contract.mjs +1 -1
- package/src/runtime/office/quality/assurance-structure-docx.mjs +1 -1
- package/src/runtime/shared/agent-route-config.mjs +17 -2
- package/src/runtime/shared/atomic-file.d.mts +8 -0
- package/src/runtime/shared/atomic-file.mjs +103 -2
- package/src/runtime/shared/background-tasks.mjs +37 -10
- package/src/runtime/shared/background-wait.mjs +66 -0
- package/src/runtime/shared/child-guardian.mjs +17 -7
- package/src/runtime/shared/config.mjs +313 -16
- package/src/runtime/shared/connector-accounts.mjs +5 -5
- package/src/runtime/shared/connector-catalog.d.mts +14 -8
- package/src/runtime/shared/connector-catalog.mjs +70 -52
- package/src/runtime/shared/custom-provider-keys.mjs +20 -0
- package/src/runtime/shared/file-has-data.mjs +26 -2
- package/src/runtime/shared/file-lock.mjs +21 -18
- 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/git-runner.mjs +7 -2
- package/src/runtime/shared/idle-gc.mjs +30 -7
- package/src/runtime/shared/llm/cost.mjs +6 -1
- package/src/runtime/shared/llm/http-agent.mjs +316 -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 +453 -0
- package/src/runtime/shared/llm/usage-ledger-quota.mjs +31 -12
- package/src/runtime/shared/llm/usage-ledger-rollup.mjs +84 -8
- package/src/runtime/shared/llm/usage-ledger.mjs +3 -0
- package/src/runtime/shared/llm/usage-rollup.mjs +48 -0
- package/src/runtime/shared/maintenance-schedule.mjs +109 -0
- package/src/runtime/shared/process-runner.mjs +8 -4
- package/src/runtime/shared/provider-accounts.mjs +52 -2
- package/src/runtime/shared/routine-trigger.d.mts +13 -0
- package/src/runtime/shared/routine-trigger.mjs +34 -0
- package/src/runtime/shared/run-child.d.mts +2 -1
- package/src/runtime/shared/run-child.mjs +70 -18
- package/src/runtime/shared/session-scratch.mjs +14 -2
- package/src/runtime/shared/shipped-definitions.mjs +7 -1
- 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.golden.json +3 -12
- package/src/runtime/shared/tool-execution-contract.mjs +2 -0
- package/src/runtime/shared/tool-surface.mjs +110 -36
- package/src/runtime/shared/tool-work-units.mjs +35 -6
- package/src/runtime/shared/turn-snapshot.mjs +26 -4
- package/src/runtime/shared/turn-worktree-snapshot.mjs +409 -54
- package/src/runtime/shared/worker-requests.mjs +17 -3
- 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 +5 -3
- package/src/runtime/shared/worktrees/contract.mjs +16 -6
- package/src/runtime/shared/worktrees/dependencies.mjs +127 -89
- package/src/runtime/shared/worktrees/disk.mjs +79 -2
- package/src/runtime/shared/worktrees/git.mjs +97 -7
- package/src/runtime/shared/worktrees/include.mjs +6 -4
- package/src/runtime/shared/worktrees/maintenance.mjs +422 -30
- package/src/runtime/shared/worktrees/manager.mjs +962 -197
- package/src/runtime/shared/worktrees/settings.mjs +33 -7
- package/src/runtime/shared/worktrees/test-support.mjs +5 -1
- package/src/runtime/shared/worktrees/worker-snapshots.mjs +82 -0
- package/src/runtime/tidy/install.mjs +95 -15
- package/src/runtime/tidy/languages.mjs +17 -15
- package/src/runtime/tidy/process.mjs +9 -5
- 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 +4 -1
- package/src/runtime/visualize-bridge/tool-defs.mjs +7 -2
- package/src/runtime/web-search/index.mjs +4 -23
- package/src/runtime/web-search/lib/web-tools.mjs +2 -2
- package/src/runtime/web-search/tool-defs.mjs +17 -26
- package/src/session-runtime/agent-profile-changes.mjs +55 -4
- package/src/session-runtime/agent-task-sessions.mjs +410 -353
- package/src/session-runtime/boot/apis.mjs +27 -4
- package/src/session-runtime/boot/begin.mjs +2 -0
- package/src/session-runtime/boot/config.mjs +10 -1
- package/src/session-runtime/boot/facade.mjs +1 -0
- package/src/session-runtime/boot/providers.mjs +70 -3
- package/src/session-runtime/boot/session.mjs +2 -0
- package/src/session-runtime/boot/tools.mjs +71 -25
- package/src/session-runtime/bot-status.mjs +103 -103
- package/src/session-runtime/channel-config-api.mjs +1 -0
- package/src/session-runtime/config-change-effects.mjs +179 -0
- package/src/session-runtime/config-lifecycle/config-writers.mjs +1 -0
- package/src/session-runtime/config-lifecycle.mjs +160 -24
- package/src/session-runtime/connector-merge-migration.mjs +18 -15
- package/src/session-runtime/conversation-import/discovery.mjs +245 -47
- package/src/session-runtime/conversation-import/service.mjs +12 -5
- package/src/session-runtime/goal-facade-api.mjs +49 -3
- package/src/session-runtime/handoff-attachments.mjs +1 -1
- package/src/session-runtime/held-requests.mjs +3 -1
- package/src/session-runtime/internal-tool-executor/ask-user-tool.mjs +3 -0
- package/src/session-runtime/internal-tool-executor/bridge-tools.mjs +3 -2
- package/src/session-runtime/internal-tool-executor/feature-tools.mjs +5 -11
- package/src/session-runtime/internal-tool-executor/knowledge-tools.mjs +8 -0
- package/src/session-runtime/internal-tool-executor/workspace-tools.mjs +161 -120
- package/src/session-runtime/internal-tool-executor.mjs +12 -19
- package/src/session-runtime/lifecycle/cold-heir.mjs +7 -0
- package/src/session-runtime/lifecycle/memory-ingest.mjs +3 -3
- package/src/session-runtime/lifecycle/session-switch/session-delete.mjs +53 -5
- package/src/session-runtime/lifecycle/session-switch.mjs +13 -2
- package/src/session-runtime/lifecycle/teardown/session-close.mjs +10 -5
- package/src/session-runtime/lifecycle/teardown.mjs +1 -1
- package/src/session-runtime/lifecycle-api.mjs +1 -0
- package/src/session-runtime/mcp-glue/server-catalog.mjs +27 -10
- package/src/session-runtime/mcp-glue/server-connection.mjs +34 -8
- 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 +40 -7
- package/src/session-runtime/native-web-search/routes.mjs +3 -3
- package/src/session-runtime/provider-auth/login.mjs +2 -2
- package/src/session-runtime/provider-auth/refresh.mjs +6 -3
- package/src/session-runtime/provider-auth/setup.mjs +1 -1
- package/src/session-runtime/provider-readiness.mjs +53 -4
- package/src/session-runtime/resource-api.mjs +1 -1
- package/src/session-runtime/resource-extension-sync.mjs +4 -8
- package/src/session-runtime/resource-mcp-api.mjs +98 -35
- package/src/session-runtime/resource-mcp-connector-accounts.mjs +49 -32
- package/src/session-runtime/resource-mcp-secrets.mjs +27 -10
- package/src/session-runtime/resource-mcp-servers.mjs +5 -4
- package/src/session-runtime/resource-plugins-api.mjs +4 -0
- package/src/session-runtime/routine-executor.mjs +152 -0
- package/src/session-runtime/routine-home-turn.mjs +46 -5
- package/src/session-runtime/runtime-facade.mjs +5 -0
- package/src/session-runtime/runtime-feature-gates.mjs +2 -11
- package/src/session-runtime/schedule-session-run.mjs +1 -0
- package/src/session-runtime/services/agent-tool/job-task-reconcile.mjs +6 -1
- package/src/session-runtime/services/agent-tool/job-views/session-progress.mjs +7 -0
- package/src/session-runtime/services/agent-tool/send-flow.mjs +120 -8
- package/src/session-runtime/services/agent-tool/spawn-flow/job-start.mjs +12 -0
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-plan.mjs +5 -0
- 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 +28 -7
- package/src/session-runtime/services/agent-tool.mjs +51 -1
- package/src/session-runtime/services/agent-watchdog-registry.mjs +32 -4
- package/src/session-runtime/services/channel-admin.mjs +18 -0
- 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/hook-bus/command-handler.mjs +7 -11
- package/src/session-runtime/services/memory-runtime-proxy/daemon-spawn.mjs +4 -0
- package/src/session-runtime/services/plugin-admin.mjs +14 -6
- package/src/session-runtime/services/provider-admin.mjs +281 -10
- package/src/session-runtime/services/seeds.mjs +7 -0
- package/src/session-runtime/services/usage-stats-model.mjs +32 -11
- package/src/session-runtime/session-create/materialize.mjs +4 -2
- package/src/session-runtime/session-create/session-options.mjs +2 -0
- package/src/session-runtime/session-turn-api.mjs +2 -0
- package/src/session-runtime/settings-builtin-tools-api.mjs +5 -10
- 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 +14 -3
- package/src/session-runtime/setup-tool/extended-actions.mjs +2 -0
- package/src/session-runtime/setup-tool/settings-contract.mjs +28 -0
- package/src/session-runtime/setup-tool/tool-defs.mjs +28 -2
- package/src/session-runtime/tool-policy/agent-profile-fold.mjs +40 -43
- package/src/session-runtime/tool-policy/mode-switch.mjs +1 -1
- package/src/session-runtime/tool-policy/policy-stage.mjs +106 -8
- package/src/session-runtime/tool-policy/workflow-overlay.mjs +2 -1
- package/src/session-runtime/tool-policy-refresh.mjs +182 -5
- package/src/session-runtime/tool-surface.mjs +38 -1
- package/src/session-runtime/turn/agent-ops.mjs +33 -2
- package/src/session-runtime/turn/session-ops.mjs +2 -0
- package/src/session-runtime/turn/turn-run/turn-prepare.mjs +5 -0
- package/src/session-runtime/turn/turn-run.mjs +1 -1
- package/src/session-runtime/webhook-session-run.mjs +2 -0
- package/src/session-runtime/workflow-agents-api/agent-connectors.mjs +46 -11
- package/src/session-runtime/workflow-agents-api/agent-route.mjs +2 -0
- package/src/session-runtime/workflow-agents-api/instruction-files.mjs +165 -0
- package/src/session-runtime/workflow-agents-api/style-and-mode.mjs +5 -4
- package/src/session-runtime/workflow-agents-api/workflow-packs.mjs +2 -3
- package/src/session-runtime/workflow-agents-api.mjs +2 -0
- package/src/session-runtime/workspace/activity-guards.mjs +176 -0
- package/src/session-runtime/workspace/project-branches.mjs +1 -1
- 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 +128 -1070
- 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 +200 -0
- package/src/session-runtime/workspace/worktree-setup.mjs +97 -0
- package/src/session-runtime/workspace/worktree-tool.mjs +70 -54
- package/src/standalone/daemon-agent-control.mjs +25 -8
- package/src/standalone/daemon-desktop-runtime.mjs +8 -2
- package/src/standalone/daemon-lag-profiler.mjs +7 -7
- package/src/standalone/daemon-session-control.mjs +151 -136
- package/src/standalone/daemon.mjs +61 -2
- package/src/standalone/desktop-service-registry.mjs +9 -0
- package/src/standalone/local-session-runtime.mjs +21 -1
- package/src/standalone/session-client/daemon-unavailable.mjs +4 -1
- package/src/standalone/session-client.mjs +5 -1
- package/src/standalone/session-frame-stream.mjs +83 -11
- package/src/standalone/session-protocol.mjs +15 -0
- package/src/standalone/session-service/agent-route-follow.mjs +23 -20
- package/src/standalone/session-service/agent-tree/agent-turns.mjs +18 -6
- 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/quota-resume.mjs +9 -0
- package/src/standalone/session-service/session-calls/session-action.mjs +51 -1
- package/src/standalone/session-service/session-calls/session-turns.mjs +37 -18
- package/src/standalone/session-service/session-calls/session-views.mjs +160 -104
- package/src/standalone/session-service/session-calls/turn-gate.mjs +34 -0
- package/src/standalone/session-service/session-calls.mjs +2 -1
- package/src/standalone/session-service/stored-reader.mjs +127 -40
- package/src/tui/App.jsx +162 -164
- package/src/tui/app/app-view/floating-panel.jsx +3 -0
- package/src/tui/app/app-view/text-entry-labels.mjs +1 -0
- package/src/tui/app/clipboard.mjs +22 -11
- package/src/tui/app/create-app-pickers.mjs +2 -0
- package/src/tui/app/doctor.mjs +2 -2
- package/src/tui/app/panel-signature.mjs +1 -1
- 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 +25 -6
- package/src/tui/app/provider-setup-picker.mjs +20 -13
- package/src/tui/app/settings-picker.mjs +53 -8
- package/src/tui/app/shell-layout/row-budgets.mjs +14 -12
- package/src/tui/app/slash-commands.mjs +2 -1
- package/src/tui/app/slash-dispatch/route-commands.mjs +1 -1
- package/src/tui/app/slash-dispatch/session-commands.mjs +47 -1
- 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 +5 -4
- 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 +48 -33
- 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 +20 -6
- 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/SignInUrl.jsx +68 -0
- package/src/tui/components/TextEntryPanel.jsx +76 -46
- package/src/tui/components/prompt-input/escape-policy.d.mts +0 -1
- package/src/tui/components/prompt-input/escape-policy.mjs +1 -1
- package/src/tui/components/question-panel-model.mjs +4 -4
- package/src/tui/components/sign-in-url-layout.mjs +24 -0
- package/src/tui/components/tool-execution/standard-card.jsx +3 -4
- package/src/tui/components/user-message-skills.mjs +1 -1
- package/src/tui/dist/index.mjs +2205 -1371
- package/src/tui/markdown/render-ansi.mjs +1 -1
- package/src/tui/session/agent-job-feed/notification-router.mjs +10 -0
- package/src/tui/session/agent-job-feed.mjs +2 -0
- package/src/tui/session/context-state.mjs +3 -0
- package/src/tui/session/goal-turn-state.mjs +6 -2
- package/src/tui/session/quota-resume.mjs +1 -1
- 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/lifecycle/dispose.mjs +1 -0
- package/src/tui/session/session-api/lifecycle/session-reset.mjs +7 -0
- package/src/tui/session/session-api/routes-agent-definitions.mjs +6 -0
- package/src/tui/session/session-api/settings.mjs +2 -2
- package/src/tui/session/session-api/worktree.mjs +13 -1
- package/src/tui/session/session-flow/drain.mjs +11 -14
- package/src/tui/session/tool-card-results/grouped-result.mjs +2 -2
- 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/tui/session/turn-quiet.mjs +1 -1
- package/src/tui/session/turn.mjs +3 -0
- package/src/tui/session/worktree-setup-notice.mjs +1 -1
- package/src/tui/spinner-meta.mjs +3 -3
- package/src/tui/spinner-verbs.mjs +2 -2
- package/src/defaults/skills/goal-management/SKILL.md +0 -169
- package/src/defaults/skills/skill-creator/references/source-review.md +0 -94
- package/src/runtime/agent/orchestrator/runtime-core/goal-tasks.mjs +0 -156
- package/src/session-runtime/goal-tasks.mjs +0 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// stores. Only the API-key secrets (`secrets/agent.<provider>.apiKey.dpapi`) and the
|
|
11
11
|
// `agent` section of mixdog-config.json are copied in. OAuth providers (`*-oauth`, whose
|
|
12
12
|
// refresh tokens could be rotated) are skipped unless `--real-data` is passed, which
|
|
13
|
-
//
|
|
13
|
+
// runs against the real data dir instead. The isolated dir is
|
|
14
14
|
// deleted at the end, after stopping only processes whose executable lives inside it.
|
|
15
15
|
// Usage: node scripts/provider-pingpong-live.mjs [--suite extended] [--real-data] [case-name ...]
|
|
16
16
|
import fs from 'node:fs';
|
|
@@ -118,7 +118,9 @@ export async function pruneEmbeddingRuntime(packageRoot, options = {}) {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
|
|
121
|
+
// npm runs onnxruntime-node's own postinstall (node ./script/install)
|
|
122
|
+
// concurrently with ours, so its script/ helpers must survive the prune.
|
|
123
|
+
await removeChildrenExcept(ortRoot, new Set(['package.json', 'dist', 'bin', 'node_modules', 'script']));
|
|
122
124
|
|
|
123
125
|
// The Node bundle marks onnxruntime-web as an ignored webpack external. Keep
|
|
124
126
|
// only its manifest so npm's dependency inventory remains coherent.
|
|
@@ -51,7 +51,13 @@ const PATCH_GATE_FILES = [
|
|
|
51
51
|
// workflow, output-style and bundled-skill trees (scripts/build-shipped-history.mjs)
|
|
52
52
|
// and committed under src/defaults/. Release re-checks it, so the gate checks
|
|
53
53
|
// it first instead of letting a stale file fail the deploy late.
|
|
54
|
-
const HISTORY_GATE_PREFIXES = [
|
|
54
|
+
const HISTORY_GATE_PREFIXES = [
|
|
55
|
+
'src/agents/',
|
|
56
|
+
'src/workflows/',
|
|
57
|
+
'src/output-styles/',
|
|
58
|
+
'src/orchestration/',
|
|
59
|
+
'src/defaults/',
|
|
60
|
+
];
|
|
55
61
|
const HISTORY_GATE_FILES = [
|
|
56
62
|
'scripts/build-shipped-history.mjs',
|
|
57
63
|
'src/runtime/shared/shipped-definitions.mjs',
|
package/scripts/suite-health.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// Weekly opt-out sweep: run every test:*/smoke:* npm script in the repository
|
|
3
|
-
// so no locally-registered suite can rot silently (docs/testing.md, "
|
|
4
|
-
// contract suite runs in CI or it drifts"). New scripts join automatically;
|
|
3
|
+
// so no locally-registered suite can rot silently (docs/testing.md, "CI coverage"). New scripts join automatically;
|
|
5
4
|
// exclusions are explicit, reasoned, and fail closed when they go stale.
|
|
6
5
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
7
6
|
import { join } from 'node:path';
|
|
@@ -36,13 +35,9 @@ export const WORKSPACES = [
|
|
|
36
35
|
'test:daemon:e2e': 'needs the built daemon; the release gate desktop job owns it',
|
|
37
36
|
'test:spec-advisory': 'advisory by design (MIXDOG_TEST_ADVISORY)',
|
|
38
37
|
'test:browser-host:integration': 'live desktop integration harness',
|
|
39
|
-
'test:browser-login-persistence:integration':
|
|
40
|
-
'live desktop integration harness; launches real Electron, which needs a display the Linux sweep runner lacks',
|
|
41
|
-
'test:browser-login-popup:integration':
|
|
42
|
-
'live desktop integration harness; launches real Electron, which needs a display the Linux sweep runner lacks',
|
|
43
38
|
'test:browser-profile-import:integration': 'live desktop integration harness',
|
|
44
39
|
'test:remote-webrtc-sender:integration':
|
|
45
|
-
'live desktop integration harness; launches real Electron
|
|
40
|
+
'live desktop integration harness; launches real Electron and has never run in the sweep, so it stays out until verified under Xvfb',
|
|
46
41
|
'test:computer-host:integration': 'live desktop integration harness',
|
|
47
42
|
'test:computer-host:scenarios': 'live desktop scenario harness',
|
|
48
43
|
'test:computer-host:repeats': 'live desktop scenario harness',
|
|
@@ -50,6 +45,32 @@ export const WORKSPACES = [
|
|
|
50
45
|
},
|
|
51
46
|
];
|
|
52
47
|
|
|
48
|
+
// Swept scripts that launch a real Electron window. The headless Linux runner
|
|
49
|
+
// has no X server, so they run inside a virtual one (xvfb-run, as
|
|
50
|
+
// linux-desktop-verify.yml does). The runner also has no usable keyring (a
|
|
51
|
+
// keyring daemon there prompts for an unlock on a display it cannot open and
|
|
52
|
+
// stalls the entry), and these entries check Mixdog's own persistence and
|
|
53
|
+
// sign-out logic, not the OS keychain. So on Linux the sweep sets
|
|
54
|
+
// TEST_PLAINTEXT_SAFE_STORAGE_ENV and the test harness alone (never the app)
|
|
55
|
+
// switches Electron's safeStorage to its in-memory-password fallback.
|
|
56
|
+
export const DISPLAY_SUITES = ['test:browser-login-persistence:integration', 'test:browser-login-popup:integration'];
|
|
57
|
+
export const TEST_PLAINTEXT_SAFE_STORAGE_ENV = 'MIXDOG_TEST_PLAINTEXT_SAFE_STORAGE';
|
|
58
|
+
|
|
59
|
+
const runsUnderDisplay = (ws, name, platform) =>
|
|
60
|
+
platform === 'linux' && ws.dir !== '.' && DISPLAY_SUITES.includes(name);
|
|
61
|
+
|
|
62
|
+
export function sweepCommand(ws, name, platform = process.platform) {
|
|
63
|
+
const args = ['run', name, ...(ws.dir === '.' ? [] : ['--prefix', ws.dir])];
|
|
64
|
+
if (runsUnderDisplay(ws, name, platform)) {
|
|
65
|
+
return ['xvfb-run', ['-a', '--server-args=-screen 0 1440x900x24', 'npm', ...args]];
|
|
66
|
+
}
|
|
67
|
+
return [platform === 'win32' ? 'npm.cmd' : 'npm', args];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function sweepEnv(ws, name, platform = process.platform, base = process.env) {
|
|
71
|
+
return runsUnderDisplay(ws, name, platform) ? { ...base, [TEST_PLAINTEXT_SAFE_STORAGE_ENV]: '1' } : base;
|
|
72
|
+
}
|
|
73
|
+
|
|
53
74
|
export function selectSuiteScripts(scripts, exclusions) {
|
|
54
75
|
const names = Object.keys(scripts).filter((name) => /^(test|smoke)(:|$)/.test(name));
|
|
55
76
|
const stale = Object.keys(exclusions).filter((name) => !names.includes(name));
|
|
@@ -59,12 +80,80 @@ export function selectSuiteScripts(scripts, exclusions) {
|
|
|
59
80
|
return names.filter((name) => !(name in exclusions));
|
|
60
81
|
}
|
|
61
82
|
|
|
62
|
-
const
|
|
63
|
-
|
|
83
|
+
const TAIL_LINES = 25;
|
|
84
|
+
const lastLines = (text, name) => {
|
|
85
|
+
const lines = String(text || '')
|
|
64
86
|
.trim()
|
|
87
|
+
.split('\n');
|
|
88
|
+
if (lines.length <= TAIL_LINES) return lines.join('\n');
|
|
89
|
+
return [`[${name} truncated: last ${TAIL_LINES} of ${lines.length} lines]`, ...lines.slice(-TAIL_LINES)].join('\n');
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// What a failed entry shows in the report: how it ended, every failure-summary
|
|
93
|
+
// and failed-test line from either stream (a long stderr must not hide them),
|
|
94
|
+
// then each stream's tail.
|
|
95
|
+
export function failureParts({ stdout, stderr, status, signal, error }) {
|
|
96
|
+
const failedLines = `${stdout || ''}\n${stderr || ''}`
|
|
65
97
|
.split('\n')
|
|
66
|
-
.
|
|
67
|
-
|
|
98
|
+
.filter((line) => /^\[failure-summary\]|^\s*✖ /.test(line));
|
|
99
|
+
const ended = error
|
|
100
|
+
? `spawn error: ${error.message}`
|
|
101
|
+
: `exit ${status ?? 'none'}${signal ? `, signal ${signal}` : ''}`;
|
|
102
|
+
const tails = [lastLines(stdout, 'stdout'), lastLines(stderr, 'stderr')].filter(Boolean).join('\n');
|
|
103
|
+
return { ended, failedLines, tails };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const failureText = ({ ended, failedLines, tails }) =>
|
|
107
|
+
[ended, failedLines.join('\n'), tails].filter(Boolean).join('\n').trim();
|
|
108
|
+
|
|
109
|
+
export const failureTail = (child) => failureText(failureParts(child));
|
|
110
|
+
|
|
111
|
+
// GitHub rejects an issue body over 65,536 characters (HTTP 422). Past the
|
|
112
|
+
// limit the tails go first, then failure lines from the end; the omission is
|
|
113
|
+
// always stated, and the full diagnostics stay in the workflow log.
|
|
114
|
+
const ISSUE_BODY_LIMIT = 60_000;
|
|
115
|
+
|
|
116
|
+
export function buildReport({ checked, runUrl, reportLines, failures, limit = ISSUE_BODY_LIMIT }) {
|
|
117
|
+
const render = (withTails, keep) => {
|
|
118
|
+
let left = keep;
|
|
119
|
+
let omitted = 0;
|
|
120
|
+
const blocks = failures.map(({ title, parts }) => {
|
|
121
|
+
const shown = parts.failedLines.slice(0, left);
|
|
122
|
+
left -= shown.length;
|
|
123
|
+
omitted += parts.failedLines.length - shown.length;
|
|
124
|
+
const text = failureText({ ...parts, failedLines: shown, tails: withTails ? parts.tails : '' });
|
|
125
|
+
return `${title}\n\n\`\`\`\n${text}\n\`\`\``;
|
|
126
|
+
});
|
|
127
|
+
const notes = [];
|
|
128
|
+
if (!withTails) notes.push('Stdout/stderr tails omitted to fit the issue size limit; see the workflow log.');
|
|
129
|
+
if (omitted) notes.push(`${omitted} more failure lines omitted — see the workflow log: ${runUrl}`);
|
|
130
|
+
return [
|
|
131
|
+
'# Weekly suite health sweep failed',
|
|
132
|
+
'',
|
|
133
|
+
`Checked: ${checked}`,
|
|
134
|
+
`Workflow run: ${runUrl}`,
|
|
135
|
+
'',
|
|
136
|
+
...reportLines,
|
|
137
|
+
'',
|
|
138
|
+
...blocks,
|
|
139
|
+
'',
|
|
140
|
+
...notes,
|
|
141
|
+
]
|
|
142
|
+
.join('\n')
|
|
143
|
+
.trimEnd()
|
|
144
|
+
.concat('\n');
|
|
145
|
+
};
|
|
146
|
+
const total = failures.reduce((sum, { parts }) => sum + parts.failedLines.length, 0);
|
|
147
|
+
if (render(true, total).length <= limit) return render(true, total);
|
|
148
|
+
let low = 0;
|
|
149
|
+
let high = total;
|
|
150
|
+
while (low < high) {
|
|
151
|
+
const mid = Math.ceil((low + high) / 2);
|
|
152
|
+
if (render(false, mid).length <= limit) low = mid;
|
|
153
|
+
else high = mid - 1;
|
|
154
|
+
}
|
|
155
|
+
return render(false, low);
|
|
156
|
+
}
|
|
68
157
|
|
|
69
158
|
function runSweep() {
|
|
70
159
|
const failures = [];
|
|
@@ -75,8 +164,9 @@ function runSweep() {
|
|
|
75
164
|
for (const name of names) {
|
|
76
165
|
const label = ws.dir === '.' ? name : `${ws.dir} ${name}`;
|
|
77
166
|
const started = Date.now();
|
|
78
|
-
const args =
|
|
79
|
-
const child = spawnSync(
|
|
167
|
+
const [command, args] = sweepCommand(ws, name);
|
|
168
|
+
const child = spawnSync(command, args, {
|
|
169
|
+
env: sweepEnv(ws, name),
|
|
80
170
|
encoding: 'utf8',
|
|
81
171
|
shell: process.platform === 'win32',
|
|
82
172
|
maxBuffer: 64 * 1024 * 1024,
|
|
@@ -88,10 +178,10 @@ function runSweep() {
|
|
|
88
178
|
} else {
|
|
89
179
|
// Tail each stream on its own: a long stderr (cargo build chatter) must
|
|
90
180
|
// not push the test failure summary on stdout out of the report.
|
|
91
|
-
const
|
|
92
|
-
failures.push(`- ${label}: FAILED (${seconds}s)
|
|
181
|
+
const parts = failureParts(child);
|
|
182
|
+
failures.push({ title: `- ${label}: FAILED (${seconds}s)`, parts });
|
|
93
183
|
reportLines.push(`- ${label}: FAILED (${seconds}s)`);
|
|
94
|
-
console.error(`${label}: FAILED (${seconds}s)\n${
|
|
184
|
+
console.error(`${label}: FAILED (${seconds}s)\n${failureText(parts)}`);
|
|
95
185
|
}
|
|
96
186
|
}
|
|
97
187
|
}
|
|
@@ -100,18 +190,10 @@ function runSweep() {
|
|
|
100
190
|
const runUrl = process.env.GITHUB_RUN_ID
|
|
101
191
|
? `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`
|
|
102
192
|
: '(local run)';
|
|
103
|
-
|
|
104
|
-
'
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
`Workflow run: ${runUrl}`,
|
|
108
|
-
'',
|
|
109
|
-
...reportLines,
|
|
110
|
-
'',
|
|
111
|
-
...failures,
|
|
112
|
-
'',
|
|
113
|
-
].join('\n');
|
|
114
|
-
writeFileSync('suite-health-report.md', report);
|
|
193
|
+
writeFileSync(
|
|
194
|
+
'suite-health-report.md',
|
|
195
|
+
buildReport({ checked: new Date().toISOString(), runUrl, reportLines, failures })
|
|
196
|
+
);
|
|
115
197
|
process.exitCode = 1;
|
|
116
198
|
}
|
|
117
199
|
}
|
package/scripts/test.mjs
CHANGED
|
@@ -40,12 +40,11 @@ export const USAGE = `Usage: node scripts/test.mjs [--lane ${LANES.join('|')}] [
|
|
|
40
40
|
--exclude-lane drop one lane from the selection, repeatable. Electron and
|
|
41
41
|
window-capture tests cannot run twice at once, so a second
|
|
42
42
|
concurrent --lane all run uses --exclude-lane electron.
|
|
43
|
-
--rerun-failed <n> re-run the failed files up to n times
|
|
44
|
-
|
|
45
|
-
overrides the default. A test that
|
|
46
|
-
reported as flaky and does NOT fail the
|
|
47
|
-
fails every re-run still exits 1.
|
|
48
|
-
the run.
|
|
43
|
+
--rerun-failed <n> re-run the failed files up to n times to classify flaky
|
|
44
|
+
tests. Default 0: every failure fails the run;
|
|
45
|
+
MIXDOG_TEST_RERUN_FAILED overrides the default. A test that
|
|
46
|
+
passes on a re-run is reported as flaky and does NOT fail the
|
|
47
|
+
run; a test that fails every re-run still exits 1.
|
|
49
48
|
Per-file timeout: --test-timeout (default 120000 ms for the fast lane, 600000
|
|
50
49
|
ms otherwise); MIXDOG_TEST_TIMEOUT_MS overrides, 0 disables.
|
|
51
50
|
--import forwarded to node (desktop passes its test-env and tsx loaders).
|
|
@@ -88,15 +87,11 @@ function rerunCount(value) {
|
|
|
88
87
|
return Number(value);
|
|
89
88
|
}
|
|
90
89
|
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
// strict policy unless it opts in with --rerun-failed or MIXDOG_TEST_RERUN_FAILED;
|
|
95
|
-
// MIXDOG_TEST_RERUN_FAILED=0 turns the local default off.
|
|
90
|
+
// Every failure fails the run, locally and in CI: a test that passes only on a
|
|
91
|
+
// re-run is a defect to fix, not a pass. Re-runs happen only on an explicit
|
|
92
|
+
// --rerun-failed or MIXDOG_TEST_RERUN_FAILED, to classify a failure as flaky.
|
|
96
93
|
export function defaultRerunFailed(env = process.env) {
|
|
97
|
-
|
|
98
|
-
const ci = String(env.CI ?? '').toLowerCase();
|
|
99
|
-
return ci && ci !== '0' && ci !== 'false' ? 0 : 1;
|
|
94
|
+
return /^\d+$/.test(String(env.MIXDOG_TEST_RERUN_FAILED ?? '')) ? Number(env.MIXDOG_TEST_RERUN_FAILED) : 0;
|
|
100
95
|
}
|
|
101
96
|
|
|
102
97
|
export function parseArgs(argv) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Advisor
|
|
3
|
-
description: "Use
|
|
3
|
+
description: "Use as a second mind on hard work: consulting before a risky or complex change is built, hunting a bug whose cause is unclear, errors that recur or results that stop converging, or when the user asks. Never for final verification."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Independent technical advisor.
|
|
7
7
|
|
|
8
|
-
You are
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
You are a second mind on hard work: consulted before a risky or complex
|
|
9
|
+
change is built, to hunt a bug whose cause is unclear, when errors recur or
|
|
10
|
+
results stop converging, and when the user asks for a second opinion or
|
|
11
11
|
cross-validation. You do not see the Lead's conversation; work from the brief
|
|
12
12
|
and verify its evidence against the source yourself.
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "advisor",
|
|
3
3
|
"name": "Advisor",
|
|
4
|
-
"description": "Use
|
|
4
|
+
"description": "Use as a second mind on hard work: consulting before a risky or complex change is built, hunting a bug whose cause is unclear, errors that recur or results that stop converging, or when the user asks. Never for final verification.",
|
|
5
5
|
"entry": "AGENT.md"
|
|
6
6
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Explore
|
|
3
|
+
description: Use when Mixdog runs the explore tool. The tool stays off until a model is picked.
|
|
4
|
+
permission: read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read-only explorer for one query of the explore tool. Search and read the
|
|
8
|
+
working directory; never edit, run commands or delegate.
|
|
9
|
+
|
|
10
|
+
Answer the query in the message, then stop:
|
|
11
|
+
|
|
12
|
+
- First a short direct answer.
|
|
13
|
+
- Then the evidence: one `path:line` per finding, copied from tool output,
|
|
14
|
+
with a few words on what is there.
|
|
15
|
+
- Only what you found. If nothing answers the query, say so in one line and
|
|
16
|
+
name what you searched.
|
|
17
|
+
- Nothing else: no locations the query did not ask about, no notes on what
|
|
18
|
+
you did not read.
|
|
19
|
+
|
|
20
|
+
Batch independent patterns and paths in one call. A location a tool returned
|
|
21
|
+
is final: do not re-read or reconfirm it. Stop as soon as the answer is
|
|
22
|
+
supported.
|
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": [
|
|
@@ -177,6 +179,20 @@
|
|
|
177
179
|
"d5f205f3b57c0b9541b8acc237069287"
|
|
178
180
|
]
|
|
179
181
|
},
|
|
182
|
+
"orchestration": {
|
|
183
|
+
"balanced.md": [
|
|
184
|
+
"ad1683ff1626ebabd4e027abe03fe29a"
|
|
185
|
+
],
|
|
186
|
+
"focused.md": [
|
|
187
|
+
"e73b0d71f544900611b2d06f963472d4"
|
|
188
|
+
],
|
|
189
|
+
"none.md": [
|
|
190
|
+
"9be4bf61f9ba91c4caf53296adff2e8a"
|
|
191
|
+
],
|
|
192
|
+
"swarm.md": [
|
|
193
|
+
"7fa3e68e0c53d16203384f5ca645765d"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
180
196
|
"skills": {
|
|
181
197
|
"browser-use": [
|
|
182
198
|
"00085086a7649ec6631f5cf0a3bbbf60",
|
|
@@ -186,6 +202,7 @@
|
|
|
186
202
|
"43eeb0b9c5792f08f2223c76846926cb",
|
|
187
203
|
"4ab5316454013712cedb25d9b75f4e43",
|
|
188
204
|
"4f042de090d853ed38aaa82b88d301ac",
|
|
205
|
+
"5d909abd96e4aa8636f27cf652301c5e",
|
|
189
206
|
"646365a3f7041a3da3d7d7d896a0c3b6",
|
|
190
207
|
"662f730d603b1e583dc777a1984b9134",
|
|
191
208
|
"814b0820a05119a049cf4262dc35301b",
|
|
@@ -216,6 +233,7 @@
|
|
|
216
233
|
"8a5a68ec13a7414b35e7f3b0089e2208",
|
|
217
234
|
"9728f28dc5b23eb1bb1924213d3ffddd",
|
|
218
235
|
"9a8789b3b4f5f6b3ba02f407cdfb92f7",
|
|
236
|
+
"ab5cce4a2fccad63e006cf22aa6cc6b0",
|
|
219
237
|
"b50e9c0ba5e8228583eab4f0e0573838",
|
|
220
238
|
"c03f4d0e008467497c0152639953b166",
|
|
221
239
|
"cd1a47197762135462037ea6555ea721",
|
|
@@ -246,6 +264,7 @@
|
|
|
246
264
|
"e10367dd4291a0b3d8ee8e8dd60eae36",
|
|
247
265
|
"e1f2526aaf123fb77072aa8975f890de",
|
|
248
266
|
"e67f30ec5bbdd36d7feaabd35b7504b3",
|
|
267
|
+
"edc3519cf07e37702a5793bb23e0643c",
|
|
249
268
|
"f0798c546c172a742e3384d82322ede4"
|
|
250
269
|
],
|
|
251
270
|
"docx": [
|
|
@@ -268,6 +287,7 @@
|
|
|
268
287
|
"07604666cb32a7df8b1d4f0d1e137890",
|
|
269
288
|
"189bca949decd5bccbbdeb49a18426b2",
|
|
270
289
|
"1db9f3e81c714e7e4aa8db8c8004cca0",
|
|
290
|
+
"290d7620499a4134fdf511aa4902043d",
|
|
271
291
|
"6d922fc351d6519c3d92cc5807fe0615",
|
|
272
292
|
"95c83d23f3625c35cc346477a470c769",
|
|
273
293
|
"a47d07ea3402854dc03e655afd5a3a6d",
|
|
@@ -362,6 +382,7 @@
|
|
|
362
382
|
],
|
|
363
383
|
"setup": [
|
|
364
384
|
"0357c6d475ced8ba2446e6bda21899b4",
|
|
385
|
+
"0bb692f16b03c66f23af06cea06de51f",
|
|
365
386
|
"0be31b379e919420e5b8f74926bdf6e5",
|
|
366
387
|
"0d5c8c6e2349addf71d2ed2b4c1ccb1f",
|
|
367
388
|
"0d6926aaca2890da9347f15a826546e3",
|
|
@@ -372,7 +393,9 @@
|
|
|
372
393
|
"242f11864abdef90fa0cc9cb4599a579",
|
|
373
394
|
"29a347c4d3a2f773fa92c627260301ba",
|
|
374
395
|
"336ced846a9e4f774cbb109417856c3b",
|
|
396
|
+
"34c5f8fcb6292b8cc5239667d2119e83",
|
|
375
397
|
"3716b2d2c2d973ae022694ed5cb756ad",
|
|
398
|
+
"398958b6f815bf8ad3f96dd288844333",
|
|
376
399
|
"3dc990c29cdce1aca4b112d735ad5917",
|
|
377
400
|
"3f72247651ad9d777b6754bfd46732aa",
|
|
378
401
|
"50bdf35d06913236855080fdea6b50dc",
|
|
@@ -388,7 +411,10 @@
|
|
|
388
411
|
"81e979463e0066e7a45cf511a31c5d68",
|
|
389
412
|
"8476c811b2f02da3a434bcb23a1c3d12",
|
|
390
413
|
"8af2b614e2a07b58dad6c0f1318d22e2",
|
|
414
|
+
"8b829db6b0675b62a71a1432dbd25490",
|
|
391
415
|
"99d76213e70c6900d6af48ffa4045886",
|
|
416
|
+
"9a2188ce201e4394bc18182131b7a3e1",
|
|
417
|
+
"9b10b59b27497a126b212df083ace020",
|
|
392
418
|
"9f90d3872b1ecd312977ce661b770b31",
|
|
393
419
|
"ade615dd0f6ae6ed1601023e5b9cb692",
|
|
394
420
|
"b21681ecfeb523c0d7dd89a299ec05a9",
|
|
@@ -409,21 +435,29 @@
|
|
|
409
435
|
"ff18ac1a9f5961925aec27ffb870bae0"
|
|
410
436
|
],
|
|
411
437
|
"setup-guide": [
|
|
438
|
+
"0968139f1aa26f48f03cfea2e94f45e8",
|
|
412
439
|
"633e15b84dbe22f2b578b67cc35853d4",
|
|
413
440
|
"72e474711ecd18cfcae6c8365e08286e",
|
|
414
441
|
"920d5b29ccfe6c88f623cf0892b29285",
|
|
415
|
-
"
|
|
442
|
+
"dbe3d22991ad4dff6e3906f9101c9b5f",
|
|
443
|
+
"ec88a82ab5e511c0afb1738162150648",
|
|
444
|
+
"fa355d4ea5f1823e4b75219ab842c34a"
|
|
416
445
|
],
|
|
417
446
|
"skill-creator": [
|
|
418
447
|
"020817866da73a69544ba35086bdcd5f",
|
|
419
448
|
"2f3f44805618783fbcca9a56652a5e91",
|
|
420
449
|
"50e365910692a803732f68f82fc1ed1f",
|
|
421
450
|
"77a4ca1c08f684780eeeebec50a3f1e6",
|
|
451
|
+
"92b2ed0b18a9c14470e434ec946a843f",
|
|
422
452
|
"bd9bf738a5b3f443450c86230f3299fd",
|
|
423
453
|
"bec7e5abbcae88a6781d23bcdd35e259",
|
|
424
454
|
"d65265972caa7cbefc39baacc9e78157",
|
|
425
455
|
"f450e6d58a7f1f06c71aa2dd557ce09c"
|
|
426
456
|
],
|
|
457
|
+
"test-suite": [
|
|
458
|
+
"df60ba4a182ee289f3550e79f1731cd4",
|
|
459
|
+
"f5c8ee5331a9b8279f997f609b10c380"
|
|
460
|
+
],
|
|
427
461
|
"video": [
|
|
428
462
|
"6aad64b16521d324e355d125692a0cec",
|
|
429
463
|
"82f61245cc67ce5380ab9ccf4c697c29",
|
|
@@ -436,6 +470,8 @@
|
|
|
436
470
|
"8320fedd9dd745a332621c325a8bf355",
|
|
437
471
|
"9c9fba19647b67d75a600137e38c02b8",
|
|
438
472
|
"aa3531bfc4fd6ec3820493d0c190cc75",
|
|
473
|
+
"d9ba9f5f998bf42990eed838a3d1b774",
|
|
474
|
+
"df699ca05260ce37813a7fe6666927da",
|
|
439
475
|
"f24ff77670e5aa43ce901dec1e0055ac",
|
|
440
476
|
"f65924f0691284ad31000469a9855b62"
|
|
441
477
|
],
|
|
@@ -320,7 +320,10 @@ file-reading tool instead of clicking around the page.
|
|
|
320
320
|
**Multi-page task** — keep one snapshot per page; `list_tabs` when targets or
|
|
321
321
|
ownership are unknown, then act on the intended tab. Use `back` instead of
|
|
322
322
|
re-navigating when history suffices; forward is a `navigate` to the URL the
|
|
323
|
-
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.
|
|
324
327
|
|
|
325
328
|
**Downloads / uploads** — `downloads` lists and can `wait` for and `attach`
|
|
326
329
|
the newest file (≤ 8 MiB). A wait pins the newest download, or the next one to
|