mixdog 0.9.168 → 0.9.170
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +148 -28
- package/package.json +1 -1
- package/scripts/agent-lead-e2e-probe.mjs +66 -39
- package/scripts/agent-turn-trace-probe.mjs +68 -36
- package/scripts/audit-usage-ledger.mjs +102 -47
- package/scripts/build-tui.mjs +1 -4
- package/scripts/code-graph-description-contract.mjs +41 -30
- package/scripts/computer-task-cost-report.mjs +5 -19
- package/scripts/context-renewal-live-check.mjs +64 -24
- package/scripts/daemon-stub.mjs +66 -24
- package/scripts/dependency-lock-cache-key.mjs +15 -17
- package/scripts/embedding-quality-probe.mjs +42 -34
- package/scripts/fixtures/spawn-lease-fixture-worker.mjs +5 -1
- package/scripts/generate-runtime-manifest.mjs +37 -22
- package/scripts/graph-parity.mjs +103 -41
- package/scripts/import-usage-ledger.mjs +5 -3
- package/scripts/lib/embedding-model-bench-core.mjs +126 -124
- package/scripts/lib/isolated-root-cleanup.mjs +11 -5
- package/scripts/lib/local-provider-live-scenarios.mjs +14 -5
- package/scripts/lib/recall-bench-eval.mjs +32 -18
- package/scripts/lib/stage-postgres-runtime-windows.ps1 +2 -2
- package/scripts/lib/test-timing-reporter.mjs +8 -2
- package/scripts/llm-trace-summary.mjs +48 -23
- package/scripts/local-provider-live-check.mjs +180 -79
- package/scripts/manifest-cache-key.mjs +16 -16
- package/scripts/media-image-live.mjs +123 -56
- package/scripts/memory-chunk-quality.mjs +120 -87
- package/scripts/memory-layer2-check.mjs +157 -104
- package/scripts/model-catalog-audit.mjs +22 -14
- package/scripts/mouse-probe.mjs +17 -3
- package/scripts/native-binary-arch.mjs +62 -50
- package/scripts/native-spawn-test-runtime.mjs +1 -1
- package/scripts/native-tool-download.mjs +61 -60
- package/scripts/office/aesthetics-probe.mjs +28 -7
- package/scripts/office/author-deck.mjs +48 -13
- package/scripts/office/build-pptx-icons.mjs +278 -12
- package/scripts/office-design-audit.mjs +16 -16
- package/scripts/office-live-test-plan.mjs +10 -1
- package/scripts/patch-replay.mjs +46 -16
- package/scripts/pdf-rotation-stress.mjs +8 -4
- package/scripts/perf/cold-reconnect-probe.mjs +78 -41
- package/scripts/perf/transcript-baseline.mjs +76 -47
- package/scripts/perf/transcript-runtime-probe.mjs +50 -24
- package/scripts/pg-memory-diet-apply.mjs +86 -56
- package/scripts/pg-memory-diet-verify.mjs +101 -60
- package/scripts/pg-memory-diet.mjs +208 -113
- package/scripts/prepare-native-assets.mjs +8 -19
- package/scripts/prune-desktop-runtime.mjs +136 -163
- package/scripts/prune-embedding-runtime.mjs +78 -90
- package/scripts/reduction-trace-report.mjs +18 -14
- package/scripts/release-paths.mjs +2 -12
- package/scripts/release-timing-report.mjs +38 -26
- package/scripts/routing-corpus.mjs +311 -102
- package/scripts/run-office-live-tests.mjs +4 -1
- package/scripts/runtime-dependency-cache-key.mjs +39 -39
- package/scripts/search-rg-parity.mjs +149 -97
- package/scripts/session-diag.mjs +30 -18
- package/scripts/session-sweep.mjs +235 -191
- package/scripts/smoke.mjs +9 -2
- package/scripts/suite-health.mjs +1 -2
- package/scripts/test.mjs +13 -5
- package/scripts/tidy/sync-engines-manifest.mjs +274 -266
- package/scripts/tool-efficiency-diag.mjs +36 -11
- package/scripts/tool-failures.mjs +68 -50
- package/scripts/tool-overhead-microbench.mjs +17 -11
- package/scripts/tool-stress.mjs +166 -57
- package/scripts/tui-frame-harness-shim.mjs +16 -6
- package/scripts/tui-frame-harness.mjs +171 -68
- package/scripts/tui-transcript-jitter-harness.mjs +0 -2
- package/scripts/verify-release-assets.mjs +25 -38
- package/src/agents/front-worker/AGENT.md +0 -2
- package/src/agents/heavy-worker/AGENT.md +1 -6
- package/src/agents/maintainer/AGENT.md +2 -0
- package/src/agents/worker/AGENT.md +0 -5
- package/src/agents/writer/AGENT.md +1 -1
- package/src/app.mjs +24 -18
- package/src/cli.mjs +24 -19
- package/src/defaults/skills/browser-use/SKILL.md +5 -3
- package/src/defaults/skills/code-tidy/SKILL.md +122 -57
- package/src/defaults/skills/code-tidy/references/agent-cleanup.md +149 -0
- package/src/defaults/skills/code-tidy/references/dead-code.md +71 -0
- package/src/defaults/skills/computer-use/SKILL.md +15 -7
- package/src/defaults/skills/pptx/scripts/qc-pages.mjs +107 -54
- package/src/defaults/skills/pptx/scripts/review-deck.mjs +102 -34
- package/src/defaults/skills/pptx/scripts/source-extract.mjs +6 -3
- package/src/defaults/skills/setup/SKILL.md +31 -11
- package/src/defaults/skills/setup/references/actions.md +67 -9
- package/src/defaults/skills/setup/references/surfaces.md +21 -14
- package/src/defaults/skills/skill-creator/scripts/validate-skill.mjs +25 -27
- package/src/headless-command.mjs +22 -13
- package/src/headless-exec.mjs +288 -268
- package/src/headless-role.mjs +17 -31
- package/src/lib/keychain-cjs.cjs +410 -358
- package/src/lib/mixdog-debug.cjs +20 -14
- package/src/lib/output-style-meta.cjs +22 -13
- package/src/lib/rules-builder.cjs +161 -47
- package/src/lib/text-utils.cjs +44 -42
- package/src/output-styles/common.md +1 -1
- package/src/output-styles/detailed.md +1 -1
- package/src/output-styles/extreme-minimal.md +1 -1
- package/src/output-styles/minimal.md +1 -1
- package/src/output-styles/simple.md +1 -1
- package/src/repl.mjs +72 -57
- package/src/rules/agent/40-cycle1-agent.md +1 -1
- package/src/rules/agent/AGENT.md +13 -0
- package/src/rules/lead/LEAD.md +30 -0
- package/src/rules/routes/common.md +4 -0
- package/src/rules/shared/05-parallel-calls.md +15 -0
- package/src/rules/shared/10-tool-workflow.md +13 -32
- package/src/rules/shared/15-skills.md +2 -3
- package/src/rules/shared/20-research.md +2 -4
- package/src/rules/shared/30-exploration.md +6 -24
- package/src/rules/shared/40-editing.md +1 -1
- package/src/rules/shared/45-destructive.md +9 -0
- package/src/rules/shared/50-execution.md +0 -8
- package/src/rules/shared/70-delivery.md +1 -1
- package/src/rules/shared/80-memory.md +3 -5
- package/src/runtime/agent/orchestrator/activity-bus.mjs +5 -1
- package/src/runtime/agent/orchestrator/agent-owner.mjs +9 -4
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch.mjs +419 -382
- package/src/runtime/agent/orchestrator/agent-runtime/agent-progress-watchdog.mjs +215 -221
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +267 -268
- package/src/runtime/agent/orchestrator/agent-runtime/completion-text.mjs +9 -9
- package/src/runtime/agent/orchestrator/agent-runtime/maintenance-route.mjs +36 -36
- package/src/runtime/agent/orchestrator/agent-runtime/session-builder.mjs +108 -93
- package/src/runtime/agent/orchestrator/agent-runtime/title-completion.mjs +54 -48
- package/src/runtime/agent/orchestrator/agent-trace-format.mjs +702 -609
- package/src/runtime/agent/orchestrator/agent-trace-io.mjs +353 -330
- package/src/runtime/agent/orchestrator/agent-trace.mjs +295 -298
- package/src/runtime/agent/orchestrator/cache-break-trace.mjs +87 -86
- package/src/runtime/agent/orchestrator/cache-mtime.mjs +32 -21
- package/src/runtime/agent/orchestrator/config-presets.mjs +99 -63
- package/src/runtime/agent/orchestrator/config-storage.mjs +226 -194
- package/src/runtime/agent/orchestrator/config.mjs +371 -343
- package/src/runtime/agent/orchestrator/context/collect.mjs +19 -19
- package/src/runtime/agent/orchestrator/context/deferred-tools.mjs +180 -176
- package/src/runtime/agent/orchestrator/context/role-instructions.mjs +199 -194
- package/src/runtime/agent/orchestrator/context/skill-catalog.mjs +288 -288
- package/src/runtime/agent/orchestrator/context/skill-state.mjs +38 -30
- package/src/runtime/agent/orchestrator/dispatch-persist.mjs +52 -240
- package/src/runtime/agent/orchestrator/internal-agents.mjs +59 -58
- package/src/runtime/agent/orchestrator/internal-tools.mjs +47 -51
- package/src/runtime/agent/orchestrator/mcp/child-tree.mjs +222 -161
- package/src/runtime/agent/orchestrator/mcp/client.mjs +984 -904
- package/src/runtime/agent/orchestrator/mcp/reconnect-singleflight.mjs +21 -21
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +33 -17
- package/src/runtime/agent/orchestrator/providers/admission-scheduler.mjs +532 -513
- package/src/runtime/agent/orchestrator/providers/anthropic-betas.mjs +34 -32
- package/src/runtime/agent/orchestrator/providers/anthropic-effort.mjs +249 -237
- package/src/runtime/agent/orchestrator/providers/anthropic-fast-mode.mjs +32 -32
- package/src/runtime/agent/orchestrator/providers/anthropic-leaked-toolcall.mjs +297 -280
- package/src/runtime/agent/orchestrator/providers/anthropic-max-tokens.mjs +33 -33
- package/src/runtime/agent/orchestrator/providers/anthropic-messages.mjs +107 -96
- package/src/runtime/agent/orchestrator/providers/anthropic-model-resolve.mjs +117 -118
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-client-version.mjs +72 -67
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-credentials.mjs +564 -496
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth.mjs +1264 -1140
- package/src/runtime/agent/orchestrator/providers/anthropic-server-fallback.mjs +24 -34
- package/src/runtime/agent/orchestrator/providers/anthropic-sse.mjs +1017 -915
- package/src/runtime/agent/orchestrator/providers/anthropic-thinking-contract.mjs +11 -7
- package/src/runtime/agent/orchestrator/providers/anthropic-turn-reminder.mjs +96 -0
- package/src/runtime/agent/orchestrator/providers/anthropic.mjs +745 -674
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-catalog.mjs +135 -134
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-login.mjs +361 -308
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-tokens.mjs +205 -189
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth.mjs +461 -424
- package/src/runtime/agent/orchestrator/providers/antigravity-request.mjs +90 -65
- package/src/runtime/agent/orchestrator/providers/api-usage.mjs +99 -55
- package/src/runtime/agent/orchestrator/providers/codex-client-meta.mjs +59 -53
- package/src/runtime/agent/orchestrator/providers/compat-request-policy.mjs +9 -9
- package/src/runtime/agent/orchestrator/providers/cursor-auth.mjs +242 -215
- package/src/runtime/agent/orchestrator/providers/cursor-wire-guards.mjs +227 -221
- package/src/runtime/agent/orchestrator/providers/cursor-wire-interactions.mjs +68 -68
- package/src/runtime/agent/orchestrator/providers/cursor-wire-normalization.mjs +175 -156
- package/src/runtime/agent/orchestrator/providers/cursor-wire-protobuf.mjs +829 -827
- package/src/runtime/agent/orchestrator/providers/cursor-wire.mjs +1451 -1286
- package/src/runtime/agent/orchestrator/providers/cursor.mjs +623 -589
- package/src/runtime/agent/orchestrator/providers/custom-tool-wire.mjs +27 -19
- package/src/runtime/agent/orchestrator/providers/effort-configuration.mjs +120 -97
- package/src/runtime/agent/orchestrator/providers/gemini-cache.mjs +223 -231
- package/src/runtime/agent/orchestrator/providers/gemini-history-signatures.mjs +27 -21
- package/src/runtime/agent/orchestrator/providers/gemini-schema.mjs +752 -733
- package/src/runtime/agent/orchestrator/providers/gemini-stream.mjs +700 -628
- package/src/runtime/agent/orchestrator/providers/gemini-thinking.mjs +39 -39
- package/src/runtime/agent/orchestrator/providers/gemini.mjs +1050 -1002
- package/src/runtime/agent/orchestrator/providers/grok-oauth-login.mjs +149 -127
- package/src/runtime/agent/orchestrator/providers/grok-oauth-tokens.mjs +325 -268
- package/src/runtime/agent/orchestrator/providers/grok-oauth.mjs +444 -397
- package/src/runtime/agent/orchestrator/providers/lib/action-input-contract.mjs +29 -25
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-image-input.mjs +101 -89
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-native-blocks.mjs +7 -8
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-replay-blocks.mjs +37 -36
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-request-utils.mjs +387 -394
- package/src/runtime/agent/orchestrator/providers/lib/gemini-model-catalog.mjs +96 -92
- package/src/runtime/agent/orchestrator/providers/lib/grok-tool-schema.mjs +226 -176
- package/src/runtime/agent/orchestrator/providers/lib/oauth-pkce.mjs +20 -20
- package/src/runtime/agent/orchestrator/providers/lib/oauth-token-utils.mjs +22 -20
- package/src/runtime/agent/orchestrator/providers/lib/openai-tool-args.mjs +41 -42
- package/src/runtime/agent/orchestrator/providers/lib/provider-replay.mjs +40 -34
- package/src/runtime/agent/orchestrator/providers/lib/sse-framing.mjs +39 -39
- package/src/runtime/agent/orchestrator/providers/lib/stream-outcome.mjs +119 -90
- package/src/runtime/agent/orchestrator/providers/lib/wire-pairing.mjs +87 -81
- package/src/runtime/agent/orchestrator/providers/media-normalization.mjs +489 -421
- package/src/runtime/agent/orchestrator/providers/mixdog-local-wire.mjs +1 -3
- package/src/runtime/agent/orchestrator/providers/mixdog-local.mjs +24 -17
- package/src/runtime/agent/orchestrator/providers/model-cache.mjs +31 -23
- package/src/runtime/agent/orchestrator/providers/model-catalog-projection.mjs +106 -100
- package/src/runtime/agent/orchestrator/providers/model-catalog.mjs +562 -494
- package/src/runtime/agent/orchestrator/providers/model-list-sanitize.mjs +93 -39
- package/src/runtime/agent/orchestrator/providers/model-pricing-rates.mjs +50 -34
- package/src/runtime/agent/orchestrator/providers/model-service-tiers.mjs +8 -6
- package/src/runtime/agent/orchestrator/providers/oauth-credential-probes.mjs +117 -95
- package/src/runtime/agent/orchestrator/providers/oauth-usage.mjs +177 -147
- package/src/runtime/agent/orchestrator/providers/openai-codex-endpoints.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/openai-codex-metadata.mjs +186 -186
- package/src/runtime/agent/orchestrator/providers/openai-codex-model.mjs +80 -83
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream.mjs +317 -295
- package/src/runtime/agent/orchestrator/providers/openai-compat-presets.mjs +20 -20
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses.mjs +183 -167
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream-common.mjs +113 -111
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream.mjs +579 -498
- package/src/runtime/agent/orchestrator/providers/openai-compat-trace.mjs +41 -43
- package/src/runtime/agent/orchestrator/providers/openai-compat-wire.mjs +367 -352
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai.mjs +552 -476
- package/src/runtime/agent/orchestrator/providers/openai-compat.mjs +1132 -1106
- package/src/runtime/agent/orchestrator/providers/openai-direct-request.mjs +12 -12
- package/src/runtime/agent/orchestrator/providers/openai-oauth-catalog.mjs +81 -82
- package/src/runtime/agent/orchestrator/providers/openai-oauth-http-sse.mjs +1122 -1049
- package/src/runtime/agent/orchestrator/providers/openai-oauth-login.mjs +137 -124
- package/src/runtime/agent/orchestrator/providers/openai-oauth-tokens.mjs +257 -200
- package/src/runtime/agent/orchestrator/providers/openai-oauth-ws.mjs +1509 -1419
- package/src/runtime/agent/orchestrator/providers/openai-oauth.mjs +567 -564
- package/src/runtime/agent/orchestrator/providers/openai-responses-input.mjs +157 -158
- package/src/runtime/agent/orchestrator/providers/openai-responses-payload.mjs +197 -201
- package/src/runtime/agent/orchestrator/providers/openai-startup-prewarm.mjs +104 -100
- package/src/runtime/agent/orchestrator/providers/openai-transport-policy.mjs +76 -62
- package/src/runtime/agent/orchestrator/providers/openai-turn-state.mjs +37 -37
- package/src/runtime/agent/orchestrator/providers/openai-ws-delta.mjs +346 -336
- package/src/runtime/agent/orchestrator/providers/openai-ws-events.mjs +72 -66
- package/src/runtime/agent/orchestrator/providers/openai-ws-headers.mjs +92 -91
- package/src/runtime/agent/orchestrator/providers/openai-ws-pool.mjs +805 -665
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream.mjs +1425 -1331
- package/src/runtime/agent/orchestrator/providers/openai-ws.mjs +229 -239
- package/src/runtime/agent/orchestrator/providers/opencode-go-usage.mjs +46 -34
- package/src/runtime/agent/orchestrator/providers/opencode-go.mjs +132 -140
- package/src/runtime/agent/orchestrator/providers/provider-catalog-cache.mjs +19 -11
- package/src/runtime/agent/orchestrator/providers/provider-model-identities.mjs +30 -27
- package/src/runtime/agent/orchestrator/providers/registry.mjs +383 -354
- package/src/runtime/agent/orchestrator/providers/retry-classifier.mjs +644 -537
- package/src/runtime/agent/orchestrator/providers/stream-json-pool.mjs +592 -567
- package/src/runtime/agent/orchestrator/providers/stream-json-worker.mjs +37 -37
- package/src/runtime/agent/orchestrator/providers/tool-stream-state.mjs +43 -46
- package/src/runtime/agent/orchestrator/providers/trace-utils.mjs +30 -30
- package/src/runtime/agent/orchestrator/session/abort-lookup.mjs +6 -6
- package/src/runtime/agent/orchestrator/session/agent-loop.mjs +518 -469
- package/src/runtime/agent/orchestrator/session/batching-nudge.mjs +461 -0
- package/src/runtime/agent/orchestrator/session/browser-snapshot-supersession.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/cache/prefetch-cache.mjs +125 -95
- package/src/runtime/agent/orchestrator/session/cache/read-cache.mjs +256 -245
- package/src/runtime/agent/orchestrator/session/cache/scoped-cache-outcome.mjs +3 -3
- package/src/runtime/agent/orchestrator/session/cache/scoped-cache.mjs +396 -317
- package/src/runtime/agent/orchestrator/session/cache/text-cache-budget.mjs +26 -0
- package/src/runtime/agent/orchestrator/session/cache/util.mjs +45 -34
- package/src/runtime/agent/orchestrator/session/compact/budget.mjs +96 -83
- package/src/runtime/agent/orchestrator/session/compact/constants.mjs +20 -17
- package/src/runtime/agent/orchestrator/session/compact/continuation.mjs +33 -40
- package/src/runtime/agent/orchestrator/session/compact/execution-tail.mjs +117 -110
- package/src/runtime/agent/orchestrator/session/compact/messages.mjs +119 -123
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +421 -447
- package/src/runtime/agent/orchestrator/session/compact/summary-schema.mjs +223 -222
- package/src/runtime/agent/orchestrator/session/compact/summary.mjs +433 -441
- package/src/runtime/agent/orchestrator/session/compact/text-utils.mjs +217 -195
- package/src/runtime/agent/orchestrator/session/compact.mjs +19 -19
- package/src/runtime/agent/orchestrator/session/context-compaction-policy.mjs +136 -132
- package/src/runtime/agent/orchestrator/session/context-fingerprint.mjs +65 -45
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +707 -689
- package/src/runtime/agent/orchestrator/session/eager-dispatch.mjs +326 -292
- package/src/runtime/agent/orchestrator/session/evidence-union.mjs +454 -452
- package/src/runtime/agent/orchestrator/session/explicit-skills.mjs +48 -39
- package/src/runtime/agent/orchestrator/session/image-strip-recovery.mjs +96 -93
- package/src/runtime/agent/orchestrator/session/lifecycle-scan.mjs +105 -88
- package/src/runtime/agent/orchestrator/session/loop/arg-schema-coerce.mjs +61 -61
- package/src/runtime/agent/orchestrator/session/loop/assistant-commit.mjs +70 -66
- package/src/runtime/agent/orchestrator/session/loop/compact-debug.mjs +17 -11
- package/src/runtime/agent/orchestrator/session/loop/compact-policy.mjs +607 -567
- package/src/runtime/agent/orchestrator/session/loop/completion-guards.mjs +26 -16
- package/src/runtime/agent/orchestrator/session/loop/context-overflow.mjs +60 -48
- package/src/runtime/agent/orchestrator/session/loop/deferred-call-through.mjs +59 -53
- package/src/runtime/agent/orchestrator/session/loop/diagnostics.mjs +54 -40
- package/src/runtime/agent/orchestrator/session/loop/fresh-context.mjs +162 -141
- package/src/runtime/agent/orchestrator/session/loop/hidden-agents.mjs +8 -6
- package/src/runtime/agent/orchestrator/session/loop/no-tool-turn.mjs +242 -218
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +71 -73
- package/src/runtime/agent/orchestrator/session/loop/request-boundary.mjs +112 -110
- package/src/runtime/agent/orchestrator/session/loop/request-projection.mjs +93 -77
- package/src/runtime/agent/orchestrator/session/loop/steering.mjs +194 -181
- package/src/runtime/agent/orchestrator/session/loop/stored-tool-args.mjs +96 -91
- package/src/runtime/agent/orchestrator/session/loop/termination.mjs +37 -44
- package/src/runtime/agent/orchestrator/session/loop/tool-classify.mjs +102 -83
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +352 -312
- package/src/runtime/agent/orchestrator/session/loop/tool-helpers.mjs +174 -167
- package/src/runtime/agent/orchestrator/session/loop/transcript-repair.mjs +75 -72
- package/src/runtime/agent/orchestrator/session/loop/usage.mjs +73 -53
- package/src/runtime/agent/orchestrator/session/loop.mjs +9 -9
- package/src/runtime/agent/orchestrator/session/manager/agent-runtime-singleton.mjs +5 -5
- package/src/runtime/agent/orchestrator/session/manager/ask-session.mjs +1391 -1303
- package/src/runtime/agent/orchestrator/session/manager/compaction-runner.mjs +426 -388
- package/src/runtime/agent/orchestrator/session/manager/context-meta.mjs +180 -179
- package/src/runtime/agent/orchestrator/session/manager/delivered-completions.mjs +60 -55
- package/src/runtime/agent/orchestrator/session/manager/foreign-pending-messages.mjs +324 -316
- package/src/runtime/agent/orchestrator/session/manager/idle-cleanup.mjs +136 -125
- package/src/runtime/agent/orchestrator/session/manager/message-sanitize.mjs +112 -112
- package/src/runtime/agent/orchestrator/session/manager/pending-message-entry.mjs +242 -233
- package/src/runtime/agent/orchestrator/session/manager/pending-messages.mjs +1048 -951
- package/src/runtime/agent/orchestrator/session/manager/prefetch-bridge.mjs +217 -204
- package/src/runtime/agent/orchestrator/session/manager/prompt-utils.mjs +152 -148
- package/src/runtime/agent/orchestrator/session/manager/provider-cache-key.mjs +17 -17
- package/src/runtime/agent/orchestrator/session/manager/rules-cache.mjs +142 -58
- package/src/runtime/agent/orchestrator/session/manager/rules-source-cache.mjs +48 -48
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +392 -389
- package/src/runtime/agent/orchestrator/session/manager/runtime-loaders.mjs +10 -10
- package/src/runtime/agent/orchestrator/session/manager/session-close.mjs +212 -169
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +323 -300
- package/src/runtime/agent/orchestrator/session/manager/session-errors.mjs +12 -12
- package/src/runtime/agent/orchestrator/session/manager/session-id.mjs +49 -52
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +807 -786
- package/src/runtime/agent/orchestrator/session/manager/session-lock.mjs +54 -51
- package/src/runtime/agent/orchestrator/session/manager/status-telemetry.mjs +77 -71
- package/src/runtime/agent/orchestrator/session/manager/tool-resolution.mjs +173 -182
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-context.mjs +171 -171
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-journal.mjs +392 -385
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint.mjs +175 -172
- package/src/runtime/agent/orchestrator/session/manager/turn-interruption.mjs +388 -399
- package/src/runtime/agent/orchestrator/session/manager/usage-metrics.mjs +405 -352
- package/src/runtime/agent/orchestrator/session/manager.mjs +60 -60
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +485 -430
- package/src/runtime/agent/orchestrator/session/provider-prefix-guard.mjs +144 -145
- package/src/runtime/agent/orchestrator/session/reduction-metrics.mjs +102 -104
- package/src/runtime/agent/orchestrator/session/result-classification.mjs +37 -38
- package/src/runtime/agent/orchestrator/session/runtime-user-context.mjs +43 -0
- package/src/runtime/agent/orchestrator/session/save-session-worker.mjs +76 -70
- package/src/runtime/agent/orchestrator/session/send-with-recovery.mjs +680 -643
- package/src/runtime/agent/orchestrator/session/store/canonical-reader.mjs +49 -48
- package/src/runtime/agent/orchestrator/session/store/fs-probe.mjs +32 -24
- package/src/runtime/agent/orchestrator/session/store/listing.mjs +722 -655
- package/src/runtime/agent/orchestrator/session/store/live-state.mjs +104 -104
- package/src/runtime/agent/orchestrator/session/store/load-cache.mjs +151 -127
- package/src/runtime/agent/orchestrator/session/store/paths-heartbeat.mjs +119 -100
- package/src/runtime/agent/orchestrator/session/store/save-fault.mjs +147 -141
- package/src/runtime/agent/orchestrator/session/store/save-worker.mjs +711 -615
- package/src/runtime/agent/orchestrator/session/store/serialize.mjs +96 -91
- package/src/runtime/agent/orchestrator/session/store/summary-cache.mjs +159 -154
- package/src/runtime/agent/orchestrator/session/store/summary-rebuild-worker.mjs +12 -12
- package/src/runtime/agent/orchestrator/session/store/write-guards.mjs +86 -86
- package/src/runtime/agent/orchestrator/session/store-summary-index.mjs +291 -272
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +938 -897
- package/src/runtime/agent/orchestrator/session/store-summary-visibility.mjs +26 -28
- package/src/runtime/agent/orchestrator/session/store-transcript-cache.mjs +111 -94
- package/src/runtime/agent/orchestrator/session/store.mjs +889 -843
- package/src/runtime/agent/orchestrator/session/synthetic-user-envelope.mjs +71 -76
- package/src/runtime/agent/orchestrator/session/task-wait-control.mjs +9 -3
- package/src/runtime/agent/orchestrator/session/thinking-replay-recovery.mjs +55 -58
- package/src/runtime/agent/orchestrator/session/token-estimate-floors.mjs +25 -24
- package/src/runtime/agent/orchestrator/session/token-estimate.mjs +42 -42
- package/src/runtime/agent/orchestrator/session/tool-batch.mjs +1014 -918
- package/src/runtime/agent/orchestrator/session/tool-envelope.mjs +25 -32
- package/src/runtime/agent/orchestrator/session/tool-result-offload.mjs +390 -369
- package/src/runtime/agent/orchestrator/stall-policy.mjs +184 -180
- package/src/runtime/agent/orchestrator/tool-loop-guard.mjs +4 -3
- package/src/runtime/agent/orchestrator/tools/bash-policy-scan.mjs +7 -6
- package/src/runtime/agent/orchestrator/tools/builtin/advisory-lock.mjs +166 -153
- package/src/runtime/agent/orchestrator/tools/builtin/arg-guard.mjs +859 -795
- package/src/runtime/agent/orchestrator/tools/builtin/atomic-write.mjs +234 -184
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +772 -722
- package/src/runtime/agent/orchestrator/tools/builtin/binary-file.mjs +83 -80
- package/src/runtime/agent/orchestrator/tools/builtin/builtin-tools.mjs +336 -231
- package/src/runtime/agent/orchestrator/tools/builtin/cache-layers.mjs +444 -408
- package/src/runtime/agent/orchestrator/tools/builtin/device-paths.mjs +152 -103
- package/src/runtime/agent/orchestrator/tools/builtin/diff-utils.mjs +104 -90
- package/src/runtime/agent/orchestrator/tools/builtin/external-tool-adapters.mjs +559 -498
- package/src/runtime/agent/orchestrator/tools/builtin/fs-reachability.mjs +49 -42
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-policy.mjs +169 -100
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +1072 -793
- package/src/runtime/agent/orchestrator/tools/builtin/git-partial-stage.mjs +215 -209
- package/src/runtime/agent/orchestrator/tools/builtin/git-repo-rw-lock.mjs +66 -66
- package/src/runtime/agent/orchestrator/tools/builtin/glob-walk.mjs +212 -173
- package/src/runtime/agent/orchestrator/tools/builtin/grep-formatting.mjs +114 -111
- package/src/runtime/agent/orchestrator/tools/builtin/hash-utils.mjs +4 -2
- package/src/runtime/agent/orchestrator/tools/builtin/lib/absolute-glob-expand.mjs +98 -86
- package/src/runtime/agent/orchestrator/tools/builtin/lib/glob-static-prefix.mjs +91 -91
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-chunk-merge.mjs +100 -101
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-context-expander.mjs +456 -461
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-output.mjs +229 -182
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-path-fanout.mjs +240 -238
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-pattern-fanout.mjs +350 -323
- package/src/runtime/agent/orchestrator/tools/builtin/lib/grep-single-file-rescue.mjs +201 -162
- package/src/runtime/agent/orchestrator/tools/builtin/lib/list-helpers.mjs +22 -25
- package/src/runtime/agent/orchestrator/tools/builtin/lib/search-grep-chunks.mjs +124 -125
- package/src/runtime/agent/orchestrator/tools/builtin/lib/search-input-helpers.mjs +39 -43
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-insights.mjs +75 -69
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.mjs +221 -194
- package/src/runtime/agent/orchestrator/tools/builtin/list-formatting.mjs +6 -6
- package/src/runtime/agent/orchestrator/tools/builtin/list-tool.mjs +894 -868
- package/src/runtime/agent/orchestrator/tools/builtin/local-search-telemetry.mjs +52 -50
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-client.mjs +128 -114
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-runner.mjs +36 -34
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-transport.mjs +35 -7
- package/src/runtime/agent/orchestrator/tools/builtin/path-diagnostics.mjs +217 -179
- package/src/runtime/agent/orchestrator/tools/builtin/path-locks.mjs +28 -23
- package/src/runtime/agent/orchestrator/tools/builtin/path-utils.mjs +239 -216
- package/src/runtime/agent/orchestrator/tools/builtin/read-args.mjs +52 -52
- package/src/runtime/agent/orchestrator/tools/builtin/read-batch.mjs +231 -217
- package/src/runtime/agent/orchestrator/tools/builtin/read-formatting.mjs +60 -61
- package/src/runtime/agent/orchestrator/tools/builtin/read-image-resize.mjs +217 -202
- package/src/runtime/agent/orchestrator/tools/builtin/read-image.mjs +29 -19
- package/src/runtime/agent/orchestrator/tools/builtin/read-lines.mjs +7 -7
- package/src/runtime/agent/orchestrator/tools/builtin/read-mode-tool.mjs +406 -368
- package/src/runtime/agent/orchestrator/tools/builtin/read-office-files.mjs +479 -417
- package/src/runtime/agent/orchestrator/tools/builtin/read-open.mjs +157 -148
- package/src/runtime/agent/orchestrator/tools/builtin/read-range-index.mjs +237 -214
- package/src/runtime/agent/orchestrator/tools/builtin/read-ranges.mjs +24 -23
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-tool.mjs +811 -739
- package/src/runtime/agent/orchestrator/tools/builtin/read-snapshot-runtime.mjs +181 -185
- package/src/runtime/agent/orchestrator/tools/builtin/read-source-windows.mjs +76 -71
- package/src/runtime/agent/orchestrator/tools/builtin/read-special-files.mjs +231 -191
- package/src/runtime/agent/orchestrator/tools/builtin/read-streaming.mjs +553 -538
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool.mjs +670 -607
- package/src/runtime/agent/orchestrator/tools/builtin/read-windows.mjs +111 -111
- package/src/runtime/agent/orchestrator/tools/builtin/runtime-capabilities.mjs +183 -180
- package/src/runtime/agent/orchestrator/tools/builtin/search-admission.mjs +7 -16
- package/src/runtime/agent/orchestrator/tools/builtin/search-builders.mjs +222 -203
- package/src/runtime/agent/orchestrator/tools/builtin/search-glob-tool.mjs +466 -438
- package/src/runtime/agent/orchestrator/tools/builtin/search-grep-tool.mjs +730 -718
- package/src/runtime/agent/orchestrator/tools/builtin/search-path-diagnostics.mjs +194 -163
- package/src/runtime/agent/orchestrator/tools/builtin/search-tool.mjs +8 -8
- package/src/runtime/agent/orchestrator/tools/builtin/shell-analysis.mjs +834 -770
- package/src/runtime/agent/orchestrator/tools/builtin/shell-direct-exe.mjs +209 -136
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +417 -384
- package/src/runtime/agent/orchestrator/tools/builtin/shell-lossless-compact.mjs +315 -318
- package/src/runtime/agent/orchestrator/tools/builtin/shell-output.mjs +67 -68
- package/src/runtime/agent/orchestrator/tools/builtin/shell-runtime.mjs +171 -156
- package/src/runtime/agent/orchestrator/tools/builtin/snapshot-helpers.mjs +103 -100
- package/src/runtime/agent/orchestrator/tools/builtin/snapshot-store.mjs +277 -253
- package/src/runtime/agent/orchestrator/tools/builtin/snapshot-validation.mjs +86 -85
- package/src/runtime/agent/orchestrator/tools/builtin/task-tool.mjs +226 -230
- package/src/runtime/agent/orchestrator/tools/builtin/text-stats.mjs +59 -57
- package/src/runtime/agent/orchestrator/tools/builtin/tool-output-limit.mjs +31 -34
- package/src/runtime/agent/orchestrator/tools/builtin/windows-roots.mjs +3 -3
- package/src/runtime/agent/orchestrator/tools/builtin.mjs +384 -411
- package/src/runtime/agent/orchestrator/tools/code-graph/aggregate-roots.mjs +68 -30
- package/src/runtime/agent/orchestrator/tools/code-graph/ast-calls.mjs +20 -13
- package/src/runtime/agent/orchestrator/tools/code-graph/build.mjs +215 -152
- package/src/runtime/agent/orchestrator/tools/code-graph/calls-cache.mjs +4 -3
- package/src/runtime/agent/orchestrator/tools/code-graph/constants.mjs +64 -18
- package/src/runtime/agent/orchestrator/tools/code-graph/disk-cache.mjs +133 -82
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch.mjs +380 -226
- package/src/runtime/agent/orchestrator/tools/code-graph/exact-file-graph.mjs +5 -4
- package/src/runtime/agent/orchestrator/tools/code-graph/graph-binary.mjs +233 -200
- package/src/runtime/agent/orchestrator/tools/code-graph/graph-model.mjs +10 -8
- package/src/runtime/agent/orchestrator/tools/code-graph/keyword-match.mjs +10 -3
- package/src/runtime/agent/orchestrator/tools/code-graph/lang-predicates.mjs +60 -26
- package/src/runtime/agent/orchestrator/tools/code-graph/memory-cache.mjs +6 -14
- package/src/runtime/agent/orchestrator/tools/code-graph/project-root.mjs +31 -10
- package/src/runtime/agent/orchestrator/tools/code-graph/search-references.mjs +116 -95
- package/src/runtime/agent/orchestrator/tools/code-graph/search.mjs +134 -85
- package/src/runtime/agent/orchestrator/tools/code-graph/source-access.mjs +11 -3
- package/src/runtime/agent/orchestrator/tools/code-graph/span.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/code-graph/symbol-index.mjs +19 -23
- package/src/runtime/agent/orchestrator/tools/code-graph/text-columns.mjs +5 -1
- package/src/runtime/agent/orchestrator/tools/code-graph/text-mask.mjs +20 -9
- package/src/runtime/agent/orchestrator/tools/code-graph/trusted-roots.mjs +23 -18
- package/src/runtime/agent/orchestrator/tools/code-graph-prewarm-worker.mjs +4 -9
- package/src/runtime/agent/orchestrator/tools/code-graph-state.mjs +1 -3
- package/src/runtime/agent/orchestrator/tools/code-graph-tool-defs.mjs +49 -7
- package/src/runtime/agent/orchestrator/tools/destructive-warning.mjs +247 -52
- package/src/runtime/agent/orchestrator/tools/env-scrub.mjs +93 -91
- package/src/runtime/agent/orchestrator/tools/graph-binary-fetcher.mjs +6 -5
- package/src/runtime/agent/orchestrator/tools/graph-manifest.json +11 -11
- package/src/runtime/agent/orchestrator/tools/lib/native-spawn-client.mjs +125 -81
- package/src/runtime/agent/orchestrator/tools/lib/shell-descendants.mjs +10 -3
- package/src/runtime/agent/orchestrator/tools/lib/shell-spawn-retry.mjs +18 -13
- package/src/runtime/agent/orchestrator/tools/lib/shell-warm-standby.mjs +123 -105
- package/src/runtime/agent/orchestrator/tools/next-call-utils.mjs +5 -2
- package/src/runtime/agent/orchestrator/tools/patch/dispatch.mjs +85 -53
- package/src/runtime/agent/orchestrator/tools/patch/matcher.mjs +109 -86
- package/src/runtime/agent/orchestrator/tools/patch/native-server.mjs +158 -70
- package/src/runtime/agent/orchestrator/tools/patch/orchestrator.mjs +287 -213
- package/src/runtime/agent/orchestrator/tools/patch/parsing.mjs +30 -17
- package/src/runtime/agent/orchestrator/tools/patch/paths.mjs +31 -23
- package/src/runtime/agent/orchestrator/tools/patch/v4a-anchors.mjs +17 -16
- package/src/runtime/agent/orchestrator/tools/patch/v4a-convert.mjs +71 -71
- package/src/runtime/agent/orchestrator/tools/patch/v4a-windows.mjs +23 -19
- package/src/runtime/agent/orchestrator/tools/patch-binary-fetcher.mjs +7 -7
- package/src/runtime/agent/orchestrator/tools/patch-tool-defs.mjs +11 -5
- package/src/runtime/agent/orchestrator/tools/patch.mjs +7 -1
- package/src/runtime/agent/orchestrator/tools/progress-message.mjs +83 -85
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +258 -148
- package/src/runtime/agent/orchestrator/tools/shell-exec-output.mjs +39 -29
- package/src/runtime/agent/orchestrator/tools/shell-exec-policy.mjs +23 -12
- package/src/runtime/agent/orchestrator/tools/shell-policy-danger-target.mjs +29 -8
- package/src/runtime/agent/orchestrator/tools/shell-policy.mjs +77 -33
- package/src/runtime/agent/orchestrator/tools/shell-powershell.mjs +12 -13
- package/src/runtime/agent/orchestrator/tools/shell-snapshot.mjs +112 -101
- package/src/runtime/agent/orchestrator/tools/spawn-binary-fetcher.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/tool-batch-trace.mjs +41 -30
- package/src/runtime/attachments/pdf-extract.mjs +28 -14
- package/src/runtime/attachments/pdfjs-runtime.mjs +3 -1
- package/src/runtime/attachments/store.mjs +66 -62
- package/src/runtime/bridge-discovery.mjs +7 -7
- package/src/runtime/browser-bridge/action-schema.d.mts +5 -4
- package/src/runtime/browser-bridge/action-schema.mjs +168 -134
- package/src/runtime/browser-bridge/browser-action-contract.mjs +75 -15
- package/src/runtime/browser-bridge/client.mjs +40 -39
- package/src/runtime/browser-bridge/input-fields.mjs +269 -50
- package/src/runtime/browser-bridge/timing.mjs +9 -5
- package/src/runtime/browser-bridge/tool-defs.mjs +20 -20
- package/src/runtime/channels/index.mjs +2 -2
- package/src/runtime/channels/lib/boot-profile.mjs +3 -3
- package/src/runtime/channels/lib/cli-worker-host.mjs +2 -5
- package/src/runtime/channels/lib/config.mjs +36 -54
- package/src/runtime/channels/lib/crash-log.mjs +48 -29
- package/src/runtime/channels/lib/event-pipeline.mjs +19 -19
- package/src/runtime/channels/lib/event-queue.mjs +63 -52
- package/src/runtime/channels/lib/executor.mjs +58 -61
- package/src/runtime/channels/lib/index-drop-trace.mjs +44 -24
- package/src/runtime/channels/lib/network-retry.mjs +8 -7
- package/src/runtime/channels/lib/owned-runtime.mjs +410 -376
- package/src/runtime/channels/lib/owner-heartbeat.mjs +1 -1
- package/src/runtime/channels/lib/parent-bridge.mjs +39 -17
- package/src/runtime/channels/lib/runtime-paths.mjs +202 -169
- package/src/runtime/channels/lib/scheduler.mjs +166 -128
- package/src/runtime/channels/lib/settings.mjs +3 -5
- package/src/runtime/channels/lib/state-file.mjs +7 -14
- package/src/runtime/channels/lib/status-snapshot.mjs +17 -17
- package/src/runtime/channels/lib/tool-dispatch.mjs +71 -65
- package/src/runtime/channels/lib/voice-runtime-fetcher.mjs +444 -374
- package/src/runtime/channels/lib/voice-transcription.mjs +101 -40
- package/src/runtime/channels/lib/webhook/deliveries.mjs +10 -11
- package/src/runtime/channels/lib/webhook/log.mjs +13 -12
- package/src/runtime/channels/lib/webhook/relay-tunnel.mjs +199 -110
- package/src/runtime/channels/lib/webhook/signature.mjs +14 -14
- package/src/runtime/channels/lib/webhook.mjs +173 -132
- package/src/runtime/channels/lib/whisper-language.mjs +19 -18
- package/src/runtime/channels/lib/whisper-port.mjs +20 -12
- package/src/runtime/channels/lib/whisper-server.mjs +135 -75
- package/src/runtime/channels/lib/worker-bootstrap.mjs +94 -78
- package/src/runtime/channels/lib/worker-ipc.mjs +92 -73
- package/src/runtime/channels/lib/worker-main.mjs +106 -79
- package/src/runtime/computer-bridge/action-schema.mjs +207 -143
- package/src/runtime/computer-bridge/actions.d.mts +3 -1
- package/src/runtime/computer-bridge/actions.mjs +48 -7
- package/src/runtime/computer-bridge/capture-size.d.mts +5 -1
- package/src/runtime/computer-bridge/capture-size.mjs +3 -4
- package/src/runtime/computer-bridge/client.mjs +120 -76
- package/src/runtime/computer-bridge/core-actions.mjs +34 -21
- package/src/runtime/computer-bridge/error-code.mjs +1 -2
- package/src/runtime/computer-bridge/error-recovery.mjs +60 -34
- package/src/runtime/computer-bridge/limits.mjs +17 -6
- package/src/runtime/computer-bridge/pending-continuation.mjs +94 -32
- package/src/runtime/computer-bridge/tool-defs.mjs +3 -6
- package/src/runtime/github/client.d.mts +5 -1
- package/src/runtime/github/client.mjs +80 -43
- package/src/runtime/github/commands.mjs +72 -31
- package/src/runtime/github/contract.d.mts +45 -11
- package/src/runtime/github/contract.mjs +62 -27
- package/src/runtime/github/tool.mjs +29 -7
- package/src/runtime/local-provider/asset-installer.mjs +66 -46
- package/src/runtime/local-provider/asset-storage.mjs +3 -1
- package/src/runtime/local-provider/catalog.mjs +20 -23
- package/src/runtime/local-provider/context-settings.mjs +2 -2
- package/src/runtime/local-provider/gguf-header.mjs +69 -18
- package/src/runtime/local-provider/hardware.mjs +84 -31
- package/src/runtime/local-provider/hugging-face.mjs +108 -33
- package/src/runtime/local-provider/input-capabilities.mjs +16 -5
- package/src/runtime/local-provider/install-progress.mjs +42 -17
- package/src/runtime/local-provider/model-maintenance.mjs +79 -35
- package/src/runtime/local-provider/model-state.mjs +21 -8
- package/src/runtime/local-provider/registered-models.mjs +23 -13
- package/src/runtime/local-provider/request-queue.mjs +31 -10
- package/src/runtime/local-provider/resumable-installations.mjs +25 -7
- package/src/runtime/local-provider/server-process.mjs +42 -16
- package/src/runtime/local-provider/server.mjs +63 -47
- package/src/runtime/media/adapters/antigravity-image.mjs +5 -4
- package/src/runtime/media/adapters/codex-image.mjs +24 -9
- package/src/runtime/media/adapters/gemini-image.mjs +17 -16
- package/src/runtime/media/adapters/gemini-video.mjs +4 -5
- package/src/runtime/media/adapters/xai-media.mjs +5 -1
- package/src/runtime/media/catalog-errors.mjs +5 -2
- package/src/runtime/media/catalog.mjs +77 -55
- package/src/runtime/media/download.mjs +12 -31
- package/src/runtime/media/jobs.mjs +17 -19
- package/src/runtime/media/lanes.mjs +24 -12
- package/src/runtime/media/renditions.mjs +94 -63
- package/src/runtime/media/store.mjs +8 -21
- package/src/runtime/media/tool-defs.mjs +38 -12
- package/src/runtime/media/tool.mjs +118 -31
- package/src/runtime/media/upstream-error.mjs +5 -1
- package/src/runtime/memory/data/runtime-manifest.json +3 -3
- package/src/runtime/memory/index.mjs +332 -300
- package/src/runtime/memory/lib/agent-ipc.mjs +122 -100
- package/src/runtime/memory/lib/compact-handoff.mjs +76 -74
- package/src/runtime/memory/lib/compact-vector-cache.mjs +34 -37
- package/src/runtime/memory/lib/core-memory-file.mjs +86 -73
- package/src/runtime/memory/lib/core-memory-index.mjs +57 -47
- package/src/runtime/memory/lib/core-memory-management.mjs +41 -24
- package/src/runtime/memory/lib/core-memory-store.mjs +205 -165
- package/src/runtime/memory/lib/core-memory-uniqueness.mjs +21 -12
- package/src/runtime/memory/lib/cycle-llm-adapters.mjs +12 -9
- package/src/runtime/memory/lib/cycle-scheduler.mjs +289 -228
- package/src/runtime/memory/lib/cycle-signatures.mjs +3 -3
- package/src/runtime/memory/lib/embedding-cache-retention.mjs +21 -31
- package/src/runtime/memory/lib/embedding-model-cache-compression.mjs +21 -33
- package/src/runtime/memory/lib/embedding-model-config.mjs +29 -26
- package/src/runtime/memory/lib/embedding-provider.mjs +221 -209
- package/src/runtime/memory/lib/embedding-reindex.mjs +30 -30
- package/src/runtime/memory/lib/embedding-worker.mjs +324 -248
- package/src/runtime/memory/lib/history-duplicates.mjs +6 -6
- package/src/runtime/memory/lib/http-router.mjs +357 -294
- package/src/runtime/memory/lib/http-wire.mjs +22 -22
- package/src/runtime/memory/lib/light-ko-morph.mjs +100 -41
- package/src/runtime/memory/lib/llm-worker-host.mjs +2 -4
- package/src/runtime/memory/lib/memory-action-handlers.mjs +337 -293
- package/src/runtime/memory/lib/memory-chunk-audit.mjs +26 -20
- package/src/runtime/memory/lib/memory-chunk-quality.mjs +314 -225
- package/src/runtime/memory/lib/memory-config-flags.mjs +27 -29
- package/src/runtime/memory/lib/memory-cycle-requests.mjs +125 -108
- package/src/runtime/memory/lib/memory-cycle.mjs +8 -4
- package/src/runtime/memory/lib/memory-cycle1.mjs +444 -354
- package/src/runtime/memory/lib/memory-cycle2-mutations.mjs +69 -33
- package/src/runtime/memory/lib/memory-cycle2-review.mjs +128 -95
- package/src/runtime/memory/lib/memory-cycle2-shared.mjs +31 -28
- package/src/runtime/memory/lib/memory-cycle2.mjs +108 -77
- package/src/runtime/memory/lib/memory-daemon-lifecycle.mjs +65 -57
- package/src/runtime/memory/lib/memory-embed.mjs +324 -298
- package/src/runtime/memory/lib/memory-extraction.mjs +4 -4
- package/src/runtime/memory/lib/memory-fingerprint.mjs +30 -26
- package/src/runtime/memory/lib/memory-maintenance-store.mjs +13 -11
- package/src/runtime/memory/lib/memory-ops-policy.mjs +112 -101
- package/src/runtime/memory/lib/memory-port-advertiser.mjs +55 -44
- package/src/runtime/memory/lib/memory-process-lock.mjs +61 -46
- package/src/runtime/memory/lib/memory-recall-id-patch.mjs +7 -7
- package/src/runtime/memory/lib/memory-recall-read-query.mjs +4 -4
- package/src/runtime/memory/lib/memory-recall-scope-filter.mjs +61 -44
- package/src/runtime/memory/lib/memory-recall-store.mjs +298 -255
- package/src/runtime/memory/lib/memory-retrievers.mjs +75 -56
- package/src/runtime/memory/lib/memory-score.mjs +21 -18
- package/src/runtime/memory/lib/memory-service-lifecycle.mjs +70 -62
- package/src/runtime/memory/lib/memory-session-merge.mjs +21 -15
- package/src/runtime/memory/lib/memory-text-utils.mjs +146 -83
- package/src/runtime/memory/lib/memory.mjs +263 -200
- package/src/runtime/memory/lib/pg/adapter.mjs +213 -198
- package/src/runtime/memory/lib/pg/compact-indexes.mjs +78 -59
- package/src/runtime/memory/lib/pg/process.mjs +434 -300
- package/src/runtime/memory/lib/pg/supervisor.mjs +217 -131
- package/src/runtime/memory/lib/project-id-resolver.mjs +1 -1
- package/src/runtime/memory/lib/query-handlers.mjs +578 -477
- package/src/runtime/memory/lib/query-maintenance-handlers.mjs +98 -56
- package/src/runtime/memory/lib/query-ranking.mjs +218 -170
- package/src/runtime/memory/lib/recall-embedding-readiness.mjs +35 -45
- package/src/runtime/memory/lib/recall-event-context.mjs +81 -72
- package/src/runtime/memory/lib/recall-format.mjs +319 -262
- package/src/runtime/memory/lib/recall-fusion.mjs +20 -28
- package/src/runtime/memory/lib/recall-limits.mjs +3 -3
- package/src/runtime/memory/lib/recall-order.mjs +12 -12
- package/src/runtime/memory/lib/recall-page-cursor.mjs +17 -17
- package/src/runtime/memory/lib/recall-scoring.mjs +25 -22
- package/src/runtime/memory/lib/recall-substring-predicate.mjs +2 -2
- package/src/runtime/memory/lib/runtime-fetcher.mjs +253 -215
- package/src/runtime/memory/lib/session-ingest-runtime.mjs +177 -155
- package/src/runtime/memory/lib/session-ingest.mjs +164 -142
- package/src/runtime/memory/lib/tool-call-handler.mjs +27 -18
- package/src/runtime/memory/lib/trace-mode.mjs +30 -34
- package/src/runtime/memory/lib/trace-store.mjs +506 -381
- package/src/runtime/memory/lib/transcript-ingest.mjs +253 -203
- package/src/runtime/memory/tool-defs.mjs +105 -23
- package/src/runtime/office/authoring/pptx-author-action.mjs +20 -11
- package/src/runtime/office/authoring/pptx-author-session.mjs +20 -18
- package/src/runtime/office/authoring/pptx-brief.mjs +80 -22
- package/src/runtime/office/authoring/pptx-contact-sheet.mjs +9 -2
- package/src/runtime/office/authoring/pptx-icons.json +265 -1
- package/src/runtime/office/authoring/pptx-icons.mjs +19 -9
- package/src/runtime/office/authoring/pptx-receipt.mjs +262 -82
- package/src/runtime/office/authoring/pptx-script-contract.mjs +5 -3
- package/src/runtime/office/authoring/pptx-script-normalize.mjs +85 -34
- package/src/runtime/office/authoring/pptx-script-runner.mjs +53 -14
- package/src/runtime/office/bench/assurance-benchmark.mjs +204 -144
- package/src/runtime/office/bench/benchmark.mjs +162 -101
- package/src/runtime/office/bench/contract-benchmark.mjs +2 -1
- package/src/runtime/office/bench/deck-bench.mjs +11 -3
- package/src/runtime/office/bench/polish-benchmark.mjs +240 -120
- package/src/runtime/office/bench/quality-live-benchmark.mjs +234 -133
- package/src/runtime/office/capabilities.mjs +1031 -243
- package/src/runtime/office/com/com-adapter.mjs +108 -70
- package/src/runtime/office/com/office-com-cleanup.ps1 +125 -116
- package/src/runtime/office/com/office-com-session-host.ps1 +820 -783
- package/src/runtime/office/com/office-session-client.mjs +36 -16
- package/src/runtime/office/com/office-word-formatting.ps1 +23 -23
- package/src/runtime/office/core/journal.mjs +2 -13
- package/src/runtime/office/core/office-actions-batch.mjs +156 -107
- package/src/runtime/office/core/office-actions-inspect.mjs +110 -85
- package/src/runtime/office/core/office-actions-lifecycle.mjs +54 -43
- package/src/runtime/office/core/office-actions-open.mjs +61 -46
- package/src/runtime/office/core/office-actions-read.mjs +18 -17
- package/src/runtime/office/core/office-actions-render.mjs +75 -72
- package/src/runtime/office/core/office-core.mjs +88 -98
- package/src/runtime/office/core/office-documents.mjs +18 -12
- package/src/runtime/office/core/office-recalculation.mjs +9 -5
- package/src/runtime/office/core/office-render-preview.mjs +90 -44
- package/src/runtime/office/core/office-sessions.mjs +183 -111
- package/src/runtime/office/core/office-transactions.mjs +73 -60
- package/src/runtime/office/core/pagination.mjs +36 -32
- package/src/runtime/office/core/pptx-page-cache.mjs +37 -17
- package/src/runtime/office/core/snapshot-contract.mjs +18 -11
- package/src/runtime/office/core/tabular.mjs +71 -42
- package/src/runtime/office/design/composition-system.mjs +155 -77
- package/src/runtime/office/design/content-model.mjs +11 -7
- package/src/runtime/office/design/design-art-direction.mjs +43 -38
- package/src/runtime/office/design/design-creative-director.mjs +12 -17
- package/src/runtime/office/design/design-discipline.mjs +50 -30
- package/src/runtime/office/design/design-system.mjs +10 -4
- package/src/runtime/office/design/design-tokens.mjs +81 -76
- package/src/runtime/office/design/docx/design-docx-components.mjs +21 -31
- package/src/runtime/office/design/docx/design-docx.mjs +25 -21
- package/src/runtime/office/design/docx/document-typography.mjs +2 -1
- package/src/runtime/office/design/library/design-library-core.mjs +15 -29
- package/src/runtime/office/design/library/design-library-pack.mjs +86 -63
- package/src/runtime/office/design/library/design-library.mjs +49 -68
- package/src/runtime/office/design/library/design-template-index.mjs +45 -47
- package/src/runtime/office/design/library/design-template-inspect.mjs +73 -85
- package/src/runtime/office/design/library/templates/mixdog-executive.pptx.mixdog.json +89 -10
- package/src/runtime/office/design/xlsx/design-xlsx-components.mjs +31 -43
- package/src/runtime/office/design/xlsx/design-xlsx.mjs +85 -91
- package/src/runtime/office/index.mjs +81 -47
- package/src/runtime/office/office-test-support.mjs +4 -4
- package/src/runtime/office/pdf/document-preview.mjs +30 -20
- package/src/runtime/office/pdf/pdf-adapter.mjs +258 -93
- package/src/runtime/office/pdf/pdf-analysis.mjs +130 -72
- package/src/runtime/office/pdf/pdf-draw.mjs +12 -6
- package/src/runtime/office/pdf/pdf-fonts.mjs +30 -23
- package/src/runtime/office/pdf/pdf-forms.mjs +47 -15
- package/src/runtime/office/pdf/pdf-render.mjs +57 -65
- package/src/runtime/office/pdf/pdf-safety.mjs +10 -13
- package/src/runtime/office/pdf/pdf-search.mjs +33 -24
- package/src/runtime/office/pdf/pdf-security.mjs +16 -17
- package/src/runtime/office/pdf/pdf-writer.mjs +184 -70
- package/src/runtime/office/portable/docx-formatting.mjs +27 -10
- package/src/runtime/office/portable/docx-revisions.mjs +75 -35
- package/src/runtime/office/portable/docx-runs.mjs +53 -21
- package/src/runtime/office/portable/docx-tracked-edits.mjs +12 -5
- package/src/runtime/office/portable/font-provisioner.mjs +11 -9
- package/src/runtime/office/portable/image-layout.mjs +7 -5
- package/src/runtime/office/portable/ooxml-validator.mjs +61 -44
- package/src/runtime/office/portable/portable-cells.mjs +33 -35
- package/src/runtime/office/portable/portable-chart-faults.mjs +30 -16
- package/src/runtime/office/portable/portable-chart.mjs +162 -131
- package/src/runtime/office/portable/portable-docx-parts.mjs +161 -138
- package/src/runtime/office/portable/portable-docx-xml.mjs +136 -95
- package/src/runtime/office/portable/portable-docx.mjs +375 -189
- package/src/runtime/office/portable/portable-ooxml.mjs +6 -5
- package/src/runtime/office/portable/portable-opc.mjs +56 -55
- package/src/runtime/office/portable/portable-package.mjs +335 -236
- package/src/runtime/office/portable/portable-pivot.mjs +159 -127
- package/src/runtime/office/portable/portable-pptx-chart.mjs +63 -44
- package/src/runtime/office/portable/portable-pptx-charts.mjs +110 -81
- package/src/runtime/office/portable/portable-pptx-core.mjs +56 -83
- package/src/runtime/office/portable/portable-pptx-deck.mjs +101 -78
- package/src/runtime/office/portable/portable-pptx-package.mjs +129 -111
- package/src/runtime/office/portable/portable-pptx-shapes.mjs +183 -120
- package/src/runtime/office/portable/portable-pptx.mjs +53 -7
- package/src/runtime/office/portable/portable-sheet-page.mjs +72 -27
- package/src/runtime/office/portable/portable-sheet-parts.mjs +55 -41
- package/src/runtime/office/portable/portable-sheet-styles.mjs +83 -34
- package/src/runtime/office/portable/portable-sheet-xml.mjs +94 -100
- package/src/runtime/office/portable/portable-slide-shapes.mjs +107 -80
- package/src/runtime/office/portable/portable-snapshot.mjs +216 -137
- package/src/runtime/office/portable/portable-soffice.mjs +85 -55
- package/src/runtime/office/portable/portable-validation.mjs +344 -167
- package/src/runtime/office/portable/portable-xlsx.mjs +416 -211
- package/src/runtime/office/portable/portable-xml.mjs +10 -26
- package/src/runtime/office/portable/pptx-relations.mjs +38 -14
- package/src/runtime/office/portable/pptx-targets.mjs +9 -4
- package/src/runtime/office/portable/review-editability.mjs +28 -6
- package/src/runtime/office/portable/text-metrics.mjs +95 -70
- package/src/runtime/office/portable/xlsx-assertions.mjs +111 -43
- package/src/runtime/office/portable/xlsx-audit-support.mjs +12 -12
- package/src/runtime/office/portable/xlsx-contract.mjs +93 -51
- package/src/runtime/office/portable/xlsx-formula-audit.mjs +98 -30
- package/src/runtime/office/portable/xlsx-sheet-hygiene.mjs +59 -14
- package/src/runtime/office/quality/assurance-checklist.mjs +23 -17
- package/src/runtime/office/quality/assurance-rendered.mjs +49 -56
- package/src/runtime/office/quality/assurance-structure.mjs +342 -265
- package/src/runtime/office/quality/assurance-trust.mjs +38 -31
- package/src/runtime/office/quality/design-aesthetics-metrics.mjs +23 -17
- package/src/runtime/office/quality/design-aesthetics.mjs +100 -101
- package/src/runtime/office/quality/design-deck-diversity.mjs +53 -37
- package/src/runtime/office/quality/design-review-authored.mjs +36 -24
- package/src/runtime/office/quality/design-review-critique.mjs +55 -22
- package/src/runtime/office/quality/design-review.mjs +148 -162
- package/src/runtime/office/quality/document-acceptance.mjs +37 -18
- package/src/runtime/office/quality/inline-audit.mjs +13 -11
- package/src/runtime/office/quality/pptx-deck-rubric.mjs +30 -12
- package/src/runtime/office/quality/pptx-slide-roles.mjs +28 -15
- package/src/runtime/office/quality/presentation-acceptance.mjs +11 -10
- package/src/runtime/office/quality/quality-pipeline.mjs +151 -88
- package/src/runtime/office/quality/quality-score.mjs +13 -20
- package/src/runtime/office/quality/render-air.mjs +59 -24
- package/src/runtime/office/quality/visual-diff.mjs +5 -2
- package/src/runtime/office/shared/values.mjs +9 -2
- package/src/runtime/office/tool-defs.mjs +108 -27
- package/src/runtime/shared/abort-controller.mjs +5 -1
- package/src/runtime/shared/abort-race.mjs +4 -2
- package/src/runtime/shared/agent-route-config.mjs +18 -21
- package/src/runtime/shared/atomic-file.d.mts +3 -3
- package/src/runtime/shared/atomic-file.mjs +81 -47
- package/src/runtime/shared/automation-attachments.mjs +10 -5
- package/src/runtime/shared/automation-workflow.mjs +4 -2
- package/src/runtime/shared/background-tasks.mjs +59 -46
- package/src/runtime/shared/boot-profile.mjs +5 -3
- package/src/runtime/shared/bounded-download.mjs +9 -13
- package/src/runtime/shared/bridge-tool-args.mjs +1 -3
- package/src/runtime/shared/buffered-appender.mjs +151 -142
- package/src/runtime/shared/child-guardian.mjs +7 -9
- package/src/runtime/shared/child-spawn-gate.mjs +40 -47
- package/src/runtime/shared/child-spawn-remote.mjs +44 -32
- package/src/runtime/shared/config-patch.mjs +49 -0
- package/src/runtime/shared/config.mjs +246 -210
- package/src/runtime/shared/debounced-writer.mjs +33 -31
- package/src/runtime/shared/edit-tool-dialect.mjs +6 -5
- package/src/runtime/shared/err-text.mjs +57 -32
- package/src/runtime/shared/error-presentation.mjs +67 -19
- package/src/runtime/shared/file-lock.mjs +44 -18
- package/src/runtime/shared/file-permissions.d.mts +2 -8
- package/src/runtime/shared/file-permissions.mjs +5 -1
- package/src/runtime/shared/http-request-body.mjs +26 -15
- package/src/runtime/shared/idle-gc.mjs +19 -7
- package/src/runtime/shared/json-file.mjs +5 -1
- package/src/runtime/shared/json-metrics.mjs +19 -8
- package/src/runtime/shared/json-snapshot.mjs +32 -0
- package/src/runtime/shared/keyed-serial-queue.d.mts +1 -4
- package/src/runtime/shared/keyed-serial-queue.mjs +4 -1
- package/src/runtime/shared/llm/cost.mjs +81 -63
- package/src/runtime/shared/llm/http-agent.mjs +78 -60
- package/src/runtime/shared/llm/index.mjs +13 -14
- package/src/runtime/shared/llm/usage-accounting.mjs +64 -56
- package/src/runtime/shared/llm/usage-ledger-import.mjs +169 -125
- package/src/runtime/shared/llm/usage-ledger-repair.mjs +125 -88
- package/src/runtime/shared/llm/usage-ledger.mjs +492 -325
- package/src/runtime/shared/llm/usage-log.mjs +19 -17
- package/src/runtime/shared/llm/usage-measurement.mjs +45 -28
- package/src/runtime/shared/llm/usage-pricing-refresh.mjs +15 -11
- package/src/runtime/shared/llm/usage-rollup.mjs +39 -30
- package/src/runtime/shared/llm/usage-session-history.mjs +23 -18
- package/src/runtime/shared/loopback-listener.mjs +56 -44
- package/src/runtime/shared/markdown-frontmatter.mjs +6 -2
- package/src/runtime/shared/memory-snapshot.mjs +68 -54
- package/src/runtime/shared/native-asset.mjs +54 -24
- package/src/runtime/shared/notify-trace.mjs +8 -2
- package/src/runtime/shared/open-url.mjs +3 -1
- package/src/runtime/shared/orchestration.mjs +35 -0
- package/src/runtime/shared/owner-fair-gate.mjs +47 -31
- package/src/runtime/shared/plugin-manifest.mjs +1 -3
- package/src/runtime/shared/plugin-metadata.mjs +1 -5
- package/src/runtime/shared/pristine-execution-contract.json +4 -0
- package/src/runtime/shared/pristine-execution.mjs +77 -63
- package/src/runtime/shared/process-lifecycle.mjs +130 -91
- package/src/runtime/shared/process-listener-headroom.mjs +3 -2
- package/src/runtime/shared/process-shutdown.mjs +36 -24
- package/src/runtime/shared/profile-config.cjs +15 -9
- package/src/runtime/shared/provider-accounts.mjs +57 -29
- package/src/runtime/shared/provider-api-key.mjs +8 -3
- package/src/runtime/shared/provider-auth-binding.mjs +8 -7
- package/src/runtime/shared/resource-admission.mjs +47 -59
- package/src/runtime/shared/runtime-root.mjs +3 -14
- package/src/runtime/shared/safe-ipc-send.mjs +6 -2
- package/src/runtime/shared/schedule-time.mjs +1 -3
- package/src/runtime/shared/schedules-db.mjs +33 -53
- package/src/runtime/shared/schema-value-error.mjs +10 -2
- package/src/runtime/shared/service-discovery.mjs +44 -46
- package/src/runtime/shared/session-runtime-health.mjs +18 -11
- package/src/runtime/shared/shell-display.mjs +5 -5
- package/src/runtime/shared/singleton-owner.mjs +1 -5
- package/src/runtime/shared/skill-document.mjs +6 -9
- package/src/runtime/shared/skill-selection.mjs +12 -12
- package/src/runtime/shared/skill-tool-dependencies.mjs +46 -29
- package/src/runtime/shared/sleep.mjs +3 -3
- package/src/runtime/shared/staged-update.mjs +186 -46
- package/src/runtime/shared/task-notification-envelope.mjs +15 -14
- package/src/runtime/shared/time-format.mjs +1 -2
- package/src/runtime/shared/tool-card-model.mjs +283 -145
- package/src/runtime/shared/tool-execution-contract.mjs +66 -61
- package/src/runtime/shared/tool-execution-owner.mjs +4 -1
- package/src/runtime/shared/tool-primitives.mjs +43 -23
- package/src/runtime/shared/tool-result-summary.mjs +98 -42
- package/src/runtime/shared/tool-status.mjs +12 -5
- package/src/runtime/shared/tool-surface.mjs +215 -95
- package/src/runtime/shared/transcript-writer.mjs +35 -20
- package/src/runtime/shared/transport-error-text.mjs +80 -21
- package/src/runtime/shared/turn-snapshot-store.mjs +20 -11
- package/src/runtime/shared/turn-snapshot.mjs +59 -69
- package/src/runtime/shared/turn-worktree-snapshot.mjs +103 -123
- package/src/runtime/shared/update-checker.mjs +24 -64
- package/src/runtime/shared/user-cwd.mjs +68 -75
- package/src/runtime/shared/user-data-guard.mjs +33 -40
- package/src/runtime/shared/webhook-session-run.mjs +11 -2
- package/src/runtime/shared/webhooks-db.mjs +30 -28
- package/src/runtime/tidy/apply.mjs +23 -11
- package/src/runtime/tidy/core-install.mjs +444 -0
- package/src/runtime/tidy/engines-manifest.json +37 -69
- package/src/runtime/tidy/engines.mjs +72 -18
- package/src/runtime/tidy/extract.mjs +22 -2
- package/src/runtime/tidy/history-comment.mjs +277 -0
- package/src/runtime/tidy/install.mjs +52 -24
- package/src/runtime/tidy/languages.mjs +33 -12
- package/src/runtime/tidy/process.mjs +86 -29
- package/src/runtime/tidy/report.mjs +37 -1
- package/src/runtime/tidy/resolve.mjs +108 -13
- package/src/runtime/tidy/rules/__tests__/no-any-cast.yml +12 -0
- package/src/runtime/tidy/rules/__tests__/no-boolean-literal-compare.yml +24 -0
- package/src/runtime/tidy/rules/__tests__/no-debug-statement.yml +26 -0
- package/src/runtime/tidy/rules/__tests__/no-history-comment.yml +24 -0
- package/src/runtime/tidy/rules/__tests__/no-nested-ternary.yml +15 -0
- package/src/runtime/tidy/rules/bash/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/c/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/c/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/cpp/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/cpp/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/csharp/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/csharp/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/go/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/java/no-history-comment.yml +3 -3
- package/src/runtime/tidy/rules/java/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/javascript/no-boolean-literal-compare.yml +23 -0
- package/src/runtime/tidy/rules/javascript/no-debug-statement.yml +10 -0
- package/src/runtime/tidy/rules/javascript/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/javascript/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/kotlin/no-history-comment.yml +3 -3
- package/src/runtime/tidy/rules/lua/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/php/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/python/no-boolean-literal-compare.yml +15 -0
- package/src/runtime/tidy/rules/python/no-debug-statement.yml +10 -0
- package/src/runtime/tidy/rules/python/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/python/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/ruby/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/rust/no-debug-statement.yml +7 -0
- package/src/runtime/tidy/rules/rust/no-history-comment.yml +3 -3
- package/src/runtime/tidy/rules/swift/no-history-comment.yml +3 -3
- package/src/runtime/tidy/rules/tsx/no-any-cast.yml +7 -0
- package/src/runtime/tidy/rules/tsx/no-boolean-literal-compare.yml +23 -0
- package/src/runtime/tidy/rules/tsx/no-debug-statement.yml +10 -0
- package/src/runtime/tidy/rules/tsx/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/tsx/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/rules/typescript/no-any-cast.yml +9 -0
- package/src/runtime/tidy/rules/typescript/no-boolean-literal-compare.yml +23 -0
- package/src/runtime/tidy/rules/typescript/no-debug-statement.yml +10 -0
- package/src/runtime/tidy/rules/typescript/no-history-comment.yml +2 -2
- package/src/runtime/tidy/rules/typescript/no-nested-ternary.yml +10 -0
- package/src/runtime/tidy/run-engines.mjs +38 -5
- package/src/runtime/tidy/runners/air.mjs +16 -11
- package/src/runtime/tidy/runners/biome.mjs +389 -39
- package/src/runtime/tidy/runners/clang-format.mjs +19 -10
- package/src/runtime/tidy/runners/dotnet-format.mjs +238 -0
- package/src/runtime/tidy/runners/dprint.mjs +19 -14
- package/src/runtime/tidy/runners/eslint.mjs +16 -10
- package/src/runtime/tidy/runners/index.mjs +2 -0
- package/src/runtime/tidy/runners/mago.mjs +30 -14
- package/src/runtime/tidy/runners/psscriptanalyzer.mjs +77 -28
- package/src/runtime/tidy/runners/ruff.mjs +23 -14
- package/src/runtime/tidy/runners/rustfmt.mjs +41 -13
- package/src/runtime/tidy/runners/shared.mjs +55 -26
- package/src/runtime/tidy/runners/shellcheck.mjs +16 -10
- package/src/runtime/tidy/runners/stylua.mjs +16 -11
- package/src/runtime/tidy/structural.mjs +89 -29
- package/src/runtime/tidy/tool-defs.mjs +9 -6
- package/src/runtime/tidy/tool.mjs +44 -32
- package/src/runtime/web-search/index.mjs +296 -254
- package/src/runtime/web-search/lib/cache.mjs +92 -86
- package/src/runtime/web-search/lib/config.mjs +27 -24
- package/src/runtime/web-search/lib/document-content.mjs +139 -86
- package/src/runtime/web-search/lib/fetch-pipeline.mjs +128 -108
- package/src/runtime/web-search/lib/formatter.mjs +103 -89
- package/src/runtime/web-search/lib/http-fetch.mjs +284 -228
- package/src/runtime/web-search/lib/ssrf-guard.mjs +140 -122
- package/src/runtime/web-search/lib/state.mjs +65 -71
- package/src/runtime/web-search/lib/web-tools.mjs +213 -197
- package/src/runtime/web-search/tool-defs.mjs +47 -13
- package/src/session-runtime/agent-tool-routing.mjs +21 -19
- package/src/session-runtime/bridge-first-use-gate.mjs +18 -11
- package/src/session-runtime/builtin-features.d.mts +13 -4
- package/src/session-runtime/builtin-features.mjs +33 -31
- package/src/session-runtime/channel-config-api.mjs +4 -9
- package/src/session-runtime/config-helpers.mjs +53 -28
- package/src/session-runtime/config-lifecycle.mjs +53 -56
- package/src/session-runtime/context-inspection.mjs +311 -0
- package/src/session-runtime/context-status.mjs +92 -69
- package/src/session-runtime/cwd-plugins.mjs +19 -14
- package/src/session-runtime/deferred-tool-availability.mjs +5 -3
- package/src/session-runtime/deferred-tool-delta.mjs +2 -5
- package/src/session-runtime/effort.mjs +10 -8
- package/src/session-runtime/extension-scopes.mjs +10 -4
- package/src/session-runtime/fs-utils.mjs +5 -1
- package/src/session-runtime/goal-deadlines.mjs +29 -14
- package/src/session-runtime/goal-facade-api.mjs +9 -9
- package/src/session-runtime/goal-reminder.mjs +7 -11
- package/src/session-runtime/goal-runtime.mjs +211 -120
- package/src/session-runtime/goal-state.mjs +29 -26
- package/src/session-runtime/goal-storage.mjs +16 -5
- package/src/session-runtime/goal-tasks.mjs +45 -23
- package/src/session-runtime/goal-text.mjs +30 -24
- package/src/session-runtime/goal-tool-defs.mjs +91 -47
- package/src/session-runtime/hitch-profile.mjs +1 -1
- package/src/session-runtime/hook-payload.mjs +0 -1
- package/src/session-runtime/inheritance-fit.mjs +13 -15
- package/src/session-runtime/internal-tool-executor.mjs +30 -20
- package/src/session-runtime/lifecycle-api.mjs +288 -216
- package/src/session-runtime/local-model-api.mjs +9 -3
- package/src/session-runtime/local-provider-settings.mjs +19 -8
- package/src/session-runtime/mcp-glue.mjs +28 -21
- package/src/session-runtime/memory-runtime-prewarm.mjs +5 -5
- package/src/session-runtime/model-capabilities.mjs +19 -13
- package/src/session-runtime/model-recency.mjs +27 -11
- package/src/session-runtime/model-route-api.mjs +76 -58
- package/src/session-runtime/native-web-search.mjs +55 -45
- package/src/session-runtime/notification-bus.mjs +32 -17
- package/src/session-runtime/orchestration.mjs +32 -0
- package/src/session-runtime/output-styles.mjs +23 -8
- package/src/session-runtime/plugin-mcp.mjs +31 -27
- package/src/session-runtime/prewarm.mjs +96 -68
- package/src/session-runtime/provider-auth-api.mjs +40 -24
- package/src/session-runtime/provider-catalog-cache.mjs +29 -21
- package/src/session-runtime/provider-models.mjs +61 -50
- package/src/session-runtime/provider-readiness.mjs +1 -6
- package/src/session-runtime/provider-request-snapshot.mjs +53 -47
- package/src/session-runtime/provider-request-tools.mjs +13 -13
- package/src/session-runtime/provider-usage.mjs +13 -11
- package/src/session-runtime/quick-model-rows.mjs +19 -17
- package/src/session-runtime/quick-web-search-models.mjs +2 -6
- package/src/session-runtime/resource-api.mjs +99 -64
- package/src/session-runtime/runtime-bootstrap.mjs +7 -3
- package/src/session-runtime/runtime-core.mjs +187 -154
- package/src/session-runtime/runtime-facade.mjs +6 -2
- package/src/session-runtime/runtime-feature-gates.mjs +7 -10
- package/src/session-runtime/runtime-paths.mjs +1 -1
- package/src/session-runtime/runtime-review-api.mjs +4 -8
- package/src/session-runtime/runtime-tool-routing.mjs +11 -13
- package/src/session-runtime/runtime-tunables.mjs +18 -17
- package/src/session-runtime/self-update.mjs +11 -11
- package/src/session-runtime/session-hooks.mjs +62 -38
- package/src/session-runtime/session-lifecycle.mjs +99 -89
- package/src/session-runtime/session-route-policy.mjs +8 -7
- package/src/session-runtime/session-text.mjs +44 -26
- package/src/session-runtime/session-title.mjs +59 -49
- package/src/session-runtime/session-transcript.mjs +15 -8
- package/src/session-runtime/session-turn-api.mjs +502 -382
- package/src/session-runtime/settings-api.mjs +76 -27
- package/src/session-runtime/setup-tool/executor.mjs +249 -82
- package/src/session-runtime/setup-tool/extended-actions.mjs +177 -0
- package/src/session-runtime/setup-tool/settings-contract.mjs +138 -0
- package/src/session-runtime/setup-tool/tool-defs.mjs +116 -23
- package/src/session-runtime/setup-tool/ui-requests.mjs +66 -0
- package/src/session-runtime/skill-tool-loading.mjs +22 -17
- package/src/session-runtime/skills-api.mjs +37 -24
- package/src/session-runtime/statusline-route.mjs +1 -1
- package/src/session-runtime/tool-catalog-data.mjs +56 -11
- package/src/session-runtime/tool-catalog-schema.mjs +21 -24
- package/src/session-runtime/tool-catalog.mjs +114 -97
- package/src/session-runtime/tool-defs.mjs +16 -14
- package/src/session-runtime/tool-policy-refresh.mjs +45 -37
- package/src/session-runtime/tool-profile.mjs +18 -14
- package/src/session-runtime/tool-surface.mjs +29 -51
- package/src/session-runtime/usage-stats-api.mjs +22 -9
- package/src/session-runtime/warmup-schedulers.mjs +10 -8
- package/src/session-runtime/workflow-agents-api.mjs +113 -56
- package/src/session-runtime/workflow.mjs +86 -90
- package/src/standalone/agent-dispatch-broker.mjs +31 -22
- package/src/standalone/agent-task-status.mjs +10 -24
- package/src/standalone/agent-tool/helpers.mjs +44 -9
- package/src/standalone/agent-tool/job-task-reconcile.mjs +16 -15
- package/src/standalone/agent-tool/job-views.mjs +69 -42
- package/src/standalone/agent-tool/lead-worker-index.mjs +28 -18
- package/src/standalone/agent-tool/notify.mjs +23 -11
- package/src/standalone/agent-tool/provider-init.mjs +35 -10
- package/src/standalone/agent-tool/render.mjs +16 -9
- package/src/standalone/agent-tool/spawn-flow.mjs +132 -107
- package/src/standalone/agent-tool/spawn-preset.mjs +3 -5
- package/src/standalone/agent-tool/tag-registry.mjs +145 -3
- package/src/standalone/agent-tool/tool-def.mjs +26 -7
- package/src/standalone/agent-tool/worker-index.mjs +73 -51
- package/src/standalone/agent-tool/worker-rows.mjs +22 -7
- package/src/standalone/agent-tool.mjs +189 -184
- package/src/standalone/agent-watchdog-registry.mjs +32 -11
- package/src/standalone/boot-phase-profiler.mjs +1 -5
- package/src/standalone/channel-admin.mjs +44 -45
- package/src/standalone/channel-binding.mjs +6 -2
- package/src/standalone/channel-client.mjs +238 -151
- package/src/standalone/channel-session-router.mjs +8 -10
- package/src/standalone/channel-transport.mjs +233 -115
- package/src/standalone/channel-worker.mjs +74 -40
- package/src/standalone/daemon-boot-coordinator.mjs +2 -2
- package/src/standalone/daemon-crash-capture.mjs +81 -37
- package/src/standalone/daemon-log.mjs +34 -15
- package/src/standalone/daemon-telemetry.mjs +14 -9
- package/src/standalone/daemon.mjs +199 -117
- package/src/standalone/desktop-service-registry.mjs +28 -19
- package/src/standalone/fair-call-scheduler.mjs +18 -20
- package/src/standalone/folder-dialog.mjs +19 -10
- package/src/standalone/hook-bus/command-handler.mjs +31 -18
- package/src/standalone/hook-bus/config.mjs +22 -14
- package/src/standalone/hook-bus/constants.mjs +1 -5
- package/src/standalone/hook-bus/handlers.mjs +68 -29
- package/src/standalone/hook-bus/rules.mjs +6 -4
- package/src/standalone/hook-bus.mjs +76 -49
- package/src/standalone/memory-runtime-proxy.mjs +187 -132
- package/src/standalone/opencode-go-login.mjs +22 -7
- package/src/standalone/plugin-admin.mjs +52 -41
- package/src/standalone/projects.mjs +1 -3
- package/src/standalone/provider-admin.mjs +174 -68
- package/src/standalone/rpc-call-identity.mjs +3 -4
- package/src/standalone/seeds.mjs +18 -4
- package/src/standalone/session-attachment-pool.mjs +1 -6
- package/src/standalone/session-call-cache.mjs +62 -33
- package/src/standalone/session-client.mjs +245 -187
- package/src/standalone/session-frame-stream.mjs +44 -24
- package/src/standalone/session-protocol.mjs +7 -0
- package/src/standalone/session-proxy.mjs +152 -110
- package/src/standalone/session-runtime-agent-control-client.mjs +41 -39
- package/src/standalone/session-runtime-host-factory.mjs +11 -6
- package/src/standalone/session-runtime-host.mjs +291 -203
- package/src/standalone/session-runtime-inline-host.mjs +29 -35
- package/src/standalone/session-runtime-provider-cooldown.mjs +15 -15
- package/src/standalone/session-runtime-record.mjs +3 -1
- package/src/standalone/session-runtime-shard-router.mjs +12 -6
- package/src/standalone/session-runtime-worker.mjs +105 -74
- package/src/standalone/session-service/agent-tree.mjs +63 -70
- package/src/standalone/session-service/projection.mjs +37 -31
- package/src/standalone/session-service/stored-reader.mjs +2 -3
- package/src/standalone/session-service.mjs +151 -139
- package/src/standalone/session-state-patch.mjs +2 -7
- package/src/standalone/session-state-projection.mjs +1 -1
- package/src/standalone/session-transport.mjs +110 -89
- package/src/standalone/session-wire.mjs +8 -9
- package/src/standalone/usage-dashboard-model.mjs +170 -93
- package/src/standalone/usage-dashboard.mjs +14 -15
- package/src/standalone/usage-stats-hours.mjs +49 -13
- package/src/standalone/usage-stats-model.mjs +38 -43
- package/src/standalone/usage-stats-period.mjs +46 -11
- package/src/tui/App.jsx +167 -272
- package/src/tui/app/app-format.mjs +26 -28
- package/src/tui/app/app-view.jsx +367 -178
- package/src/tui/app/clipboard.mjs +4 -2
- package/src/tui/app/core-memory-picker.mjs +18 -22
- package/src/tui/app/create-app-pickers.mjs +10 -12
- package/src/tui/app/doctor.mjs +151 -149
- package/src/tui/app/extension-pickers.mjs +43 -20
- package/src/tui/app/input-parsers.mjs +17 -6
- package/src/tui/app/live-spinner-visibility.mjs +15 -12
- package/src/tui/app/maintenance-pickers.mjs +63 -37
- package/src/tui/app/message-selector.mjs +27 -19
- package/src/tui/app/model-options.mjs +40 -45
- package/src/tui/app/model-picker.mjs +98 -76
- package/src/tui/app/onboarding-steps.mjs +50 -33
- package/src/tui/app/panel-surface.mjs +1 -3
- package/src/tui/app/project-picker.mjs +25 -24
- package/src/tui/app/prompt-submit.mjs +143 -86
- package/src/tui/app/provider-setup-picker.mjs +66 -49
- package/src/tui/app/resume-picker.mjs +13 -11
- package/src/tui/app/route-pickers.mjs +71 -51
- package/src/tui/app/settings-picker.mjs +93 -57
- package/src/tui/app/shell-layout.mjs +78 -66
- package/src/tui/app/slash-commands.mjs +57 -11
- package/src/tui/app/slash-dispatch.mjs +80 -52
- package/src/tui/app/text-entry-policy.mjs +1 -5
- package/src/tui/app/text-layout.mjs +2 -2
- package/src/tui/app/theme-effort-pickers.mjs +36 -25
- package/src/tui/app/transcript-row-estimate.mjs +51 -23
- package/src/tui/app/transcript-window.mjs +142 -147
- package/src/tui/app/usage-context-panels.mjs +46 -29
- package/src/tui/app/use-copy-selection.mjs +44 -45
- package/src/tui/app/use-global-key-input.mjs +131 -116
- package/src/tui/app/use-mouse-input.mjs +78 -52
- package/src/tui/app/use-prompt-draft-flow.mjs +96 -75
- package/src/tui/app/use-prompt-handlers.mjs +259 -208
- package/src/tui/app/use-prompt-hint.mjs +7 -7
- package/src/tui/app/use-prompt-queue-history.mjs +109 -95
- package/src/tui/app/use-terminal-chrome.mjs +3 -1
- package/src/tui/app/use-transcript-activity.mjs +16 -7
- package/src/tui/app/use-transcript-scroll.mjs +484 -442
- package/src/tui/app/use-transcript-window.mjs +101 -84
- package/src/tui/app/use-welcome-prompt-hint.mjs +8 -3
- package/src/tui/components/AnsiText.jsx +1 -4
- package/src/tui/components/ConfirmBar.jsx +1 -5
- package/src/tui/components/ContextInspector.jsx +119 -0
- package/src/tui/components/ContextPanel.jsx +71 -24
- package/src/tui/components/ItemRightHintOverprint.jsx +8 -17
- package/src/tui/components/Markdown.jsx +32 -31
- package/src/tui/components/MarkdownTable.jsx +0 -1
- package/src/tui/components/Message.jsx +20 -18
- package/src/tui/components/Picker.jsx +136 -51
- package/src/tui/components/PromptInput.jsx +523 -471
- package/src/tui/components/QueuedCommands.jsx +13 -5
- package/src/tui/components/SlashCommandPalette.jsx +27 -22
- package/src/tui/components/Spinner.jsx +106 -39
- package/src/tui/components/StatusLine.jsx +143 -59
- package/src/tui/components/TextEntryPanel.jsx +219 -189
- package/src/tui/components/ToolExecution.jsx +120 -72
- package/src/tui/components/TranscriptItem.jsx +88 -16
- package/src/tui/components/TurnDone.jsx +48 -10
- package/src/tui/components/UsagePanel.jsx +38 -17
- package/src/tui/components/prompt-input/edit-helpers.mjs +4 -8
- package/src/tui/components/prompt-input/escape-policy.mjs +7 -8
- package/src/tui/components/prompt-input/restore-policy.d.mts +3 -6
- package/src/tui/components/prompt-input/restore-policy.mjs +30 -38
- package/src/tui/components/tool-execution/ResultBody.jsx +16 -16
- package/src/tui/components/tool-output-format.mjs +20 -20
- package/src/tui/dist/index.mjs +18459 -17086
- package/src/tui/index.jsx +139 -42
- package/src/tui/input-editing.mjs +6 -7
- package/src/tui/lib/voice-setup.mjs +2 -4
- package/src/tui/markdown/format-token.mjs +111 -55
- package/src/tui/markdown/measure-rendered-rows.mjs +34 -24
- package/src/tui/markdown/render-ansi.mjs +15 -15
- package/src/tui/markdown/stream-fence.mjs +6 -6
- package/src/tui/markdown/streaming-markdown.mjs +3 -8
- package/src/tui/markdown/table-layout.mjs +3 -4
- package/src/tui/paste-attachments.mjs +43 -22
- package/src/tui/paste-text-policy.mjs +4 -3
- package/src/tui/prompt-history-store.mjs +15 -18
- package/src/tui/session/agent-envelope.mjs +106 -58
- package/src/tui/session/agent-job-feed.mjs +109 -71
- package/src/tui/session/agent-response-tail.mjs +10 -8
- package/src/tui/session/boot-profile.mjs +1 -1
- package/src/tui/session/context-state.mjs +25 -19
- package/src/tui/session/goal-continuation.mjs +20 -25
- package/src/tui/session/goal-turn-state.mjs +4 -2
- package/src/tui/session/labels.mjs +3 -12
- package/src/tui/session/live-share.mjs +250 -132
- package/src/tui/session/notice-text.mjs +4 -5
- package/src/tui/session/notification-plan.mjs +13 -4
- package/src/tui/session/oauth-flows.mjs +26 -21
- package/src/tui/session/prompt-history.mjs +4 -1
- package/src/tui/session/queue-helpers.mjs +33 -31
- package/src/tui/session/render-frame-source.mjs +9 -9
- package/src/tui/session/render-timing.mjs +69 -79
- package/src/tui/session/session-api-ext.mjs +237 -148
- package/src/tui/session/session-api.mjs +144 -65
- package/src/tui/session/session-flow.mjs +174 -84
- package/src/tui/session/tool-approval.mjs +12 -4
- package/src/tui/session/tool-call-fields.mjs +2 -6
- package/src/tui/session/tool-card-results.mjs +41 -10
- package/src/tui/session/tool-result-status.mjs +34 -41
- package/src/tui/session/tool-result-text.mjs +48 -13
- package/src/tui/session/transcript-spill.mjs +73 -46
- package/src/tui/session/tui-steering-persist.mjs +105 -83
- package/src/tui/session/turn-aggregate-cards.mjs +19 -14
- package/src/tui/session/turn-deferred-cards.mjs +23 -6
- package/src/tui/session/turn.mjs +278 -120
- package/src/tui/session-local.mjs +277 -151
- package/src/tui/spinner-meta.mjs +6 -2
- package/src/tui/spinner-verbs.mjs +188 -35
- package/src/tui/statusline-ansi-bridge.mjs +10 -8
- package/src/tui/theme.mjs +9 -16
- package/src/tui/themes/catppuccin.mjs +0 -1
- package/src/tui/themes/index.mjs +85 -15
- package/src/tui/themes/nord.mjs +0 -1
- package/src/tui/themes/utils.mjs +8 -12
- package/src/tui/transcript-tool-failures.mjs +3 -1
- package/src/ui/ansi.mjs +13 -13
- package/src/ui/context-inspection.mjs +44 -0
- package/src/ui/context-measurement.mjs +24 -15
- package/src/ui/markdown.mjs +28 -23
- package/src/ui/model-display.mjs +6 -8
- package/src/ui/statusline-agents.mjs +32 -16
- package/src/ui/statusline-format.mjs +2 -2
- package/src/ui/statusline-segments.mjs +27 -9
- package/src/ui/statusline.mjs +149 -66
- package/src/ui/streaming-markdown-heal.mjs +78 -13
- package/src/ui/tool-card.mjs +5 -1
- package/src/workflows/default/WORKFLOW.md +3 -15
- package/src/workflows/headless/WORKFLOW.md +0 -1
- package/src/rules/agent/00-common.md +0 -9
- package/src/rules/agent/00-core.md +0 -10
- package/src/rules/lead/01-general.md +0 -20
- package/src/rules/lead/02-persona.md +0 -4
- package/src/rules/lead/lead-brief.md +0 -15
- package/src/rules/shared/00-general.md +0 -11
- package/src/rules/shared/75-goal.md +0 -11
- package/src/runtime/agent/orchestrator/providers/anthropic-fable-history.mjs +0 -77
- package/src/workflows/solo/WORKFLOW.md +0 -16
package/README.md
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
# Mixdog
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/mixdog)
|
|
4
|
-

|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## More work. Less cost. Less complexity.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Get more from your models and budget with an efficient AI coding
|
|
10
|
+
harness—and intuitive controls for managing sessions, agents, and your
|
|
11
|
+
entire workflow.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
to access, configure, and manage as your work grows—from choosing a model
|
|
15
|
-
to coordinating agents and shaping your own workflows.
|
|
16
|
-
|
|
17
|
-
- **Efficiency that turns into more work.** Cache-aware context, focused
|
|
13
|
+
- **More work for your budget.** Cache-aware context, focused
|
|
18
14
|
tools, and compaction reduce overhead so more of your budget goes toward
|
|
19
|
-
the task. The same-model Terminal-Bench comparisons below show comparable
|
|
20
|
-
or better results with
|
|
21
|
-
- **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- **
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
the task. The published same-model Terminal-Bench comparisons below show comparable
|
|
16
|
+
or better results with smaller contexts and lower costs at the same API rates.
|
|
17
|
+
- **Easy to start. Simple to manage.** Guided setup and visual controls
|
|
18
|
+
help you choose models, assign agent roles, and configure workflows without
|
|
19
|
+
becoming an expert in agent infrastructure or building your own stack.
|
|
20
|
+
- **One workspace, your way.** In Desktop, organize parallel sessions with
|
|
21
|
+
tabs and split panes, customize agents and workflows, and keep token
|
|
22
|
+
statistics and supported provider limits in view.
|
|
27
23
|
|
|
28
24
|
Use supported subscription accounts, API keys, or Mixdog's built-in Local Provider.
|
|
29
25
|
Take the same agent beyond code into browsers, Windows apps, documents,
|
|
@@ -59,6 +55,37 @@ mixdog
|
|
|
59
55
|
First run guides you through provider authentication, model selection, and
|
|
60
56
|
workflow setup.
|
|
61
57
|
|
|
58
|
+
## One workspace for your sessions and agents
|
|
59
|
+
|
|
60
|
+
Run multiple AI sessions side by side and manage your agents in Desktop.
|
|
61
|
+
Combine tabs and split panes, customize how you work, and keep token usage
|
|
62
|
+
and supported provider limits in view.
|
|
63
|
+
|
|
64
|
+
- **Multiple sessions, manageable agents.** Keep separate tasks in separate
|
|
65
|
+
sessions and work on them in parallel. Manage agent definitions, assign
|
|
66
|
+
models by role, and configure workflows in one app instead of assembling
|
|
67
|
+
your own agent stack.
|
|
68
|
+
- **Tabs and split panes—together.** Use tabs to organize sessions and split
|
|
69
|
+
panes to follow several side by side. Each pane can hold its own tabs, so
|
|
70
|
+
you do not have to choose between quick switching and a simultaneous view.
|
|
71
|
+
- **Make the workspace your own.** Visual controls put layout, providers,
|
|
72
|
+
models, agent rules, workflows, and extensions within easy reach. The model
|
|
73
|
+
picker shows pricing, context limits, and capability metadata to help you
|
|
74
|
+
choose—not just a list of model names.
|
|
75
|
+
- **See where your tokens go.** Usage statistics break down token totals by
|
|
76
|
+
provider and model, including input, output, cache hits, and cache hit rate,
|
|
77
|
+
with trends and cost figures. Subscription values use list prices; API
|
|
78
|
+
costs may be estimates. Neither is an invoice.
|
|
79
|
+
- **Keep remaining usage in sight.** The usage panel brings supported
|
|
80
|
+
providers' quota windows and reset times together, reducing trips to
|
|
81
|
+
separate account dashboards. Available figures depend on the provider.
|
|
82
|
+
- **Less window switching.** Chat, a Monaco code editor, Git, terminals, and
|
|
83
|
+
a file explorer share one workspace, keeping the conversation close to the
|
|
84
|
+
files and changes you are working on.
|
|
85
|
+
- **Pick up on another screen.** Continue the same live session from Desktop,
|
|
86
|
+
TUI, or a paired browser on your computer or phone, without starting a
|
|
87
|
+
separate conversation.
|
|
88
|
+
|
|
62
89
|
## Benchmarks
|
|
63
90
|
|
|
64
91
|
Terminal-Bench 2.1 — same model, same 89 tasks, same official verifier, with
|
|
@@ -100,16 +127,80 @@ task checksums, and the usage snapshots behind every cost figure — alongside
|
|
|
100
127
|
the harness, presets, and metric scripts that recompute each number above:
|
|
101
128
|
[`benchmarks/terminal-bench-2.1/`](benchmarks/terminal-bench-2.1/).
|
|
102
129
|
|
|
130
|
+
## Less overhead. More budget for the work.
|
|
131
|
+
|
|
132
|
+
Mixdog reduces the overhead of repeatedly sending context, re-explaining
|
|
133
|
+
requirements, and rediscovering prior work. Focused tools keep unnecessary
|
|
134
|
+
text out of the prompt, while provider-aware caching reuses stable input.
|
|
135
|
+
|
|
136
|
+
Compaction keeps long conversations manageable with a handoff for continuing
|
|
137
|
+
the task. Optional idle-time compaction reduces the history resent after
|
|
138
|
+
long breaks, when provider caches may have expired. Approved memory and
|
|
139
|
+
past-work retrieval help carry earlier decisions and requirements forward
|
|
140
|
+
without loading the entire conversation archive into every prompt.
|
|
141
|
+
|
|
142
|
+
You do not have to use the same high-cost model for every role. Choose models
|
|
143
|
+
by role and workflow to focus your budget on the work that needs them.
|
|
144
|
+
|
|
145
|
+
The benchmarks above measure single-model, single-session runs without
|
|
146
|
+
personal memory, sub-agent delegation, or helper-model lookups. Their cost
|
|
147
|
+
figures already account for cache usage; savings in ongoing work depend on
|
|
148
|
+
the provider, workload, and configuration.
|
|
149
|
+
|
|
150
|
+
## How Mixdog keeps context lean
|
|
151
|
+
|
|
152
|
+
Efficiency comes from several layers working together, not just a shorter
|
|
153
|
+
prompt or a larger context window:
|
|
154
|
+
|
|
155
|
+
1. **Lightweight system instructions** — continuously refined rules keep
|
|
156
|
+
operating guidance focused without repeating the same policy.
|
|
157
|
+
2. **Purpose-built tools** — scoped queries, batched calls, and bounded
|
|
158
|
+
results retrieve the evidence a task needs instead of dumping whole files.
|
|
159
|
+
3. **Built-in ast-grep and code graphs** — parsed symbols, signatures, calls,
|
|
160
|
+
and imports answer structural questions without repeated text searches.
|
|
161
|
+
4. **Provider-aware caching** — stable prompt layers and provider-specific
|
|
162
|
+
cache controls help reuse context that has already been processed.
|
|
163
|
+
5. **Structured compaction** — a task handoff, the latest request, and a
|
|
164
|
+
bounded execution history keep long sessions moving.
|
|
165
|
+
6. **Idle-time context reduction** — configurable automatic compaction
|
|
166
|
+
reduces the context sent after long idle gaps, when caches may be cold.
|
|
167
|
+
7. **On-demand prompt loading** — skill bodies and deferred tool schemas
|
|
168
|
+
load when needed; stable instructions stay separate from changing state.
|
|
169
|
+
8. **Database-backed long-term memory** — retrieve relevant history instead
|
|
170
|
+
of injecting the whole archive into every session.
|
|
171
|
+
9. **Tool-result reduction** — repeated results become short references,
|
|
172
|
+
while large outputs can be saved separately and returned as previews.
|
|
173
|
+
|
|
174
|
+
Caching can reduce repeated processing and input cost, but cached tokens
|
|
175
|
+
still count toward the model's context limit. Compaction, selective retrieval,
|
|
176
|
+
and output reduction reduce the amount of context the model needs. See
|
|
177
|
+
[Context efficiency](docs/context-efficiency.md) for the mechanisms,
|
|
178
|
+
implementation references, and limits.
|
|
179
|
+
|
|
103
180
|
## What you can do
|
|
104
181
|
|
|
105
182
|
### Build, test, and review
|
|
106
183
|
|
|
107
|
-
Search repositories with text and
|
|
184
|
+
Search repositories with text and AST-based tools, edit files, run tests
|
|
108
185
|
and background commands, and review changes. Desktop brings the agent together
|
|
109
186
|
with a Monaco editor, Git, terminals, and a file explorer. Use workflows and
|
|
110
187
|
role-specific models to organize work, and extend the toolset with MCP
|
|
111
188
|
servers, skills, hooks, and plugins.
|
|
112
189
|
|
|
190
|
+
**Code graph.** Inspect exports, signatures, and nested members; locate
|
|
191
|
+
declarations and references; trace calls and imports; and assess which files
|
|
192
|
+
a change may affect. Call relationships come from parsed call sites rather than
|
|
193
|
+
text matches, and identifier references exclude comment-only mentions.
|
|
194
|
+
The native engine embeds tree-sitter and ast-grep, parses 31 languages, and
|
|
195
|
+
extracts symbols and imports for 24. Capabilities vary by language; this is
|
|
196
|
+
structural navigation, not a replacement for a compiler's type analysis.
|
|
197
|
+
|
|
198
|
+
**Code Tidy.** Install the built-in capability to format, lint, and check
|
|
199
|
+
structural rules through the agent. It respects project configuration and
|
|
200
|
+
uses project-local, system-installed, or supported managed engines.
|
|
201
|
+
Fixes are previewed without changing files unless explicitly applied. See
|
|
202
|
+
[Code Tidy](docs/code-tidy.md) for engine setup and rule coverage.
|
|
203
|
+
|
|
113
204
|
The GitHub integration manages repositories, issues, pull requests and reviews,
|
|
114
205
|
Actions, releases, and notifications. Source Control commits use a manually
|
|
115
206
|
entered summary and optional description; there is no built-in AI commit-message
|
|
@@ -118,11 +209,18 @@ operations and permission requirements.
|
|
|
118
209
|
|
|
119
210
|
### Keep longer work moving
|
|
120
211
|
|
|
121
|
-
Resume saved chats
|
|
122
|
-
search
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
212
|
+
Resume saved chats and recall prior work through local semantic and lexical
|
|
213
|
+
search. Long-term memory separates searchable conversation history (`recall`)
|
|
214
|
+
from approved shared or project-scoped preferences (`memory`); generated
|
|
215
|
+
conversation summaries do not become standing instructions.
|
|
216
|
+
|
|
217
|
+
Compaction keeps long conversations manageable while retaining the latest
|
|
218
|
+
request and the context needed to continue. Configurable idle-time compaction
|
|
219
|
+
can also reduce input cost when resuming after a long idle period, when the
|
|
220
|
+
provider's cache may have expired.
|
|
221
|
+
For an explicitly requested longer-running objective, **Goals** track
|
|
222
|
+
completion conditions and tasks, support time limits and automatic
|
|
223
|
+
continuation, and let you pause or resume the work.
|
|
126
224
|
|
|
127
225
|
### Work beyond the repository
|
|
128
226
|
|
|
@@ -135,8 +233,12 @@ and automatic continuation, and let you pause or resume the work.
|
|
|
135
233
|
`browser_devtools`.
|
|
136
234
|
- **Computer Use on Windows** — operate native apps through accessibility,
|
|
137
235
|
screenshots, OCR, keyboard, and pointer input with guarded execution.
|
|
236
|
+
An overlay provides Stop and Resume controls.
|
|
138
237
|
- **Documents** — create and edit Word, Excel, and PowerPoint files, work
|
|
139
|
-
with PDFs, and
|
|
238
|
+
with PDFs, and review rendered previews alongside automated checks.
|
|
239
|
+
Use portable OOXML editing without Microsoft Office, or Microsoft Office
|
|
240
|
+
automation on Windows. Rendering and spreadsheet recalculation depend on
|
|
241
|
+
the available engines. See [Office runtime](src/runtime/office/README.md).
|
|
140
242
|
- **Image and video Studio** — generate and edit images, generate short video
|
|
141
243
|
clips, and keep the results in a persistent local gallery. Continue a clip
|
|
142
244
|
by using its last frame as the reference for a new generation; this carries
|
|
@@ -247,7 +349,7 @@ diagnostics remain on stderr.
|
|
|
247
349
|
/inherit carry this conversation into a new session on the current model
|
|
248
350
|
/compact compact older conversation context
|
|
249
351
|
/goal start, inspect, pause, or resume a durable session Goal
|
|
250
|
-
/autoclear manage idle-time context
|
|
352
|
+
/autoclear manage idle-time context compaction
|
|
251
353
|
/context inspect the current context surface
|
|
252
354
|
/usage show provider quota and balance
|
|
253
355
|
/providers configure provider authentication
|
|
@@ -300,6 +402,7 @@ The workspace includes:
|
|
|
300
402
|
- Split panes for parallel, independently routed agent sessions
|
|
301
403
|
- Live session handoff between the TUI, desktop windows, and paired browsers
|
|
302
404
|
- Monaco editor, LSP integration, diffs, and turn-by-turn edit review
|
|
405
|
+
- Built-in code graph navigation and installable Code Tidy checks and fixes
|
|
303
406
|
- Git staging, commits with manually entered messages, and branches
|
|
304
407
|
- GitHub repositories, issues, pull requests, reviews, Actions, releases,
|
|
305
408
|
and notifications
|
|
@@ -313,7 +416,7 @@ The workspace includes:
|
|
|
313
416
|
progress and controls
|
|
314
417
|
- Voice dictation with an optional local transcription runtime
|
|
315
418
|
- Extensions hub with guided setup for Git & GitHub, Memory, Browser Use,
|
|
316
|
-
Computer Use, Office, Local Provider, and voice
|
|
419
|
+
Computer Use, Office, Code Tidy, Local Provider, and voice
|
|
317
420
|
- Provider setup, usage, git identity, and remote pairing settings
|
|
318
421
|
|
|
319
422
|
In **Extensions**, the **Plugin** tab manages integrations and built-in
|
|
@@ -344,6 +447,23 @@ Useful environment variables:
|
|
|
344
447
|
- `MIXDOG_MODE=ship|dev` — select shipping or development diagnostics.
|
|
345
448
|
- `MIXDOG_DIAGNOSTICS=1` — force diagnostic trace and log output.
|
|
346
449
|
|
|
450
|
+
## Core technology
|
|
451
|
+
|
|
452
|
+
| Layer | Stack |
|
|
453
|
+
| --- | --- |
|
|
454
|
+
| Shared agent runtime | Node.js and ECMAScript modules, shared by CLI and Desktop |
|
|
455
|
+
| Terminal UI | React and Ink |
|
|
456
|
+
| Desktop workspace | Electron, React, TypeScript, Monaco, and xterm.js |
|
|
457
|
+
| Native code tools | Rust, tree-sitter, and embedded ast-grep for parsing, structural queries, and rule-based checks |
|
|
458
|
+
| Browser automation | Chromium and the Chrome DevTools Protocol (CDP) |
|
|
459
|
+
| Long-term memory | Managed local PostgreSQL with pgvector and full-text search |
|
|
460
|
+
| Documents | Portable OOXML and PDF tooling, plus Microsoft Office automation on Windows |
|
|
461
|
+
|
|
462
|
+
These components serve different roles: native tools analyze code, database
|
|
463
|
+
retrieval keeps historical context selective, and provider-specific caching
|
|
464
|
+
reduces repeated model processing. See [Context efficiency](docs/context-efficiency.md)
|
|
465
|
+
for how they work with prompt management and compaction.
|
|
466
|
+
|
|
347
467
|
## Development
|
|
348
468
|
|
|
349
469
|
```bash
|
|
@@ -379,7 +499,7 @@ Main directories:
|
|
|
379
499
|
src/ CLI, TUI, runtime, workflows, agents, and rules
|
|
380
500
|
apps/desktop/ cross-platform desktop app
|
|
381
501
|
apps/relay/ remote web app and relay
|
|
382
|
-
native/ native process, search, patch, and support binaries
|
|
502
|
+
native/ native process, search, graph, patch, and support binaries
|
|
383
503
|
scripts/ tests, diagnostics, benchmarks, and build scripts
|
|
384
504
|
benchmarks/ reproducible benchmark harnesses, results, and raw artifacts
|
|
385
505
|
src/vendor/ vendored runtime components
|
package/package.json
CHANGED
|
@@ -79,20 +79,21 @@ try {
|
|
|
79
79
|
const toolEvents = [];
|
|
80
80
|
const askOptions = {
|
|
81
81
|
onAssistantToolCallObserved: (call) => toolEvents.push({ kind: 'call', name: call?.name || call?.tool || '?' }),
|
|
82
|
-
onToolResult: (message) =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
onToolResult: (message) =>
|
|
83
|
+
toolEvents.push({
|
|
84
|
+
kind: 'result',
|
|
85
|
+
name: message?.name || message?.tool || '?',
|
|
86
|
+
preview: String(message?.content ?? message?.output ?? '').slice(0, 200),
|
|
87
|
+
}),
|
|
87
88
|
};
|
|
88
89
|
const ask1 = await runtime.ask(
|
|
89
|
-
'Delegate one task via the agent tool. If `agent` is not directly callable, first call '
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
askOptions
|
|
90
|
+
'Delegate one task via the agent tool. If `agent` is not directly callable, first call ' +
|
|
91
|
+
`load_tool with names=['agent'] to activate it. Then call agent with exactly type=spawn, agent=${WORKER_AGENT} and prompt ` +
|
|
92
|
+
"'Read package.json in the current repo and reply with exactly the value of its name field, one word, nothing else.' " +
|
|
93
|
+
'Do NOT set provider/model/effort (routing decides). Do not use read/grep/shell yourself. ' +
|
|
94
|
+
'After the spawn tool call returns, reply with exactly: SPAWNED. ' +
|
|
95
|
+
'Only if activating AND calling the agent tool both fail, reply exactly: AGENT_UNAVAILABLE',
|
|
96
|
+
askOptions
|
|
96
97
|
);
|
|
97
98
|
const spawnReply = String(ask1?.result?.content || '');
|
|
98
99
|
process.stdout.write(`turn1 tools: ${JSON.stringify(toolEvents)}\n`);
|
|
@@ -111,45 +112,71 @@ try {
|
|
|
111
112
|
scope = status.agentScope || scope;
|
|
112
113
|
const workers = status.agentWorkers || [];
|
|
113
114
|
if (!sawWorkerRow && workers.length > 0) sawWorkerRow = workers[0];
|
|
114
|
-
terminalJob =
|
|
115
|
-
(job) => /completed|failed|cancelled/i.test(String(job.status))
|
|
116
|
-
) || null;
|
|
115
|
+
terminalJob =
|
|
116
|
+
(status.agentJobs || []).find((job) => /completed|failed|cancelled/i.test(String(job.status))) || null;
|
|
117
117
|
if (!terminalJob) await sleep(300);
|
|
118
118
|
}
|
|
119
|
-
process.stdout.write(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
process.stdout.write(
|
|
120
|
+
`final status surface: ${JSON.stringify({
|
|
121
|
+
workers: lastStatus?.agentWorkers || [],
|
|
122
|
+
jobs: lastStatus?.agentJobs || [],
|
|
123
|
+
}).slice(0, 1_500)}\n`
|
|
124
|
+
);
|
|
125
|
+
check(
|
|
126
|
+
Boolean(sawWorkerRow),
|
|
127
|
+
'worker visible on the session agent status surface',
|
|
128
|
+
sawWorkerRow ? `tag=${sawWorkerRow.tag} stage=${sawWorkerRow.stage}` : 'never appeared'
|
|
129
|
+
);
|
|
125
130
|
check(Boolean(terminalJob), 'agent job reached a terminal state');
|
|
126
|
-
check(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
`
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
check(
|
|
132
|
+
terminalJob?.status === 'completed',
|
|
133
|
+
'agent job completed without error',
|
|
134
|
+
`status=${terminalJob?.status} error=${terminalJob?.error || 'none'}`
|
|
135
|
+
);
|
|
136
|
+
check(
|
|
137
|
+
Boolean(terminalJob?.provider && terminalJob?.model),
|
|
138
|
+
'routing rules resolved the worker route',
|
|
139
|
+
`agent=${terminalJob?.agent} route=${terminalJob?.provider}/${terminalJob?.model} preset=${terminalJob?.preset || '-'}`
|
|
140
|
+
);
|
|
141
|
+
check(
|
|
142
|
+
scope?.sessionId === runtime.id,
|
|
143
|
+
'agent status surface is scoped to the owner session',
|
|
144
|
+
`scope=${JSON.stringify(scope)} lead=${runtime.id}`
|
|
145
|
+
);
|
|
132
146
|
await sleep(500);
|
|
133
|
-
check(notifications.length > 0, 'owner received the completion notification',
|
|
134
|
-
`count=${notifications.length}`);
|
|
147
|
+
check(notifications.length > 0, 'owner received the completion notification', `count=${notifications.length}`);
|
|
135
148
|
|
|
136
149
|
// Mirror the surface's notification injection into the next Lead turn.
|
|
137
|
-
const notifText = notifications
|
|
138
|
-
|
|
139
|
-
|
|
150
|
+
const notifText = notifications
|
|
151
|
+
.map((event) => {
|
|
152
|
+
try {
|
|
153
|
+
return typeof event === 'string' ? event : JSON.stringify(event);
|
|
154
|
+
} catch {
|
|
155
|
+
return String(event);
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
.join('\n')
|
|
159
|
+
.slice(0, 4_000);
|
|
140
160
|
const ask2 = await runtime.ask(
|
|
141
|
-
`Agent completion notification:\n${notifText}\n\n`
|
|
142
|
-
|
|
143
|
-
{}
|
|
161
|
+
`Agent completion notification:\n${notifText}\n\n` +
|
|
162
|
+
"Reply with exactly: WORKER_SAID=<the worker's one-word answer from the notification>",
|
|
163
|
+
{}
|
|
144
164
|
);
|
|
145
165
|
const finalReply = String(ask2?.result?.content || '');
|
|
146
|
-
check(/WORKER_SAID=\s*mixdog/i.test(finalReply), 'Lead surfaced the worker result',
|
|
147
|
-
finalReply.slice(0, 160));
|
|
166
|
+
check(/WORKER_SAID=\s*mixdog/i.test(finalReply), 'Lead surfaced the worker result', finalReply.slice(0, 160));
|
|
148
167
|
|
|
149
168
|
process.stdout.write(`verdict: ${failures.length === 0 ? 'PASS' : `FAIL (${failures.join('; ')})`}\n`);
|
|
150
169
|
process.exitCode = failures.length === 0 ? 0 : 1;
|
|
151
170
|
} finally {
|
|
152
|
-
try {
|
|
153
|
-
|
|
171
|
+
try {
|
|
172
|
+
await runtime?.stop?.('lead-e2e-probe-exit');
|
|
173
|
+
} catch {
|
|
174
|
+
/* teardown */
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
rmSync(ROOT, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 });
|
|
178
|
+
} catch {
|
|
179
|
+
/* temp */
|
|
180
|
+
}
|
|
154
181
|
}
|
|
155
182
|
process.exit(process.exitCode || 0);
|
|
@@ -52,31 +52,36 @@ const mgr = await import('../src/runtime/agent/orchestrator/session/manager.mjs'
|
|
|
52
52
|
const { createStandaloneAgent } = await import('../src/standalone/agent-tool.mjs');
|
|
53
53
|
const { ensureDaemon, readSessionDiscovery, shutdownDaemon } = await import('../src/standalone/session-client.mjs');
|
|
54
54
|
|
|
55
|
-
function sleep(ms) {
|
|
55
|
+
function sleep(ms) {
|
|
56
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
57
|
+
}
|
|
56
58
|
|
|
57
59
|
try {
|
|
58
60
|
await ensureDaemon({ cwd: REPO, log: () => {} });
|
|
59
61
|
const agent = createStandaloneAgent({ cfgMod, reg, mgr, dataDir: join(ROOT, 'data-probe'), cwd: REPO });
|
|
60
62
|
const t0 = Date.now();
|
|
61
|
-
const out = await agent.execute(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
const out = await agent.execute(
|
|
64
|
+
{
|
|
65
|
+
type: 'spawn',
|
|
66
|
+
agent: 'worker',
|
|
67
|
+
provider: PROVIDER,
|
|
68
|
+
model: MODEL,
|
|
69
|
+
effort: EFFORT,
|
|
70
|
+
tag: 'turn-trace',
|
|
71
|
+
cwd: REPO,
|
|
72
|
+
prompt: [
|
|
73
|
+
'Execute these steps strictly IN ORDER, exactly ONE tool call per assistant message',
|
|
74
|
+
'(never batch two calls in one message — this measures sequential rounds):',
|
|
75
|
+
'1) read package.json',
|
|
76
|
+
'2) read README.md (first 40 lines)',
|
|
77
|
+
'3) run the shell command: node -v',
|
|
78
|
+
'4) read apps/desktop/package.json',
|
|
79
|
+
'5) grep the string "createSessionRuntimeHost" under src/standalone (files list only)',
|
|
80
|
+
'Then reply with one line: DONE <package name> <node version>. Do not edit anything.',
|
|
81
|
+
].join('\n'),
|
|
82
|
+
},
|
|
83
|
+
{ invocationSource: 'model-tool', cwd: REPO }
|
|
84
|
+
);
|
|
80
85
|
const id = String(out).match(/agent task: (\S+)/)?.[1];
|
|
81
86
|
if (!id) throw new Error(`no task id: ${out}`);
|
|
82
87
|
let last = '';
|
|
@@ -86,41 +91,68 @@ try {
|
|
|
86
91
|
await sleep(500);
|
|
87
92
|
}
|
|
88
93
|
process.stdout.write(`wall=${((Date.now() - t0) / 1000).toFixed(1)}s\n--- result ---\n${last.slice(0, 400)}\n`);
|
|
89
|
-
try {
|
|
94
|
+
try {
|
|
95
|
+
agent.closeAll('turn-trace probe end');
|
|
96
|
+
} catch {
|
|
97
|
+
/* teardown */
|
|
98
|
+
}
|
|
90
99
|
|
|
91
100
|
// The runtime worker flushes its local trace buffer on a short timer.
|
|
92
101
|
await sleep(9_000);
|
|
93
102
|
const rows = existsSync(TRACE_PATH)
|
|
94
|
-
? readFileSync(TRACE_PATH, 'utf8')
|
|
95
|
-
|
|
96
|
-
|
|
103
|
+
? readFileSync(TRACE_PATH, 'utf8')
|
|
104
|
+
.split('\n')
|
|
105
|
+
.filter(Boolean)
|
|
106
|
+
.flatMap((line) => {
|
|
107
|
+
try {
|
|
108
|
+
return [JSON.parse(line)];
|
|
109
|
+
} catch {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
})
|
|
97
113
|
: [];
|
|
98
114
|
process.stdout.write(`--- trace (${rows.length} rows) ---\n`);
|
|
99
115
|
for (const row of rows) {
|
|
100
116
|
if (row.kind === 'loop') {
|
|
101
|
-
process.stdout.write(
|
|
102
|
-
|
|
103
|
-
|
|
117
|
+
process.stdout.write(
|
|
118
|
+
`[loop] iter=${row.iteration ?? row.payload?.iteration} send=${row.send_ms ?? row.payload?.send_ms}ms` +
|
|
119
|
+
` preSend=${row.pre_send_ms ?? row.payload?.pre_send_ms}ms toolResume=${row.tool_resume_ms ?? row.payload?.tool_resume_ms}ms` +
|
|
120
|
+
` msgs=${row.message_count ?? row.payload?.message_count}\n`
|
|
121
|
+
);
|
|
104
122
|
} else if (row.kind === 'sse') {
|
|
105
123
|
process.stdout.write(`[sse] ttft=${row.ttft_ms}ms streamTotal=${row.stream_total_ms}ms\n`);
|
|
106
124
|
} else if (row.kind === 'turn_timing') {
|
|
107
|
-
process.stdout.write(
|
|
108
|
-
|
|
125
|
+
process.stdout.write(
|
|
126
|
+
`[turn] status=${row.status} ttft=${row.ttft_ms}ms e2eTtft=${row.end_to_end_ttft_ms}ms` +
|
|
127
|
+
` queue=${row.queue_ms}ms route=${row.route_ms}ms preflight=${row.preflight_ms}ms provider=${row.provider_ms}ms\n`
|
|
128
|
+
);
|
|
109
129
|
} else if (row.kind === 'usage_raw') {
|
|
110
|
-
process.stdout.write(
|
|
111
|
-
|
|
112
|
-
|
|
130
|
+
process.stdout.write(
|
|
131
|
+
`[usage] iter=${row.iteration} input=${row.input_tokens} cached=${row.cached_tokens}` +
|
|
132
|
+
` cacheWrite=${row.cache_write_tokens} uncached=${row.uncached_input_tokens} output=${row.output_tokens}` +
|
|
133
|
+
` chain=${row.chain_continuous ?? '-'}\n`
|
|
134
|
+
);
|
|
113
135
|
} else if (row.kind === 'tool') {
|
|
114
136
|
const p = row.payload || row;
|
|
115
|
-
process.stdout.write(
|
|
116
|
-
|
|
137
|
+
process.stdout.write(
|
|
138
|
+
`[tool] ${row.tool || row.tool_name || p.tool || p.tool_name || ''}` +
|
|
139
|
+
` ${row.duration_ms ?? row.tool_ms ?? p.duration_ms ?? p.tool_ms ?? '?'}ms\n`
|
|
140
|
+
);
|
|
117
141
|
} else {
|
|
118
142
|
process.stdout.write(`[${row.kind}] ${JSON.stringify(row).slice(0, 220)}\n`);
|
|
119
143
|
}
|
|
120
144
|
}
|
|
121
145
|
} finally {
|
|
122
|
-
try {
|
|
146
|
+
try {
|
|
147
|
+
await shutdownDaemon(readSessionDiscovery());
|
|
148
|
+
} catch {
|
|
149
|
+
/* teardown */
|
|
150
|
+
}
|
|
123
151
|
await sleep(300);
|
|
124
|
-
try {
|
|
152
|
+
try {
|
|
153
|
+
rmSync(ROOT, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 });
|
|
154
|
+
} catch {
|
|
155
|
+
/* temp */
|
|
156
|
+
}
|
|
125
157
|
}
|
|
126
158
|
process.exit(0);
|