mixdog 1.2.5 → 1.3.0
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/LICENSES/simple-icons-CC0-1.0.txt +30 -0
- package/NOTICE.md +19 -0
- package/package.json +4 -1
- package/scripts/check-model-recommendations.mjs +89 -0
- package/scripts/gate-local.mjs +7 -0
- package/scripts/lib/gate-scheduler.mjs +2 -2
- package/scripts/lib/isolated-test-env.mjs +16 -0
- package/scripts/lib/run-node-tests.mjs +5 -14
- package/scripts/provider-pingpong-live.mjs +9 -9
- package/src/agents/advisor/AGENT.md +4 -4
- package/src/agents/advisor/agent.json +1 -1
- package/src/agents/reviewer/AGENT.md +5 -4
- package/src/agents/reviewer/agent.json +1 -1
- package/src/defaults/shipped-history.json +17 -0
- package/src/defaults/skills/browser-use/SKILL.md +7 -1
- package/src/defaults/skills/computer-use/SKILL.md +3 -1
- package/src/defaults/skills/memory-management/SKILL.md +4 -1
- package/src/defaults/skills/setup/references/actions.md +11 -4
- package/src/defaults/skills/setup-guide/SKILL.md +175 -0
- package/src/defaults/skills/setup-guide/model-recommendations.json +333 -0
- package/src/defaults/skills/visualize/SKILL.md +3 -2
- package/src/lib/rules-builder.cjs +56 -7
- package/src/output-styles/common.md +22 -6
- package/src/output-styles/detailed.md +7 -5
- package/src/output-styles/minimal.md +7 -3
- package/src/output-styles/simple.md +2 -3
- package/src/rules/agent/AGENT.md +7 -1
- package/src/rules/agent-mode/AGENT_MODE.md +24 -0
- package/src/rules/agent-mode/MIXY.md +21 -0
- package/src/rules/agent-mode/ROUTINE.md +6 -0
- package/src/rules/lead/LEAD.md +9 -4
- package/src/rules/shared/10-tool-workflow.md +2 -1
- package/src/rules/shared/60-verification.md +4 -5
- package/src/rules/shared/70-delivery.md +3 -0
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +2 -1
- package/src/runtime/agent/orchestrator/agent-runtime/room-supervisor-completion.mjs +86 -0
- package/src/runtime/agent/orchestrator/config.mjs +6 -0
- package/src/runtime/agent/orchestrator/context/deferred-tools.mjs +77 -14
- package/src/runtime/agent/orchestrator/context/role-instructions.mjs +182 -13
- package/src/runtime/agent/orchestrator/context/skill-catalog.mjs +5 -3
- package/src/runtime/agent/orchestrator/internal-agents.mjs +10 -0
- package/src/runtime/agent/orchestrator/mcp/agent-connectors.mjs +215 -0
- package/src/runtime/agent/orchestrator/mcp/child-tree.mjs +58 -64
- package/src/runtime/agent/orchestrator/mcp/client-transport.mjs +10 -1
- package/src/runtime/agent/orchestrator/mcp/client.mjs +122 -15
- package/src/runtime/agent/orchestrator/mcp/oauth-account.mjs +97 -0
- package/src/runtime/agent/orchestrator/mcp/oauth-callback.mjs +2 -3
- package/src/runtime/agent/orchestrator/mcp/oauth-client.mjs +49 -0
- package/src/runtime/agent/orchestrator/mcp/oauth-credentials.mjs +59 -9
- package/src/runtime/agent/orchestrator/mcp/oauth-login.mjs +32 -7
- package/src/runtime/agent/orchestrator/mcp/oauth-provider.mjs +45 -6
- package/src/runtime/agent/orchestrator/mcp/oauth.mjs +195 -6
- package/src/runtime/agent/orchestrator/mcp/server-connectors.mjs +17 -0
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +9 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth-credentials.mjs +41 -19
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth.mjs +3 -2
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events/content-block-start.mjs +4 -1
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn/turn-events.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-sse-turn.mjs +3 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-sse.mjs +2 -1
- package/src/runtime/agent/orchestrator/providers/anthropic.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-login.mjs +11 -5
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth-tokens.mjs +4 -0
- package/src/runtime/agent/orchestrator/providers/catalog-deadline.mjs +163 -0
- package/src/runtime/agent/orchestrator/providers/catalog-failures.mjs +34 -0
- package/src/runtime/agent/orchestrator/providers/cursor-client-version.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/grok-oauth-login.mjs +38 -14
- package/src/runtime/agent/orchestrator/providers/lib/oauth-page.mjs +100 -26
- package/src/runtime/agent/orchestrator/providers/lib/send-callbacks.mjs +24 -0
- package/src/runtime/agent/orchestrator/providers/oauth-credential-probes.mjs +13 -0
- package/src/runtime/agent/orchestrator/providers/oauth-usage.mjs +2 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-send.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/chunk-events.mjs +4 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream/stream-state.mjs +3 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-chat-stream.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-models.mjs +49 -4
- package/src/runtime/agent/orchestrator/providers/openai-compat-presets.mjs +0 -7
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses-events.mjs +7 -1
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-xai-send.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-error-contract.mjs +17 -12
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state/response-events.mjs +5 -1
- package/src/runtime/agent/orchestrator/providers/openai-http-sse-response-state.mjs +11 -2
- package/src/runtime/agent/orchestrator/providers/openai-oauth-http-sse.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-login.mjs +45 -16
- package/src/runtime/agent/orchestrator/providers/openai-oauth-tokens.mjs +10 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-ws.mjs +1 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-connect.mjs +196 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-pool.mjs +74 -9
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream/event-switch.mjs +14 -1
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream.mjs +2 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go-oauth-login.mjs +194 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go-oauth-tokens.mjs +353 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go-oauth.mjs +293 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go-usage.mjs +33 -100
- package/src/runtime/agent/orchestrator/providers/opencode-go.mjs +23 -14
- package/src/runtime/agent/orchestrator/providers/registry.mjs +41 -27
- package/src/runtime/agent/orchestrator/runtime-core/ask-user-tool-defs.mjs +98 -4
- package/src/runtime/agent/orchestrator/runtime-core/context-status-shape.mjs +4 -0
- package/src/runtime/agent/orchestrator/runtime-core/extension-scopes.mjs +6 -4
- package/src/runtime/agent/orchestrator/runtime-core/orchestration.mjs +15 -8
- package/src/runtime/agent/orchestrator/runtime-core/plugin-mcp.mjs +1 -0
- package/src/runtime/agent/orchestrator/runtime-core/tool-bridge.mjs +12 -6
- package/src/runtime/agent/orchestrator/runtime-core/tool-catalog.mjs +32 -5
- package/src/runtime/agent/orchestrator/runtime-core/tool-defs.mjs +10 -4
- package/src/runtime/agent/orchestrator/runtime-core/workflow/agents.mjs +4 -1
- package/src/runtime/agent/orchestrator/runtime-core/workflow/context.mjs +50 -20
- package/src/runtime/agent/orchestrator/runtime-core/workflow-ids.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/agent-home.d.mts +4 -0
- package/src/runtime/agent/orchestrator/session/agent-home.mjs +33 -0
- package/src/runtime/agent/orchestrator/session/agent-mode.mjs +62 -0
- package/src/runtime/agent/orchestrator/session/agent-pool-progress.mjs +15 -3
- package/src/runtime/agent/orchestrator/session/agent-room-supervisor.d.mts +31 -0
- package/src/runtime/agent/orchestrator/session/agent-room-supervisor.mjs +241 -0
- package/src/runtime/agent/orchestrator/session/agent-room.d.mts +162 -0
- package/src/runtime/agent/orchestrator/session/agent-room.mjs +641 -0
- package/src/runtime/agent/orchestrator/session/catalog-db/schema.mjs +7 -1
- package/src/runtime/agent/orchestrator/session/compact/execution-tail.mjs +74 -13
- package/src/runtime/agent/orchestrator/session/compact/forked-summary.mjs +102 -0
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +8 -2
- package/src/runtime/agent/orchestrator/session/compact/summary.mjs +16 -0
- package/src/runtime/agent/orchestrator/session/compact/user-message-kind.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/compaction-archive-capture.mjs +6 -2
- package/src/runtime/agent/orchestrator/session/human-gate/gate.mjs +165 -0
- package/src/runtime/agent/orchestrator/session/human-gate/held-message.mjs +95 -0
- package/src/runtime/agent/orchestrator/session/human-gate/outbound-policy.mjs +221 -0
- package/src/runtime/agent/orchestrator/session/human-gate/requests.mjs +195 -0
- package/src/runtime/agent/orchestrator/session/human-gate/store.mjs +167 -0
- package/src/runtime/agent/orchestrator/session/lifecycle-scan.mjs +9 -0
- package/src/runtime/agent/orchestrator/session/loop/compact-policy.mjs +3 -1
- package/src/runtime/agent/orchestrator/session/loop/fresh-context.mjs +39 -2
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +10 -0
- package/src/runtime/agent/orchestrator/session/loop/send-phase.mjs +16 -1
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/before-hook.mjs +82 -33
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +11 -4
- package/src/runtime/agent/orchestrator/session/loop/tool-exposure-migration.mjs +5 -4
- package/src/runtime/agent/orchestrator/session/loop/tool-helpers.mjs +13 -3
- package/src/runtime/agent/orchestrator/session/loop/usage.mjs +7 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-execute.mjs +1 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-loop-options.mjs +6 -1
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-prepare.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-settle.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-turn-steering-drain.mjs +13 -5
- package/src/runtime/agent/orchestrator/session/manager/pending-lifecycle-epoch.mjs +0 -8
- package/src/runtime/agent/orchestrator/session/manager/pending-message-entry.mjs +10 -7
- package/src/runtime/agent/orchestrator/session/manager/pending-messages.mjs +62 -22
- package/src/runtime/agent/orchestrator/session/manager/prompt-utils.mjs +44 -16
- package/src/runtime/agent/orchestrator/session/manager/rules-cache.mjs +22 -5
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +23 -1
- package/src/runtime/agent/orchestrator/session/manager/session-close.mjs +81 -34
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +39 -4
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +27 -5
- package/src/runtime/agent/orchestrator/session/manager/session-prompt-composition.mjs +55 -8
- package/src/runtime/agent/orchestrator/session/manager/session-record.mjs +16 -0
- package/src/runtime/agent/orchestrator/session/manager/tool-resolution.mjs +3 -2
- package/src/runtime/agent/orchestrator/session/manager/usage-metrics.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/manager/workflow-switch-notice.mjs +58 -0
- package/src/runtime/agent/orchestrator/session/manager.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/mixy-name.mjs +24 -0
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +32 -5
- package/src/runtime/agent/orchestrator/session/request-fork.mjs +47 -0
- package/src/runtime/agent/orchestrator/session/routine-result.d.mts +70 -0
- package/src/runtime/agent/orchestrator/session/routine-result.mjs +277 -0
- package/src/runtime/agent/orchestrator/session/side-question-store.mjs +16 -1
- package/src/runtime/agent/orchestrator/session/side-question.mjs +5 -43
- package/src/runtime/agent/orchestrator/session/store/fs-probe.mjs +10 -0
- package/src/runtime/agent/orchestrator/session/store/lifecycle-barriers.mjs +73 -6
- package/src/runtime/agent/orchestrator/session/store/load-session.mjs +40 -0
- package/src/runtime/agent/orchestrator/session/store/save-fault.mjs +15 -0
- package/src/runtime/agent/orchestrator/session/store/session-paths.mjs +12 -0
- package/src/runtime/agent/orchestrator/session/store/sweep/sweep-row.mjs +8 -0
- package/src/runtime/agent/orchestrator/session/store-agent-worker-header.mjs +36 -0
- package/src/runtime/agent/orchestrator/session/store-agent-worker-rows.mjs +258 -43
- package/src/runtime/agent/orchestrator/session/store-record-strict-scan.mjs +325 -0
- package/src/runtime/agent/orchestrator/session/store-summary-catalog.mjs +84 -21
- package/src/runtime/agent/orchestrator/session/store-summary-index.mjs +44 -12
- package/src/runtime/agent/orchestrator/session/store-summary-last-message.mjs +46 -0
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +46 -30
- package/src/runtime/agent/orchestrator/session/store-summary-visibility.mjs +0 -4
- package/src/runtime/agent/orchestrator/session/store-transcript-cache.mjs +144 -45
- package/src/runtime/agent/orchestrator/session/store-transcript-projection.mjs +32 -13
- package/src/runtime/agent/orchestrator/session/store-transcript-worker.mjs +364 -38
- package/src/runtime/agent/orchestrator/session/store.mjs +9 -2
- package/src/runtime/agent/orchestrator/session/task-wait-control.mjs +43 -12
- package/src/runtime/agent/orchestrator/session/tool-result-offload.mjs +23 -6
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +44 -1
- package/src/runtime/agent/orchestrator/tools/builtin/arg-guard.mjs +12 -6
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/backgrounded-result.mjs +13 -7
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/bashism-rewrite.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/benign-exit.mjs +7 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/completed-result.mjs +40 -7
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/deadline-plan.mjs +37 -34
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/inline-hoist.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/spawn-env.mjs +0 -4
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +6 -0
- package/src/runtime/agent/orchestrator/tools/builtin/builtin-tools.mjs +29 -27
- package/src/runtime/agent/orchestrator/tools/builtin/external-tool-adapters.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/builtin/find-files-tool.mjs +28 -11
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-policy.mjs +12 -3
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +203 -101
- package/src/runtime/agent/orchestrator/tools/builtin/git-repo-rw-lock.mjs +90 -41
- package/src/runtime/agent/orchestrator/tools/builtin/lib/list-helpers.mjs +17 -1
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-delivery.mjs +199 -0
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.mjs +12 -0
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-task-output.mjs +165 -39
- package/src/runtime/agent/orchestrator/tools/builtin/list-tool.mjs +25 -13
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-client.mjs +113 -5
- package/src/runtime/agent/orchestrator/tools/builtin/read-batch.mjs +7 -6
- package/src/runtime/agent/orchestrator/tools/builtin/read-formatting.mjs +19 -4
- package/src/runtime/agent/orchestrator/tools/builtin/read-line-collector.mjs +5 -3
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-render.mjs +25 -7
- package/src/runtime/agent/orchestrator/tools/builtin/read-special-files.mjs +2 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool/batch-render.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/builtin/search-glob-tool.mjs +12 -5
- package/src/runtime/agent/orchestrator/tools/builtin/search-grep-tool.mjs +61 -22
- package/src/runtime/agent/orchestrator/tools/builtin/search-path-diagnostics.mjs +32 -8
- package/src/runtime/agent/orchestrator/tools/builtin/shell-analysis.mjs +193 -19
- package/src/runtime/agent/orchestrator/tools/builtin/shell-direct-exe.mjs +57 -7
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +123 -32
- package/src/runtime/agent/orchestrator/tools/builtin/shell-lossless-compact.mjs +26 -1
- package/src/runtime/agent/orchestrator/tools/builtin/shell-output.mjs +13 -28
- package/src/runtime/agent/orchestrator/tools/builtin/task-tool.mjs +90 -11
- package/src/runtime/agent/orchestrator/tools/builtin/wait-budgets.mjs +23 -0
- package/src/runtime/agent/orchestrator/tools/builtin.mjs +54 -10
- package/src/runtime/agent/orchestrator/tools/code-graph/build.mjs +22 -28
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch.mjs +11 -7
- package/src/runtime/agent/orchestrator/tools/destructive-warning.mjs +126 -9
- package/src/runtime/agent/orchestrator/tools/graph-manifest.json +13 -13
- package/src/runtime/agent/orchestrator/tools/lib/owned-shell-trees.mjs +15 -6
- package/src/runtime/agent/orchestrator/tools/lib/shell-descendants.mjs +64 -2
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background/promote-job.mjs +10 -2
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background/promotion-results.mjs +13 -3
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-settle.mjs +8 -0
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-state.mjs +6 -1
- package/src/runtime/agent/orchestrator/tools/patch/v4a-convert.mjs +1 -1
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +104 -55
- package/src/runtime/agent/orchestrator/tools/shell-policy.mjs +7 -2
- package/src/runtime/agent/orchestrator/tools/shell-powershell.mjs +39 -23
- package/src/runtime/agent/orchestrator/tools/shell-snapshot.mjs +6 -2
- package/src/runtime/agent/orchestrator/tools/spawn-manifest.json +13 -13
- package/src/runtime/attachments/office-extract.mjs +11 -9
- package/src/runtime/browser-bridge/client.mjs +24 -0
- package/src/runtime/channels/lib/scheduler.mjs +40 -12
- package/src/runtime/channels/lib/schedules-db.mjs +71 -12
- package/src/runtime/channels/lib/webhook/session-dispatch.mjs +36 -16
- package/src/runtime/channels/lib/webhook.mjs +0 -1
- package/src/runtime/channels/lib/webhooks-db.mjs +100 -10
- package/src/runtime/channels/lib/worker-main.mjs +17 -20
- package/src/runtime/computer-bridge/client.mjs +28 -1
- package/src/runtime/connectors/gmail-app-password.mjs +690 -0
- package/src/runtime/connectors/google-mcp.mjs +446 -0
- package/src/runtime/memory/lib/core-memory-access.mjs +69 -0
- package/src/runtime/memory/lib/core-memory-file.mjs +16 -8
- package/src/runtime/memory/lib/core-memory-index.mjs +15 -9
- package/src/runtime/memory/lib/core-memory-management.mjs +10 -4
- package/src/runtime/memory/lib/core-memory-store.mjs +53 -30
- package/src/runtime/memory/lib/core-memory-uniqueness.mjs +10 -6
- package/src/runtime/memory/lib/embedding-tokenizer.mjs +32 -18
- package/src/runtime/memory/lib/http-router/session-routes.mjs +3 -2
- package/src/runtime/memory/lib/memory-action-handlers/core-actions.mjs +44 -14
- package/src/runtime/memory/lib/memory-schema/core-and-meta.mjs +11 -0
- package/src/runtime/memory/lib/memory.mjs +7 -1
- package/src/runtime/memory/lib/query-core-recall.mjs +9 -1
- package/src/runtime/memory/lib/query-hybrid-search.mjs +2 -0
- package/src/runtime/memory/lib/runtime-fetcher.mjs +1 -1
- package/src/runtime/memory/lib/tool-call-handler.mjs +9 -5
- package/src/runtime/memory/tool-defs.mjs +5 -0
- package/src/runtime/office/authoring/pptx-script-normalize.mjs +11 -8
- package/src/runtime/office/core/tabular.mjs +1 -1
- package/src/runtime/office/design/library/design-template-inspect.mjs +7 -4
- package/src/runtime/office/portable/docx-formatting.mjs +1 -1
- package/src/runtime/office/portable/docx-runs.mjs +1 -1
- package/src/runtime/office/portable/docx-tracked-edits.mjs +2 -2
- package/src/runtime/office/portable/portable-docx-edits.mjs +11 -10
- package/src/runtime/office/portable/portable-docx-operations.mjs +21 -17
- package/src/runtime/office/portable/portable-docx-parts.mjs +15 -9
- package/src/runtime/office/portable/portable-docx-styles.mjs +4 -1
- package/src/runtime/office/portable/portable-docx-xml.mjs +9 -9
- package/src/runtime/office/portable/portable-opc.mjs +27 -13
- package/src/runtime/office/portable/portable-pivot.mjs +3 -3
- package/src/runtime/office/portable/portable-pptx-chart.mjs +3 -3
- package/src/runtime/office/portable/portable-pptx-charts.mjs +24 -18
- package/src/runtime/office/portable/portable-pptx-core.mjs +5 -5
- package/src/runtime/office/portable/portable-pptx-deck.mjs +8 -4
- package/src/runtime/office/portable/portable-pptx-package.mjs +7 -4
- package/src/runtime/office/portable/portable-pptx-shapes.mjs +18 -9
- package/src/runtime/office/portable/portable-sheet-parts.mjs +9 -3
- package/src/runtime/office/portable/portable-sheet-xml.mjs +5 -5
- package/src/runtime/office/portable/portable-xlsx-charts.mjs +4 -1
- package/src/runtime/office/portable/portable-xlsx-drawings.mjs +10 -6
- package/src/runtime/office/portable/portable-xlsx-operations.mjs +8 -5
- package/src/runtime/office/portable/portable-xlsx-pivot-ops.mjs +1 -1
- package/src/runtime/office/portable/portable-xlsx-reference-shift.mjs +11 -7
- package/src/runtime/office/portable/portable-xlsx-sheet-edits.mjs +6 -3
- package/src/runtime/office/portable/portable-xml.mjs +1 -1
- package/src/runtime/shared/agent-avatar-sprites.mjs +445 -0
- package/src/runtime/shared/agent-avatar.d.mts +64 -0
- package/src/runtime/shared/agent-avatar.mjs +320 -0
- package/src/runtime/shared/agent-route-config.d.mts +3 -0
- package/src/runtime/shared/agent-route-config.mjs +16 -0
- package/src/runtime/shared/atomic-file.mjs +36 -14
- package/src/runtime/shared/background-tasks.mjs +60 -20
- package/src/runtime/shared/child-spawn-gate.mjs +26 -16
- package/src/runtime/shared/config.mjs +8 -11
- package/src/runtime/shared/connector-accounts.mjs +15 -0
- package/src/runtime/shared/connector-catalog.d.mts +52 -0
- package/src/runtime/shared/connector-catalog.mjs +230 -0
- package/src/runtime/shared/connector-triggers.d.mts +3 -0
- package/src/runtime/shared/connector-triggers.mjs +43 -0
- package/src/runtime/shared/file-lock.mjs +7 -1
- package/src/runtime/shared/file-permissions-worker.mjs +38 -0
- package/src/runtime/shared/file-permissions.d.mts +19 -4
- package/src/runtime/shared/file-permissions.mjs +310 -4
- package/src/runtime/shared/git-runner-worker.mjs +6 -78
- package/src/runtime/shared/google-oauth-client.mjs +24 -0
- package/src/runtime/shared/held-request-host.d.mts +12 -0
- package/src/runtime/shared/held-request-host.mjs +71 -0
- package/src/runtime/shared/llm/http-agent.mjs +7 -3
- package/src/runtime/shared/llm/provider-catalog-registry.mjs +10 -0
- package/src/runtime/shared/llm/usage-accounting.mjs +2 -0
- package/src/runtime/shared/llm/usage-ledger-import.mjs +32 -3
- package/src/runtime/shared/llm/usage-ledger-rollup.mjs +12 -5
- package/src/runtime/shared/llm/usage-ledger-worker.mjs +1 -1
- package/src/runtime/shared/llm/usage-ledger.mjs +20 -5
- package/src/runtime/shared/memory-snapshot.mjs +5 -1
- package/src/runtime/shared/notify-trace.mjs +8 -1
- package/src/runtime/shared/plain-preview.d.mts +1 -0
- package/src/runtime/shared/plain-preview.mjs +28 -0
- package/src/runtime/shared/pristine-execution-contract.json +5 -1
- package/src/runtime/shared/process-runner-worker.mjs +7 -0
- package/src/runtime/shared/process-runner.mjs +38 -0
- package/src/runtime/shared/provider-accounts.mjs +2 -1
- package/src/runtime/shared/provider-api-key.mjs +0 -1
- package/src/runtime/shared/read-row-numbers.mjs +1 -1
- package/src/runtime/shared/resource-admission.mjs +60 -18
- package/src/runtime/shared/routine-limits.d.mts +11 -0
- package/src/runtime/shared/routine-limits.mjs +21 -0
- package/src/runtime/shared/routine-trigger.d.mts +10 -0
- package/src/runtime/shared/routine-trigger.mjs +44 -0
- package/src/runtime/shared/run-child.mjs +84 -0
- package/src/runtime/shared/schedule-model-ref.mjs +9 -10
- package/src/runtime/shared/session-activity-signal.mjs +23 -0
- package/src/runtime/shared/shell-output-summary.mjs +23 -0
- package/src/runtime/shared/singleton-owner.mjs +126 -42
- package/src/runtime/shared/slow-span.mjs +4 -12
- package/src/runtime/shared/statusline/statusline-segments.mjs +13 -1
- package/src/runtime/shared/tool-output-limit.mjs +4 -2
- package/src/runtime/shared/tool-output-marker.mjs +58 -0
- package/src/runtime/shared/transcript-metadata.mjs +10 -0
- package/src/runtime/shared/turn-changes.mjs +0 -8
- package/src/runtime/shared/usage-readout-totals.mjs +56 -0
- package/src/runtime/shared/user-data-guard.mjs +131 -34
- package/src/runtime/shared/worktrees/activity-gate.mjs +33 -8
- package/src/runtime/shared/worktrees/git-head.mjs +20 -2
- package/src/runtime/shared/worktrees/lock.mjs +3 -2
- package/src/runtime/terminal-bridge/tool-defs.mjs +1 -1
- package/src/runtime/tidy/runners/biome.mjs +3 -1
- package/src/runtime/tidy/shadow.mjs +2 -1
- package/src/runtime/web-search/index.mjs +5 -7
- package/src/runtime/web-search/lib/formatter.mjs +42 -6
- package/src/runtime/web-search/tool-defs.mjs +6 -1
- package/src/session-runtime/agent-home-delivery.mjs +459 -0
- package/src/session-runtime/agent-profile-changes.mjs +21 -0
- package/src/session-runtime/agent-room-delivery.mjs +92 -0
- package/src/session-runtime/agent-task-sessions.mjs +200 -0
- package/src/session-runtime/boot/apis.mjs +50 -18
- package/src/session-runtime/boot/facade.mjs +5 -8
- package/src/session-runtime/boot/infrastructure.mjs +28 -17
- package/src/session-runtime/boot/tools.mjs +3 -0
- package/src/session-runtime/channel-config-api.mjs +53 -5
- package/src/session-runtime/cwd-plugins/core-memory-context.mjs +36 -20
- package/src/session-runtime/cwd-plugins/plugin-status.mjs +6 -1
- package/src/session-runtime/held-requests.mjs +228 -0
- package/src/session-runtime/internal-tool-executor/ask-user-tool.mjs +121 -0
- package/src/session-runtime/internal-tool-executor/feature-tools.mjs +5 -1
- package/src/session-runtime/internal-tool-executor/knowledge-tools.mjs +31 -2
- package/src/session-runtime/internal-tool-executor/workspace-tools.mjs +31 -2
- package/src/session-runtime/internal-tool-executor.mjs +2 -0
- package/src/session-runtime/lifecycle/session-catalog.mjs +9 -0
- package/src/session-runtime/lifecycle/session-switch/context-switch.mjs +4 -3
- package/src/session-runtime/lifecycle/session-switch/resume.mjs +11 -4
- package/src/session-runtime/lifecycle/session-switch/session-delete.mjs +3 -3
- package/src/session-runtime/lifecycle/shared.mjs +25 -2
- package/src/session-runtime/lifecycle/teardown/session-close.mjs +2 -0
- package/src/session-runtime/lifecycle/teardown.mjs +5 -2
- package/src/session-runtime/lifecycle-api.mjs +3 -1
- package/src/session-runtime/mcp-glue/server-catalog.mjs +8 -0
- package/src/session-runtime/mcp-glue/server-input.mjs +3 -0
- package/src/session-runtime/mcp-oauth-login.mjs +112 -15
- package/src/session-runtime/model-route/set-route.mjs +14 -3
- package/src/session-runtime/owned-automation-run.mjs +229 -0
- package/src/session-runtime/provider-auth/login.mjs +10 -6
- package/src/session-runtime/provider-auth/setup.mjs +19 -2
- package/src/session-runtime/provider-catalog-cache.mjs +101 -25
- package/src/session-runtime/provider-models/catalog-load.mjs +14 -3
- package/src/session-runtime/provider-models/row-hydration.mjs +4 -0
- package/src/session-runtime/provider-models.mjs +76 -10
- package/src/session-runtime/provider-readiness.mjs +4 -0
- package/src/session-runtime/resource-api.mjs +5 -0
- package/src/session-runtime/resource-mcp-api.mjs +107 -13
- package/src/session-runtime/resource-skills-api.mjs +12 -0
- package/src/session-runtime/room-member-gate.mjs +48 -0
- package/src/session-runtime/routine-home-turn.mjs +156 -0
- package/src/session-runtime/routine-owner.mjs +48 -0
- package/src/session-runtime/schedule-session-run.mjs +30 -64
- package/src/session-runtime/services/agent-tool/close-flow.mjs +2 -1
- package/src/session-runtime/services/agent-tool/helpers.mjs +10 -0
- package/src/session-runtime/services/agent-tool/job-views/agent-list.mjs +10 -2
- package/src/session-runtime/services/agent-tool/job-views/session-progress.mjs +13 -4
- package/src/session-runtime/services/agent-tool/notify.mjs +15 -4
- package/src/session-runtime/services/agent-tool/restart-notify.mjs +134 -0
- package/src/session-runtime/services/agent-tool/send-flow.mjs +24 -1
- package/src/session-runtime/services/agent-tool/spawn-flow/deferred-spawn.mjs +2 -1
- package/src/session-runtime/services/agent-tool/spawn-flow/job-start.mjs +4 -3
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-plan.mjs +19 -4
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-prep.mjs +2 -0
- package/src/session-runtime/services/agent-tool/spawn-flow/spawn-run.mjs +5 -1
- package/src/session-runtime/services/agent-tool/tag-registry/tag-lookup.mjs +8 -3
- package/src/session-runtime/services/agent-tool/tag-registry.mjs +3 -0
- package/src/session-runtime/services/agent-tool/worker-index/row-shape.mjs +4 -0
- package/src/session-runtime/services/agent-tool/worker-index.mjs +44 -10
- package/src/session-runtime/services/agent-tool.mjs +20 -0
- package/src/session-runtime/services/channel-admin.mjs +93 -24
- package/src/session-runtime/services/memory-access.mjs +37 -0
- package/src/session-runtime/services/provider-admin.mjs +166 -59
- package/src/session-runtime/services/schedule-access.mjs +91 -0
- package/src/session-runtime/services/usage-dashboard-model.mjs +2 -2
- package/src/session-runtime/services/usage-dashboard.mjs +27 -69
- package/src/session-runtime/session-create/session-options.mjs +34 -7
- package/src/session-runtime/session-hooks.mjs +16 -8
- package/src/session-runtime/setup-tool/executor.mjs +68 -6
- package/src/session-runtime/setup-tool/extended-actions.mjs +72 -14
- package/src/session-runtime/setup-tool/settings-contract.mjs +8 -6
- package/src/session-runtime/setup-tool/tool-defs.mjs +8 -0
- package/src/session-runtime/skills-api.mjs +16 -1
- package/src/session-runtime/tool-policy-refresh.mjs +238 -29
- package/src/session-runtime/turn/session-ops.mjs +10 -3
- package/src/session-runtime/turn/turn-run/ask-callbacks.mjs +11 -2
- package/src/session-runtime/turn/turn-run/turn-prepare.mjs +3 -0
- package/src/session-runtime/usage-stats-api.mjs +6 -1
- package/src/session-runtime/webhook-session-run.mjs +49 -67
- package/src/session-runtime/workflow-agents-api/agent-connectors.mjs +239 -0
- package/src/session-runtime/workflow-agents-api/agent-editor.mjs +556 -22
- package/src/session-runtime/workflow-agents-api/workflow-packs.mjs +11 -1
- package/src/session-runtime/workflow-agents-api.mjs +4 -1
- package/src/standalone/channel-transport/http-routes.mjs +10 -9
- package/src/standalone/daemon-agent-control.mjs +1 -8
- package/src/standalone/daemon-desktop-runtime.mjs +20 -7
- package/src/standalone/daemon-owner.mjs +117 -25
- package/src/standalone/daemon-session-control.mjs +11 -2
- package/src/standalone/daemon.mjs +61 -17
- package/src/standalone/session-call-cache.mjs +6 -0
- package/src/standalone/session-protocol.mjs +28 -1
- package/src/standalone/session-service/retention/busy.mjs +7 -2
- package/src/standalone/session-service/session-calls/session-turns.mjs +9 -0
- package/src/standalone/session-service.mjs +19 -0
- package/src/standalone/session-transport/routes.mjs +7 -6
- package/src/tui/app/model-options.mjs +39 -2
- package/src/tui/app/model-picker.mjs +16 -2
- package/src/tui/app/provider-setup-picker.mjs +1 -2
- package/src/tui/app/slash-commands.mjs +20 -0
- package/src/tui/dist/index.mjs +487 -128
- package/src/tui/session/context-state.mjs +6 -1
- package/src/tui/session/notice-surface.mjs +35 -4
- package/src/tui/session/notice-text.mjs +0 -1
- package/src/tui/session/queue-helpers.mjs +2 -1
- package/src/tui/session/session-api/extensions.mjs +4 -0
- package/src/tui/session/session-api/intake/submission.mjs +12 -13
- package/src/tui/session/session-api/integrations.mjs +9 -5
- package/src/tui/session/session-api/lifecycle/session-reset.mjs +13 -3
- package/src/tui/session/session-api/lifecycle.mjs +17 -1
- package/src/tui/session/session-api/routes.mjs +48 -3
- package/src/tui/session/session-flow/drain.mjs +20 -3
- package/src/tui/session/session-flow/queue/entry-shape.mjs +2 -1
- package/src/tui/session/session-flow/queue/take-entries.mjs +3 -2
- package/src/tui/session/session-flow/steering.mjs +104 -24
- package/src/tui/session/session-flow.mjs +2 -0
- package/src/tui/session/tool-approval.mjs +26 -5
- package/src/tui/session/transcript-intake.mjs +6 -2
- package/src/tui/session/transcript-spill.mjs +5 -1
- package/src/tui/session/tui-steering-persist.mjs +65 -42
- package/src/tui/session/turn-live-call.mjs +56 -0
- package/src/tui/session/turn-stream.mjs +33 -0
- package/src/tui/session/turn.mjs +50 -7
- package/src/ui/statusline.mjs +1 -6
- package/src/ui/streaming-markdown-heal.mjs +24 -7
- package/src/vendor/statusline/bin/statusline-route.mjs +0 -1
- package/src/vendor/statusline/src/gateway/route-meta.mjs +0 -1
- package/src/workflows/default/WORKFLOW.md +9 -13
- package/src/session-runtime/automation-agents.mjs +0 -94
- package/src/session-runtime/automation-workflow.mjs +0 -59
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-guide
|
|
3
|
+
description: Guide a new user through first setup and explain Mixdog concepts.
|
|
4
|
+
when_to_use: 'Mixy''s first chat; how to start, what to do first, what a Mixdog term means; not one named setting.'
|
|
5
|
+
dependencies:
|
|
6
|
+
tools:
|
|
7
|
+
- type: tool
|
|
8
|
+
value: setup
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Setup guide
|
|
12
|
+
|
|
13
|
+
Walk a new user through Mixdog's first setup one step at a time, and explain
|
|
14
|
+
Mixdog's concepts in plain words. Changes go through the `setup` tool, never
|
|
15
|
+
through file edits. One named setting the user already chose belongs to `setup`.
|
|
16
|
+
|
|
17
|
+
## Style
|
|
18
|
+
|
|
19
|
+
Reply as in agent mode: one step or one concept per message, short plain
|
|
20
|
+
sentences, no tables or headings, in the user's language. In Korean use the
|
|
21
|
+
formal polite style (~합니다 / ~하세요, never ~해요). Say "봇" for Mixy and
|
|
22
|
+
other contacts, "에이전트" only for workflow agents. Never print ids, file
|
|
23
|
+
names or dotted internal names. End a step with one question, not a list of options.
|
|
24
|
+
|
|
25
|
+
## Mode
|
|
26
|
+
|
|
27
|
+
- Setup walk-through: the user accepted setup help ("기본 설정부터 같이 할까요?"),
|
|
28
|
+
or asks how to start or what to do first.
|
|
29
|
+
- Concept question: answer it from the glossary below, then stop. Go deeper
|
|
30
|
+
only when asked, and offer the matching setup step only if it is not done.
|
|
31
|
+
|
|
32
|
+
## Opening
|
|
33
|
+
|
|
34
|
+
Start in this order, one message each:
|
|
35
|
+
|
|
36
|
+
1. Say you will go through setup one thing at a time.
|
|
37
|
+
2. Check `status features` and `status mcp` first. Offer add-ons tier by tier;
|
|
38
|
+
finish a tier before the next. Never mention a feature that is already on
|
|
39
|
+
or installed, and skip a tier with nothing missing.
|
|
40
|
+
3. Then the connectors, then the steps below.
|
|
41
|
+
|
|
42
|
+
Tier 1, essential: Media generation, Git & GitHub (`git`), Visualize. If any
|
|
43
|
+
is missing or off, say it is essential and ask once for all of them
|
|
44
|
+
("필수 기능인데 설치할까요?").
|
|
45
|
+
|
|
46
|
+
Tier 2, recommended: Memory (`memory`), Computer Use (`computer`), Browser Use
|
|
47
|
+
(`browser`). Offer the missing ones in one short line.
|
|
48
|
+
|
|
49
|
+
Tier 3, optional: Voice transcription (`voice`), Local Provider
|
|
50
|
+
(`localProvider`), Code Tidy (`tidy`). Offer the missing ones in one short line.
|
|
51
|
+
|
|
52
|
+
Install only what the user accepts. How each is done:
|
|
53
|
+
|
|
54
|
+
- `install_builtin` with the name for git, memory, autoEffort, computer,
|
|
55
|
+
browser, voice, localProvider and tidy. Git installs system Git through the
|
|
56
|
+
Desktop when this chat is open there. Auto reasoning can be unsupported on
|
|
57
|
+
a machine: report that instead of retrying. Computer Use and Browser Use
|
|
58
|
+
need the Desktop, and the user approves OS permission dialogs. Local
|
|
59
|
+
Provider only prepares the runtime; models belong to `local-provider`.
|
|
60
|
+
- Memory is install-only; its later on/off is `set_memory_enabled`.
|
|
61
|
+
- Visualize has no install: `set_builtin_enabled` turns it on.
|
|
62
|
+
- Media generation has no setup action: `open plugins` and let the user turn
|
|
63
|
+
it on there, then re-check `status features`.
|
|
64
|
+
|
|
65
|
+
Connectors come after the tiers. First explain in a sentence or two: a
|
|
66
|
+
connector links an outside service so bots and agents can read and act in it,
|
|
67
|
+
and anything that sends or posts asks first through an approval card. Then
|
|
68
|
+
suggest by what the user does, only these: Gmail (with a Google app password;
|
|
69
|
+
it needs 2-Step Verification on the Google account, and the connect window
|
|
70
|
+
opens the app-password page in the browser), GitHub (comes with Git & GitHub),
|
|
71
|
+
Notion, Linear or Jira. Do not suggest Google Calendar or Google
|
|
72
|
+
Drive; their Google sign-in is still under review. Connect one with
|
|
73
|
+
`connect_connector`; it only leaves a card, so tell the user to press it and
|
|
74
|
+
confirm with `status mcp`.
|
|
75
|
+
|
|
76
|
+
## Walk-through
|
|
77
|
+
|
|
78
|
+
The steps mirror the desktop starter guide and its checklist; do not keep
|
|
79
|
+
separate progress. Read state first with `setup` `status` (`providers`,
|
|
80
|
+
`onboarding`, `mcp`, `plugins`, `agents`, `connection`) and skip steps already
|
|
81
|
+
done. Take the first open step, explain it in a sentence or two, ask, then act.
|
|
82
|
+
|
|
83
|
+
1. provider: done when a provider is authenticated (`status providers`). Sign-in
|
|
84
|
+
and API keys are entered by the user: `open providers`, never ask for a key
|
|
85
|
+
in chat. Suggest a subscription sign-in (Claude, ChatGPT, Gemini and the
|
|
86
|
+
like) first; an API key only when the user has no subscription or asks.
|
|
87
|
+
2. project: done when a Project exists or `onboarding` lists `project` as
|
|
88
|
+
visited. A folder is optional. Register one with `save_project` for a path
|
|
89
|
+
the user names.
|
|
90
|
+
3. workflow: done when `onboarding` lists `workflow` as visited. Explain
|
|
91
|
+
workflows and agents, `open workflows` so the user can turn agents on and
|
|
92
|
+
pick models (`set_agent_route` once they name a model). Recommend models
|
|
93
|
+
from `${MIXDOG_SKILL_DIR}/model-recommendations.json`, role by role, only
|
|
94
|
+
among providers the user is signed in to (`status providers`) and only a
|
|
95
|
+
model the provider's model list actually offers; picks are an ordered list
|
|
96
|
+
of any length, so recommend the first one that qualifies and otherwise take
|
|
97
|
+
the next. A subscription sign-in always comes first: when the user has one,
|
|
98
|
+
take the first qualifying pick it offers before any pick that would bill an
|
|
99
|
+
API key, and only fall back to API-key providers when no subscription
|
|
100
|
+
offers one. If `asOf` is older than `staleAfterDays`, say the list may be out of
|
|
101
|
+
date. Never print ids or file names. Roles with
|
|
102
|
+
`preferOtherProviderThan` (Reviewer, Advisor) work best with the opposite
|
|
103
|
+
tendency from the model doing the work: pick the first qualifying model whose
|
|
104
|
+
provider differs from the chosen Lead's and Heavy Worker's providers, and
|
|
105
|
+
fall back to the plain first pick only when the user has a single signed-in
|
|
106
|
+
provider. Give the reason in one line: a different model family catches what
|
|
107
|
+
the main one misses. Suggest turning on the Maintainer with
|
|
108
|
+
a cheap model at the lowest effort; it also decides turns in group rooms.
|
|
109
|
+
A pick may carry `plans`: when the Lead provider's plan (`plan` in
|
|
110
|
+
`status providers`) is listed there, recommend that model instead. A null or
|
|
111
|
+
unlisted plan keeps the pick as is; never fail on an unknown plan.
|
|
112
|
+
Delegation and roster come from `delegation` in the data file. First ask
|
|
113
|
+
once how the user likes to work: one agent doing everything, or splitting
|
|
114
|
+
work across agents. Say plainly that Solo is a good choice at any plan: it
|
|
115
|
+
is the most efficient, and with a strong model its quality is often not much
|
|
116
|
+
lower; delegation trades more usage for speed and parallel work. Then suggest
|
|
117
|
+
the mode whose `plans` lists the Lead provider's plan (the default
|
|
118
|
+
suggestion), but the user's preference overrides it. Ask once; set it with
|
|
119
|
+
`set_orchestration_mode`, and say it can be changed later in settings. The
|
|
120
|
+
roster follows the chosen mode: turn on only `baseRoster` plus that mode's
|
|
121
|
+
`agents`, using `set_agent_route` with `route.disabled` set false for what
|
|
122
|
+
the user accepts and true for the rest; do not enable others. Offer
|
|
123
|
+
`leanReview` for Solo or focused as a cost saver: the Lead reviews its own
|
|
124
|
+
work, Reviewer stays off, Advisor is on but used rarely (only when stuck).
|
|
125
|
+
Advisor in balanced or swarm is a light, occasional second opinion from a
|
|
126
|
+
different model family at key decision points, not on every task. Say in
|
|
127
|
+
one line that more agents can be turned on later on the Workflows page.
|
|
128
|
+
Right after the models are picked, explain Auto reasoning: it adjusts
|
|
129
|
+
reasoning depth per message, so hard work may come out slightly lower in
|
|
130
|
+
quality but cost is much lower. Ask whether to turn it on
|
|
131
|
+
(`install_builtin` `autoEffort`). If declined, say in one line that it can
|
|
132
|
+
be turned on later from the model picker.
|
|
133
|
+
4. remote: done when a device is paired (`status connection`) or `remote` is
|
|
134
|
+
visited. Pairing is user-operated: `open connection`.
|
|
135
|
+
5. extensions: done when `extensions` is visited. Explain plugins and skills;
|
|
136
|
+
offer only built-ins not already covered by the tiers above.
|
|
137
|
+
6. mixy: done once Mixy exists, which is already true when this skill runs in
|
|
138
|
+
Mixy's chat. Offer to make another bot when the user wants one.
|
|
139
|
+
|
|
140
|
+
After a change, report it in a sentence and move on. The user may stop at any
|
|
141
|
+
step; do not insist.
|
|
142
|
+
|
|
143
|
+
## Glossary
|
|
144
|
+
|
|
145
|
+
- Bot (봇): an agent-mode contact you chat with. Mixy is the representative
|
|
146
|
+
bot; the user can have it make others, such as a GitHub Watcher.
|
|
147
|
+
- Agent (에이전트): a workflow sub-agent such as Worker or Reviewer that
|
|
148
|
+
does part of a task. Users add their own on the Workflows page with the
|
|
149
|
+
"에이전트 +" button. Bots are people-facing; agents work behind a task.
|
|
150
|
+
- Default agents (기본 에이전트): built-in helpers listed on Workflows, such as
|
|
151
|
+
Web Search (runs the web search tool) and the Maintainer (memory upkeep and
|
|
152
|
+
session titles). They need a model route to work.
|
|
153
|
+
- Sessions and projects: a coding session runs in a Project, a folder whose
|
|
154
|
+
instructions and memories it loads.
|
|
155
|
+
- Workflows and work rules: a workflow sets how a request gets done; work
|
|
156
|
+
rules are the instructions it applies.
|
|
157
|
+
- Connectors and extensions: connectors are MCP services such as GitHub or
|
|
158
|
+
Notion (`connect_connector`, the user presses the card); extensions are
|
|
159
|
+
plugins that add tools and skills that teach how to work.
|
|
160
|
+
- Group rooms (그룹 대화방): one chat with several bots. `@name` or "봇 부르기"
|
|
161
|
+
addresses one bot; otherwise the Maintainer decides who answers next.
|
|
162
|
+
- Schedules and webhooks: a timed or incoming-event trigger (`save_automation`).
|
|
163
|
+
Each run is one turn in its bot's own chat, with that bot's persona, rules,
|
|
164
|
+
permissions, memory and model. Without a bot they cannot be used.
|
|
165
|
+
- Approval cards: when a tool needs permission it waits in the chat until the
|
|
166
|
+
user approves or declines.
|
|
167
|
+
- Phone remote access: pair a phone under Settings → Connection to follow and
|
|
168
|
+
steer tasks away from the PC.
|
|
169
|
+
|
|
170
|
+
## Pitfalls
|
|
171
|
+
|
|
172
|
+
- Do not claim a step is done from memory; re-read state after acting.
|
|
173
|
+
- A UI handoff (`open`) is not completion; ask the user to confirm, then
|
|
174
|
+
re-check the status.
|
|
175
|
+
- Do not run several steps in one message or queue the next question early.
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
{
|
|
2
|
+
"asOf": "2026-10-20",
|
|
3
|
+
"staleAfterDays": 14,
|
|
4
|
+
"delegation": {
|
|
5
|
+
"note": "Default suggestion by the Lead provider's plan (status providers, plan). The user's working style overrides it; the roster follows the chosen mode. Solo is a valid choice at any plan.",
|
|
6
|
+
"unknownPlan": "ask the user which plan they have; if they do not know, suggest focused",
|
|
7
|
+
"baseRoster": ["Maintainer", "Web Search"],
|
|
8
|
+
"leanReview": {
|
|
9
|
+
"fitsModes": ["none", "focused"],
|
|
10
|
+
"description": "Cost-saving alternative to a Reviewer agent: the Lead reviews its own work, and the Advisor is called only when work gets stuck (errors recur, results stop converging).",
|
|
11
|
+
"agentsOff": ["Reviewer"],
|
|
12
|
+
"agentsOn": ["Advisor"],
|
|
13
|
+
"advisorUse": "only when stuck; rarely"
|
|
14
|
+
},
|
|
15
|
+
"modes": [
|
|
16
|
+
{
|
|
17
|
+
"mode": "none",
|
|
18
|
+
"label": "Solo",
|
|
19
|
+
"agents": [],
|
|
20
|
+
"advisorUse": null,
|
|
21
|
+
"plans": {
|
|
22
|
+
"Anthropic": ["none"],
|
|
23
|
+
"OpenAI": ["free", "none"],
|
|
24
|
+
"Google": ["free-tier"],
|
|
25
|
+
"other": "API key only or no subscription"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"mode": "focused",
|
|
30
|
+
"label": "Focused",
|
|
31
|
+
"agents": ["Worker", "Reviewer"],
|
|
32
|
+
"advisorUse": null,
|
|
33
|
+
"plans": { "Anthropic": ["pro"], "OpenAI": ["plus"], "Google": ["standard-tier", "legacy-tier"] }
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"mode": "balanced",
|
|
37
|
+
"label": "Balanced",
|
|
38
|
+
"agents": ["Worker", "Reviewer", "Heavy Worker", "Advisor"],
|
|
39
|
+
"advisorUse": "sparingly: a light second opinion from a different model family only at key decision points (before choosing an approach, when results stop converging), not on every task; it runs rarely so it costs little",
|
|
40
|
+
"plans": {
|
|
41
|
+
"Anthropic": ["team", "enterprise"],
|
|
42
|
+
"OpenAI": ["team", "business", "enterprise"],
|
|
43
|
+
"Google": ["g1-pro-tier"]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"mode": "swarm",
|
|
48
|
+
"label": "Swarm",
|
|
49
|
+
"agents": ["Worker", "Reviewer", "Heavy Worker", "Advisor", "Writer", "Front Worker"],
|
|
50
|
+
"advisorUse": "sparingly, same as balanced",
|
|
51
|
+
"plans": { "Anthropic": ["max"], "OpenAI": ["pro"], "Google": ["g1-ultra-tier"] }
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"roles": [
|
|
56
|
+
{
|
|
57
|
+
"roles": ["Lead", "Bot default"],
|
|
58
|
+
"picks": [
|
|
59
|
+
{
|
|
60
|
+
"provider": "Anthropic",
|
|
61
|
+
"model": "Claude Opus 5.5",
|
|
62
|
+
"effort": "medium",
|
|
63
|
+
"plans": { "pro": "Claude Sonnet 5.5" },
|
|
64
|
+
"checkedAt": "2026-10-20",
|
|
65
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"provider": "OpenAI",
|
|
69
|
+
"model": "GPT-6.1 Sol",
|
|
70
|
+
"effort": "medium",
|
|
71
|
+
"checkedAt": "2026-10-20",
|
|
72
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"provider": "DeepSeek",
|
|
76
|
+
"model": "DeepSeek V4.1 Flash",
|
|
77
|
+
"effort": "none",
|
|
78
|
+
"note": "budget; no effort setting",
|
|
79
|
+
"checkedAt": "2026-10-20",
|
|
80
|
+
"source": "https://api-docs.deepseek.com/quick_start/pricing/"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"roles": ["Heavy Worker"],
|
|
86
|
+
"picks": [
|
|
87
|
+
{
|
|
88
|
+
"provider": "Anthropic",
|
|
89
|
+
"model": "Claude Opus 5.5",
|
|
90
|
+
"effort": "medium",
|
|
91
|
+
"plans": { "pro": "Claude Sonnet 5.5" },
|
|
92
|
+
"checkedAt": "2026-10-20",
|
|
93
|
+
"source": "https://platform.claude.com/docs/en/build-with-claude/effort"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"provider": "OpenAI",
|
|
97
|
+
"model": "GPT-6.1 Sol",
|
|
98
|
+
"effort": "high",
|
|
99
|
+
"note": "xhigh for the hardest long runs",
|
|
100
|
+
"checkedAt": "2026-10-20",
|
|
101
|
+
"source": "https://openai.com/index/practical-guide-building-gpt-6/"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"provider": "Google",
|
|
105
|
+
"model": "Gemini 4 Argon",
|
|
106
|
+
"effort": "high",
|
|
107
|
+
"note": "budget",
|
|
108
|
+
"checkedAt": "2026-10-20",
|
|
109
|
+
"source": "https://ai.google.dev/gemini-api/docs/generate-content/latest-model"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"roles": ["Advisor"],
|
|
115
|
+
"preferOtherProviderThan": ["Lead", "Heavy Worker"],
|
|
116
|
+
"picks": [
|
|
117
|
+
{
|
|
118
|
+
"provider": "OpenAI",
|
|
119
|
+
"model": "GPT-6 Astra",
|
|
120
|
+
"effort": "xhigh",
|
|
121
|
+
"checkedAt": "2026-10-20",
|
|
122
|
+
"source": "https://openai.com/index/practical-guide-building-gpt-6/"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"provider": "Anthropic",
|
|
126
|
+
"model": "Claude Opus 5.5",
|
|
127
|
+
"effort": "xhigh",
|
|
128
|
+
"checkedAt": "2026-10-20",
|
|
129
|
+
"source": "https://platform.claude.com/docs/en/build-with-claude/effort"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"provider": "Google",
|
|
133
|
+
"model": "Gemini 4 Argon",
|
|
134
|
+
"effort": "high",
|
|
135
|
+
"note": "budget; high is its top level",
|
|
136
|
+
"checkedAt": "2026-10-20",
|
|
137
|
+
"source": "https://ai.google.dev/gemini-api/docs/generate-content/latest-model"
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"roles": ["Reviewer"],
|
|
143
|
+
"preferOtherProviderThan": ["Lead", "Heavy Worker"],
|
|
144
|
+
"picks": [
|
|
145
|
+
{
|
|
146
|
+
"provider": "OpenAI",
|
|
147
|
+
"model": "GPT-6 Astra",
|
|
148
|
+
"effort": "high",
|
|
149
|
+
"checkedAt": "2026-10-20",
|
|
150
|
+
"source": "https://www.benchleader.com/best/llm-for-coding"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"provider": "Anthropic",
|
|
154
|
+
"model": "Claude Opus 5.5",
|
|
155
|
+
"effort": "high",
|
|
156
|
+
"checkedAt": "2026-10-20",
|
|
157
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"provider": "Google",
|
|
161
|
+
"model": "Gemini 4 Argon",
|
|
162
|
+
"effort": "high",
|
|
163
|
+
"note": "budget",
|
|
164
|
+
"checkedAt": "2026-10-20",
|
|
165
|
+
"source": "https://benchlm.ai/google/api-pricing"
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"roles": ["Writer"],
|
|
171
|
+
"picks": [
|
|
172
|
+
{
|
|
173
|
+
"provider": "Google",
|
|
174
|
+
"model": "Gemini 4 Argon",
|
|
175
|
+
"effort": "medium",
|
|
176
|
+
"checkedAt": "2026-10-20",
|
|
177
|
+
"source": "https://ai.google.dev/gemini-api/docs/generate-content/latest-model"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"provider": "Google",
|
|
181
|
+
"model": "Gemini 3.8 Flash",
|
|
182
|
+
"effort": "medium",
|
|
183
|
+
"checkedAt": "2026-10-20",
|
|
184
|
+
"source": "https://ai.google.dev/gemini-api/docs/generate-content/latest-model"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"provider": "Anthropic",
|
|
188
|
+
"model": "Claude Sonnet 5.5",
|
|
189
|
+
"effort": "medium",
|
|
190
|
+
"checkedAt": "2026-10-20",
|
|
191
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"provider": "OpenAI",
|
|
195
|
+
"model": "GPT-6.1 Sol",
|
|
196
|
+
"effort": "medium",
|
|
197
|
+
"checkedAt": "2026-10-20",
|
|
198
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"roles": ["Worker"],
|
|
204
|
+
"picks": [
|
|
205
|
+
{
|
|
206
|
+
"provider": "Anthropic",
|
|
207
|
+
"model": "Claude Sonnet 5.5",
|
|
208
|
+
"effort": "medium",
|
|
209
|
+
"checkedAt": "2026-10-20",
|
|
210
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"provider": "OpenAI",
|
|
214
|
+
"model": "GPT-6.1 Sol",
|
|
215
|
+
"effort": "medium",
|
|
216
|
+
"checkedAt": "2026-10-20",
|
|
217
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"provider": "DeepSeek",
|
|
221
|
+
"model": "DeepSeek V4.1 Flash",
|
|
222
|
+
"effort": "none",
|
|
223
|
+
"note": "budget; no effort setting",
|
|
224
|
+
"checkedAt": "2026-10-20",
|
|
225
|
+
"source": "https://api-docs.deepseek.com/quick_start/pricing/"
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"roles": ["Front Worker"],
|
|
231
|
+
"picks": [
|
|
232
|
+
{
|
|
233
|
+
"provider": "Anthropic",
|
|
234
|
+
"model": "Claude Opus 5.5",
|
|
235
|
+
"effort": "medium",
|
|
236
|
+
"checkedAt": "2026-10-20",
|
|
237
|
+
"source": "https://www.benchleader.com/best/llm-for-coding"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"provider": "DeepSeek",
|
|
241
|
+
"model": "DeepSeek V4.1 Flash",
|
|
242
|
+
"effort": "none",
|
|
243
|
+
"note": "budget; no effort setting",
|
|
244
|
+
"checkedAt": "2026-10-20",
|
|
245
|
+
"source": "https://api-docs.deepseek.com/quick_start/pricing/"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"provider": "Google",
|
|
249
|
+
"model": "Gemini 4 Argon",
|
|
250
|
+
"effort": "medium",
|
|
251
|
+
"checkedAt": "2026-10-20",
|
|
252
|
+
"source": "https://ai.google.dev/gemini-api/docs/generate-content/latest-model"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"provider": "OpenAI",
|
|
256
|
+
"model": "GPT-6.1 Sol",
|
|
257
|
+
"effort": "medium",
|
|
258
|
+
"checkedAt": "2026-10-20",
|
|
259
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"roles": ["Web Search"],
|
|
265
|
+
"picks": [
|
|
266
|
+
{
|
|
267
|
+
"provider": "xAI",
|
|
268
|
+
"model": "Grok 4.7",
|
|
269
|
+
"effort": "none",
|
|
270
|
+
"checkedAt": "2026-10-20",
|
|
271
|
+
"source": "https://benchlm.ai/providers/xai"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"provider": "OpenAI",
|
|
275
|
+
"model": "GPT-6.1 Sol",
|
|
276
|
+
"effort": "low",
|
|
277
|
+
"checkedAt": "2026-10-20",
|
|
278
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"provider": "Google",
|
|
282
|
+
"model": "Gemini 3.8 Flash",
|
|
283
|
+
"effort": "low",
|
|
284
|
+
"checkedAt": "2026-10-20",
|
|
285
|
+
"source": "https://benchlm.ai/google/api-pricing"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"provider": "Anthropic",
|
|
289
|
+
"model": "Claude Sonnet 5.5",
|
|
290
|
+
"effort": "low",
|
|
291
|
+
"checkedAt": "2026-10-20",
|
|
292
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"roles": ["Maintainer"],
|
|
298
|
+
"note": "The Maintainer also decides turns in group rooms; there is no separate role for that.",
|
|
299
|
+
"picks": [
|
|
300
|
+
{
|
|
301
|
+
"provider": "OpenAI",
|
|
302
|
+
"model": "GPT-6 Luna",
|
|
303
|
+
"effort": "low",
|
|
304
|
+
"checkedAt": "2026-10-20",
|
|
305
|
+
"source": "https://benchlm.ai/openai/api-pricing"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"provider": "DeepSeek",
|
|
309
|
+
"model": "DeepSeek V4.1 Flash",
|
|
310
|
+
"effort": "none",
|
|
311
|
+
"note": "no effort setting",
|
|
312
|
+
"checkedAt": "2026-10-20",
|
|
313
|
+
"source": "https://api-docs.deepseek.com/quick_start/pricing/"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"provider": "Anthropic",
|
|
317
|
+
"model": "Claude Haiku 5.5",
|
|
318
|
+
"effort": "low",
|
|
319
|
+
"checkedAt": "2026-10-20",
|
|
320
|
+
"source": "https://benchlm.ai/anthropic/api-pricing"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"provider": "Zhipu",
|
|
324
|
+
"model": "GLM-5.3-Flash",
|
|
325
|
+
"effort": "none",
|
|
326
|
+
"note": "budget",
|
|
327
|
+
"checkedAt": "2026-10-20",
|
|
328
|
+
"source": "https://www.benchleader.com/best/llm-for-coding"
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
]
|
|
333
|
+
}
|
|
@@ -24,8 +24,9 @@ tradeoffs, and wording decisions stay in chat even when the topic is UI.
|
|
|
24
24
|
- *Show* — any artifact you produced or changed (HTML, deck, document, sheet,
|
|
25
25
|
PDF, image, video, a local dev page): `open` it once when it is ready. Edits
|
|
26
26
|
reload the tab by themselves; never reopen to refresh.
|
|
27
|
-
- *Mockup* — a
|
|
28
|
-
|
|
27
|
+
- *Mockup* — the user asks for a mockup or preview, or a UI change whose
|
|
28
|
+
look the user still has to decide. A change whose look is already settled
|
|
29
|
+
is built directly. §2.
|
|
29
30
|
- *Options* — the direction is genuinely open (the user is unsure, or two
|
|
30
31
|
readings of the request lead to different layouts). §3.
|
|
31
32
|
- *Explain* — a flow, state machine, architecture, or data path the user needs
|
|
@@ -139,7 +139,7 @@ function buildLanguageSection(dataDir) {
|
|
|
139
139
|
// mistranslate, so the two clauses would be dead text.
|
|
140
140
|
if (language.prompt !== 'English') {
|
|
141
141
|
lines.push(
|
|
142
|
-
`- Preserve identifiers, paths, commands, API names, and exact errors.
|
|
142
|
+
`- Preserve identifiers, paths, commands, API names, and exact errors. Keep technical terms in their established form, usually the original English (blocker, cache, commit); add a short plain explanation only when the reader may not know it. Never invent a literal translation.`
|
|
143
143
|
);
|
|
144
144
|
}
|
|
145
145
|
return `# Language\n\n${lines.join('\n')}`;
|
|
@@ -361,17 +361,64 @@ function buildRouteRulesContent({
|
|
|
361
361
|
return omitToolRoutes(parts.join('\n'), omitTools, allowTools);
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
-
|
|
364
|
+
// LEAD.md is split for BP3 prefix sharing (every Lead shares `common`; the
|
|
365
|
+
// mode-variant passages and the identity line move later):
|
|
366
|
+
// - `common`: every line but the identity line and the two passages below;
|
|
367
|
+
// - `coding` / `agent`: those two passages as bullets — LEAD.md's own text
|
|
368
|
+
// for coding mode, the conversational variants for agent mode;
|
|
369
|
+
// - `identity`: the coding identity sentence ("You are Mixdog, …").
|
|
370
|
+
const LEAD_IDENTITY_LINE = /^- (You are Mixdog, a coding agent\.)\n/m;
|
|
371
|
+
const LEAD_PROGRESS_PASSAGE = / (Before your first tool call, briefly state[\s\S]*?narration or plan repeats\.)/;
|
|
372
|
+
const LEAD_REPORT_PASSAGE = / (On an agent report, review its diff[\s\S]*?not a completed request\.)/;
|
|
373
|
+
const AGENT_MODE_PROGRESS =
|
|
374
|
+
'- Just answer conversation. Quick tool use (checking memory, leaving a\n' +
|
|
375
|
+
' reaction) needs no announcement. When starting longer work (research,\n' +
|
|
376
|
+
' delegation, multi-step tasks), say what you are doing, and share the\n' +
|
|
377
|
+
' result when it finishes.';
|
|
378
|
+
const AGENT_MODE_REPORT =
|
|
379
|
+
'- On an agent report, check the result against what you delegated and\n' +
|
|
380
|
+
' relay it in your own words, keeping uncertainty, failures and sources\n' +
|
|
381
|
+
' intact. Review a diff only when you delegated code.';
|
|
382
|
+
|
|
383
|
+
function buildLeadRoleContent({ PLUGIN_ROOT, includeLeadBrief = true, part = 'common' }) {
|
|
365
384
|
const RULES_DIR = path.join(PLUGIN_ROOT, 'rules');
|
|
366
|
-
const
|
|
367
|
-
if (!
|
|
385
|
+
const raw = readOptional(path.join(RULES_DIR, 'lead', 'LEAD.md'));
|
|
386
|
+
if (!raw) return '';
|
|
368
387
|
// Delegation-free sessions (headless, no delegatable agents) never expose the `agent` tool,
|
|
369
388
|
// so Lead guidance marked `<!-- tools: agent -->` (briefing, completion
|
|
370
389
|
// notifications) is dropped there and kept verbatim for delegating workflows.
|
|
371
|
-
|
|
390
|
+
const lead = omitToolRoutes(raw, includeLeadBrief ? [] : ['agent']);
|
|
391
|
+
if (part === 'identity') return lead.match(LEAD_IDENTITY_LINE)?.[1] || '';
|
|
392
|
+
const progress = lead.match(LEAD_PROGRESS_PASSAGE);
|
|
393
|
+
const report = lead.match(LEAD_REPORT_PASSAGE);
|
|
394
|
+
if (part === 'coding' || part === 'agent') {
|
|
395
|
+
const agentMode = part === 'agent';
|
|
396
|
+
const bullets = [
|
|
397
|
+
progress && (agentMode ? AGENT_MODE_PROGRESS : `- ${progress[1]}`),
|
|
398
|
+
report && (agentMode ? AGENT_MODE_REPORT : `- ${report[1]}`),
|
|
399
|
+
].filter(Boolean);
|
|
400
|
+
return bullets.length ? `# Progress and Reports\n\n${bullets.join('\n')}` : '';
|
|
401
|
+
}
|
|
402
|
+
return lead.replace(LEAD_IDENTITY_LINE, '').replace(LEAD_PROGRESS_PASSAGE, '').replace(LEAD_REPORT_PASSAGE, '');
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// The agent-mode rule files (rules/agent-mode/): `conduct` (AGENT_MODE.md,
|
|
406
|
+
// every agent-mode Lead), `mixy` (MIXY.md, Mixy only) and `routine`
|
|
407
|
+
// (ROUTINE.md, schedule/webhook runs only).
|
|
408
|
+
const AGENT_MODE_PARTS = {
|
|
409
|
+
conduct: ['AGENT_MODE.md', ''],
|
|
410
|
+
// Neutral heading: the user may rename Mixy (its identity line says the name).
|
|
411
|
+
mixy: ['MIXY.md', '# Your Role\n\n'],
|
|
412
|
+
routine: ['ROUTINE.md', '# Routine Run\n\n'],
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
function buildAgentModeContent({ PLUGIN_ROOT, part = 'conduct' }) {
|
|
416
|
+
const [file, heading] = AGENT_MODE_PARTS[part] || AGENT_MODE_PARTS.conduct;
|
|
417
|
+
const body = readOptional(path.join(PLUGIN_ROOT, 'rules', 'agent-mode', file)).trim();
|
|
418
|
+
return body ? `${heading}${body}` : '';
|
|
372
419
|
}
|
|
373
420
|
|
|
374
|
-
function buildLeadMetaContent({ PLUGIN_ROOT, DATA_DIR }) {
|
|
421
|
+
function buildLeadMetaContent({ PLUGIN_ROOT, DATA_DIR, includeOutputStyle = true }) {
|
|
375
422
|
const parts = [];
|
|
376
423
|
|
|
377
424
|
const profilePreferences = buildProfilePreferencesContent(DATA_DIR);
|
|
@@ -382,7 +429,8 @@ function buildLeadMetaContent({ PLUGIN_ROOT, DATA_DIR }) {
|
|
|
382
429
|
// (workflow, role, persona, memory, session lines) sits between it and the
|
|
383
430
|
// first reply.
|
|
384
431
|
|
|
385
|
-
|
|
432
|
+
// Agent mode answers by AGENT_MODE.md alone; the coding Output Style stays out.
|
|
433
|
+
const outputStyle = includeOutputStyle ? loadOutputStyle({ PLUGIN_ROOT, DATA_DIR }) : '';
|
|
386
434
|
if (outputStyle) parts.push(outputStyle);
|
|
387
435
|
|
|
388
436
|
return parts.join('\n\n');
|
|
@@ -430,6 +478,7 @@ module.exports = {
|
|
|
430
478
|
buildSharedToolContent,
|
|
431
479
|
buildRouteRulesContent,
|
|
432
480
|
buildLeadRoleContent,
|
|
481
|
+
buildAgentModeContent,
|
|
433
482
|
buildLeadMetaContent,
|
|
434
483
|
buildLeadLanguageContent,
|
|
435
484
|
buildAgentRoleContent,
|
|
@@ -7,15 +7,31 @@ partial: true
|
|
|
7
7
|
|
|
8
8
|
## Shared Output Format
|
|
9
9
|
|
|
10
|
-
- Lead with the answer; no restated request
|
|
10
|
+
- Lead with the answer; no restated request, closing recap, or offer. Natural,
|
|
11
11
|
complete sentences in the reader's vocabulary, each point once; no arrow
|
|
12
12
|
chains or unexplained shorthand.
|
|
13
|
-
- Plain prose for simple questions; headings, lists, or tables only for real
|
|
14
|
-
structure. GitHub-flavored Markdown, `$$…$$` for display math.
|
|
15
13
|
- Distinguish facts, inference, and uncertainty; keep exact literals and
|
|
16
14
|
material risks. Caveats only when they change the reader's next step.
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
one-line
|
|
15
|
+
- Show only what the reader needs: the decision, the result, the blocker, and
|
|
16
|
+
the action. No tangents, raw dumps, or process narration. Explicit depth
|
|
17
|
+
requests win; depth applies to substantive answers, not the one-line
|
|
18
|
+
pre-tool briefing.
|
|
20
19
|
- At every depth keep decision-relevant failures, security warnings, and
|
|
21
20
|
destructive-action confirmations; quote needed error text exactly.
|
|
21
|
+
|
|
22
|
+
Layout (GitHub-flavored Markdown, `$$…$$` for display math): the content picks
|
|
23
|
+
the format at every depth; depth sets only how much is said.
|
|
24
|
+
|
|
25
|
+
- Mixed content gets one short block per kind (result, cause, finding,
|
|
26
|
+
decision needed, remaining work) under a plain label in the reader's
|
|
27
|
+
language, never one running paragraph; what the reader must decide or do
|
|
28
|
+
comes last, on its own.
|
|
29
|
+
- A single answer or cause is short prose paragraphs without labels. Three or
|
|
30
|
+
more parallel items are a flat one-line list, numbered only for order, never
|
|
31
|
+
nested. A comparison across items is a small table with short cells.
|
|
32
|
+
- Commands, paths, identifiers, and literals go in code; multi-line code,
|
|
33
|
+
diffs, and output in fenced blocks.
|
|
34
|
+
- Bold only what the reader scans for: the decision or warning they must not
|
|
35
|
+
miss, a list item's leading label, the decisive number, the winning option;
|
|
36
|
+
never a sentence or a heading substitute. Headings only for long
|
|
37
|
+
multi-section answers; no emoji or horizontal rules.
|