mixdog 0.7.18 → 0.8.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/README.md +37 -331
- package/package.json +67 -99
- package/scripts/boot-smoke.mjs +94 -0
- package/scripts/build-tui.mjs +52 -0
- package/scripts/compact-smoke.mjs +199 -0
- package/scripts/lead-workflow-smoke.mjs +598 -0
- package/scripts/live-worker-smoke.mjs +239 -0
- package/scripts/output-style-smoke.mjs +101 -0
- package/scripts/smoke-loop-report.mjs +221 -0
- package/scripts/smoke-loop.mjs +201 -0
- package/scripts/smoke.mjs +113 -0
- package/scripts/tool-failures.mjs +143 -0
- package/scripts/tool-smoke.mjs +456 -0
- package/src/agents/debugger/AGENT.md +3 -0
- package/src/agents/debugger/agent.json +6 -0
- package/src/agents/explore/AGENT.md +4 -0
- package/src/agents/explore/agent.json +6 -0
- package/src/agents/heavy-worker/AGENT.md +3 -0
- package/src/agents/heavy-worker/agent.json +6 -0
- package/src/agents/maintainer/AGENT.md +3 -0
- package/src/agents/maintainer/agent.json +6 -0
- package/src/agents/reviewer/AGENT.md +3 -0
- package/src/agents/reviewer/agent.json +6 -0
- package/src/agents/scheduler-task.md +3 -0
- package/src/agents/web-researcher/AGENT.md +3 -0
- package/src/agents/web-researcher/agent.json +6 -0
- package/src/agents/webhook-handler.md +3 -0
- package/src/agents/worker/AGENT.md +3 -0
- package/src/agents/worker/agent.json +6 -0
- package/src/app.mjs +90 -0
- package/src/cli.mjs +11 -0
- package/src/defaults/hidden-roles.json +72 -0
- package/src/defaults/mixdog-config.template.json +15 -0
- package/src/hooks/lib/permission-evaluator.cjs +488 -0
- package/src/hooks/lib/settings-loader.cjs +112 -0
- package/src/lib/keychain-cjs.cjs +332 -0
- package/src/lib/plugin-paths.cjs +28 -0
- package/src/lib/rules-builder.cjs +315 -0
- package/src/mixdog-session-runtime.mjs +3704 -0
- package/src/output-styles/default.md +38 -0
- package/src/output-styles/extreme-simple.md +17 -0
- package/src/output-styles/simple.md +17 -0
- package/src/repl.mjs +322 -0
- package/src/rules/bridge/00-common.md +5 -0
- package/src/rules/bridge/20-skip-protocol.md +11 -0
- package/src/rules/bridge/30-explorer.md +4 -0
- package/src/rules/bridge/40-cycle1-agent.md +28 -0
- package/src/rules/bridge/41-cycle2-agent.md +59 -0
- package/src/rules/lead/00-tool-lead.md +5 -0
- package/src/rules/lead/01-general.md +5 -0
- package/src/rules/lead/02-channels.md +3 -0
- package/src/rules/lead/04-workflow.md +12 -0
- package/src/rules/shared/00-language.md +3 -0
- package/src/rules/shared/01-tool.md +3 -0
- package/src/runtime/agent/orchestrator/bridge-trace.mjs +814 -0
- package/src/runtime/agent/orchestrator/cache-mtime.mjs +60 -0
- package/src/runtime/agent/orchestrator/config.mjs +446 -0
- package/src/runtime/agent/orchestrator/context/collect.mjs +796 -0
- package/src/runtime/agent/orchestrator/dispatch-persist.mjs +417 -0
- package/src/runtime/agent/orchestrator/internal-roles.mjs +188 -0
- package/src/runtime/agent/orchestrator/internal-tools.mjs +88 -0
- package/src/runtime/agent/orchestrator/mcp/client.mjs +345 -0
- package/src/runtime/agent/orchestrator/providers/anthropic-oauth.mjs +2104 -0
- package/src/runtime/agent/orchestrator/providers/anthropic.mjs +784 -0
- package/src/runtime/agent/orchestrator/providers/api-usage.mjs +341 -0
- package/src/runtime/agent/orchestrator/providers/gemini.mjs +1679 -0
- package/src/runtime/agent/orchestrator/providers/grok-oauth.mjs +959 -0
- package/src/runtime/agent/orchestrator/providers/media-normalization.mjs +213 -0
- package/src/runtime/agent/orchestrator/providers/model-cache.mjs +38 -0
- package/src/runtime/agent/orchestrator/providers/model-catalog.mjs +471 -0
- package/src/runtime/agent/orchestrator/providers/oauth-usage.mjs +615 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-stream.mjs +808 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat.mjs +1719 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-ws.mjs +2587 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth.mjs +1953 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws.mjs +136 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go-usage.mjs +317 -0
- package/src/runtime/agent/orchestrator/providers/opencode-go.mjs +109 -0
- package/src/runtime/agent/orchestrator/providers/registry.mjs +247 -0
- package/src/runtime/agent/orchestrator/providers/retry-classifier.mjs +332 -0
- package/src/runtime/agent/orchestrator/providers/statusline-route-meta.mjs +11 -0
- package/src/runtime/agent/orchestrator/providers/trace-utils.mjs +50 -0
- package/src/runtime/agent/orchestrator/session/cache/prefetch-cache.mjs +142 -0
- package/src/runtime/agent/orchestrator/session/cache/read-cache.mjs +318 -0
- package/src/runtime/agent/orchestrator/session/cache/scoped-cache.mjs +367 -0
- package/src/runtime/agent/orchestrator/session/compact.mjs +882 -0
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +233 -0
- package/src/runtime/agent/orchestrator/session/loop.mjs +2320 -0
- package/src/runtime/agent/orchestrator/session/manager.mjs +2960 -0
- package/src/runtime/agent/orchestrator/session/result-classification.mjs +65 -0
- package/src/runtime/agent/orchestrator/session/store.mjs +663 -0
- package/src/runtime/agent/orchestrator/session/tool-result-offload.mjs +166 -0
- package/src/runtime/agent/orchestrator/smart-bridge/bridge-llm.mjs +339 -0
- package/src/runtime/agent/orchestrator/smart-bridge/cache-strategy.mjs +419 -0
- package/src/runtime/agent/orchestrator/stall-policy.mjs +227 -0
- package/src/runtime/agent/orchestrator/tool-loop-guard.mjs +235 -0
- package/src/runtime/agent/orchestrator/tools/bash-session.mjs +723 -0
- package/src/runtime/agent/orchestrator/tools/builtin/arg-guard.mjs +389 -0
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +637 -0
- package/src/runtime/agent/orchestrator/tools/builtin/builtin-tools.mjs +165 -0
- package/src/runtime/agent/orchestrator/tools/builtin/fuzzy-match.mjs +104 -0
- package/src/runtime/agent/orchestrator/tools/builtin/glob-walk.mjs +194 -0
- package/src/runtime/agent/orchestrator/tools/builtin/list-tool.mjs +596 -0
- package/src/runtime/agent/orchestrator/tools/builtin/native-edit-runner.mjs +110 -0
- package/src/runtime/agent/orchestrator/tools/builtin/path-diagnostics.mjs +153 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-formatting.mjs +118 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-open.mjs +189 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-tool.mjs +731 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-snapshot-runtime.mjs +168 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-streaming.mjs +602 -0
- package/src/runtime/agent/orchestrator/tools/builtin/rg-runner.mjs +465 -0
- package/src/runtime/agent/orchestrator/tools/builtin/search-builders.mjs +160 -0
- package/src/runtime/agent/orchestrator/tools/builtin/search-tool.mjs +982 -0
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +1087 -0
- package/src/runtime/agent/orchestrator/tools/builtin/shell-runtime.mjs +231 -0
- package/src/runtime/agent/orchestrator/tools/builtin/snapshot-store.mjs +223 -0
- package/src/runtime/agent/orchestrator/tools/builtin.mjs +478 -0
- package/src/runtime/agent/orchestrator/tools/code-graph-tool-defs.mjs +24 -0
- package/src/runtime/agent/orchestrator/tools/code-graph.mjs +4102 -0
- package/src/runtime/agent/orchestrator/tools/destructive-warning.mjs +323 -0
- package/src/runtime/agent/orchestrator/tools/graph-binary-fetcher.mjs +154 -0
- package/src/runtime/agent/orchestrator/tools/graph-manifest.json +26 -0
- package/src/runtime/agent/orchestrator/tools/patch-binary-fetcher.mjs +143 -0
- package/src/runtime/agent/orchestrator/tools/patch-tool-defs.mjs +18 -0
- package/src/runtime/agent/orchestrator/tools/patch.mjs +2772 -0
- package/src/runtime/agent/orchestrator/tools/progress-message.mjs +114 -0
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +880 -0
- package/src/runtime/agent/orchestrator/tools/shell-snapshot.mjs +312 -0
- package/src/runtime/channels/backends/discord.mjs +781 -0
- package/src/runtime/channels/data/voice-runtime-manifest.json +138 -0
- package/src/runtime/channels/index.mjs +3309 -0
- package/src/runtime/channels/lib/config.mjs +285 -0
- package/src/runtime/channels/lib/drop-trace.mjs +71 -0
- package/src/runtime/channels/lib/event-pipeline.mjs +81 -0
- package/src/runtime/channels/lib/holidays.mjs +138 -0
- package/src/runtime/channels/lib/hook-pipe-server.mjs +671 -0
- package/src/runtime/channels/lib/output-forwarder.mjs +765 -0
- package/src/runtime/channels/lib/runtime-paths.mjs +497 -0
- package/src/runtime/channels/lib/scheduler.mjs +710 -0
- package/src/runtime/channels/lib/session-discovery.mjs +102 -0
- package/src/runtime/channels/lib/state-file.mjs +68 -0
- package/src/runtime/channels/lib/status-snapshot.mjs +224 -0
- package/src/runtime/channels/lib/tool-format.mjs +124 -0
- package/src/runtime/channels/lib/transcript-discovery.mjs +195 -0
- package/src/runtime/channels/lib/voice-runtime-fetcher.mjs +734 -0
- package/src/runtime/channels/lib/webhook.mjs +1288 -0
- package/src/runtime/channels/tool-defs.mjs +177 -0
- package/src/runtime/lib/keychain-cjs.cjs +289 -0
- package/src/runtime/memory/data/runtime-manifest.json +40 -0
- package/src/runtime/memory/index.mjs +3600 -0
- package/src/runtime/memory/lib/core-memory-store.mjs +336 -0
- package/src/runtime/memory/lib/embedding-provider.mjs +275 -0
- package/src/runtime/memory/lib/embedding-worker.mjs +331 -0
- package/src/runtime/memory/lib/memory-cycle-requests.mjs +276 -0
- package/src/runtime/memory/lib/memory-cycle1.mjs +783 -0
- package/src/runtime/memory/lib/memory-cycle2.mjs +1389 -0
- package/src/runtime/memory/lib/memory-cycle3.mjs +646 -0
- package/src/runtime/memory/lib/memory-embed.mjs +300 -0
- package/src/runtime/memory/lib/memory-ops-policy.mjs +149 -0
- package/src/runtime/memory/lib/memory-recall-store.mjs +644 -0
- package/src/runtime/memory/lib/memory.mjs +418 -0
- package/src/runtime/memory/lib/pg/adapter.mjs +314 -0
- package/src/runtime/memory/lib/pg/process.mjs +366 -0
- package/src/runtime/memory/lib/pg/supervisor.mjs +495 -0
- package/src/runtime/memory/lib/runtime-fetcher.mjs +464 -0
- package/src/runtime/memory/lib/trace-store.mjs +734 -0
- package/src/runtime/memory/tool-defs.mjs +79 -0
- package/src/runtime/search/index.mjs +925 -0
- package/src/runtime/search/lib/config.mjs +61 -0
- package/src/runtime/search/lib/web-tools.mjs +1278 -0
- package/src/runtime/search/tool-defs.mjs +64 -0
- package/src/runtime/shared/atomic-file.mjs +435 -0
- package/src/runtime/shared/background-tasks.mjs +376 -0
- package/src/runtime/shared/child-guardian.mjs +98 -0
- package/src/runtime/shared/config.mjs +393 -0
- package/src/runtime/shared/err-text.mjs +121 -0
- package/src/runtime/shared/launcher-control.mjs +259 -0
- package/src/runtime/shared/llm/http-agent.mjs +129 -0
- package/src/runtime/shared/open-url.mjs +37 -0
- package/src/runtime/shared/plugin-paths.mjs +25 -0
- package/src/runtime/shared/process-shutdown.mjs +147 -0
- package/src/runtime/shared/schedules-store.mjs +70 -0
- package/src/runtime/shared/tool-execution-contract.mjs +104 -0
- package/src/runtime/shared/tool-surface.mjs +950 -0
- package/src/runtime/shared/user-cwd.mjs +221 -0
- package/src/runtime/shared/user-data-guard.mjs +232 -0
- package/src/runtime/shared/workspace-router.mjs +259 -0
- package/src/standalone/bridge-tool.mjs +1414 -0
- package/src/standalone/channel-admin.mjs +366 -0
- package/src/standalone/channel-worker-preload.cjs +3 -0
- package/src/standalone/channel-worker.mjs +353 -0
- package/src/standalone/explore-tool.mjs +233 -0
- package/src/standalone/hook-bus.mjs +246 -0
- package/src/standalone/plugin-admin.mjs +247 -0
- package/src/standalone/provider-admin.mjs +338 -0
- package/src/standalone/seeds.mjs +94 -0
- package/src/standalone/usage-dashboard.mjs +510 -0
- package/src/tui/App.jsx +5438 -0
- package/src/tui/components/AnsiText.jsx +199 -0
- package/src/tui/components/ContextPanel.jsx +217 -0
- package/src/tui/components/Markdown.jsx +205 -0
- package/src/tui/components/MarkdownTable.jsx +204 -0
- package/src/tui/components/Message.jsx +103 -0
- package/src/tui/components/Picker.jsx +317 -0
- package/src/tui/components/PromptInput.jsx +584 -0
- package/src/tui/components/QueuedCommands.jsx +47 -0
- package/src/tui/components/SlashCommandPalette.jsx +114 -0
- package/src/tui/components/Spinner.jsx +317 -0
- package/src/tui/components/StatusLine.jsx +87 -0
- package/src/tui/components/TextEntryPanel.jsx +323 -0
- package/src/tui/components/ToolExecution.jsx +772 -0
- package/src/tui/components/TurnDone.jsx +78 -0
- package/src/tui/components/UsagePanel.jsx +331 -0
- package/src/tui/dist/index.mjs +12359 -0
- package/src/tui/engine.mjs +2410 -0
- package/src/tui/figures.mjs +50 -0
- package/src/tui/hooks/useEngine.mjs +16 -0
- package/src/tui/index.jsx +254 -0
- package/src/tui/input-editing.mjs +242 -0
- package/src/tui/markdown/format-token.mjs +194 -0
- package/src/tui/paste-attachments.mjs +198 -0
- package/src/tui/runtime/shared/process-shutdown.mjs +1 -0
- package/src/tui/spinner-verbs.mjs +45 -0
- package/src/tui/theme.mjs +67 -0
- package/src/tui/time-format.mjs +53 -0
- package/src/ui/ansi.mjs +115 -0
- package/src/ui/markdown.mjs +195 -0
- package/src/ui/statusline.mjs +730 -0
- package/src/ui/tool-card.mjs +101 -0
- package/src/vendor/statusline/bin/statusline-lib.mjs +805 -0
- package/src/vendor/statusline/bin/statusline-route.mjs +596 -0
- package/src/vendor/statusline/scripts/lib/gateway-settings.mjs +285 -0
- package/src/vendor/statusline/src/gateway/claude-current.mjs +320 -0
- package/src/vendor/statusline/src/gateway/route-meta.mjs +753 -0
- package/src/vendor/statusline/src/gateway/session-routes.mjs +244 -0
- package/src/workflows/default/WORKFLOW.md +7 -0
- package/src/workflows/default/workflow.json +14 -0
- package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
- package/vendor/ink/build/ansi-tokenizer.js +316 -0
- package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
- package/vendor/ink/build/colorize.d.ts +3 -0
- package/vendor/ink/build/colorize.js +48 -0
- package/vendor/ink/build/colorize.js.map +1 -0
- package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
- package/vendor/ink/build/components/AccessibilityContext.js +5 -0
- package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
- package/vendor/ink/build/components/AnimationContext.d.ts +9 -0
- package/vendor/ink/build/components/AnimationContext.js +13 -0
- package/vendor/ink/build/components/AnimationContext.js.map +1 -0
- package/vendor/ink/build/components/App.d.ts +24 -0
- package/vendor/ink/build/components/App.js +554 -0
- package/vendor/ink/build/components/App.js.map +1 -0
- package/vendor/ink/build/components/AppContext.d.ts +80 -0
- package/vendor/ink/build/components/AppContext.js +25 -0
- package/vendor/ink/build/components/AppContext.js.map +1 -0
- package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
- package/vendor/ink/build/components/BackgroundContext.js +3 -0
- package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
- package/vendor/ink/build/components/Box.d.ts +130 -0
- package/vendor/ink/build/components/Box.js +34 -0
- package/vendor/ink/build/components/Box.js.map +1 -0
- package/vendor/ink/build/components/CursorContext.d.ts +11 -0
- package/vendor/ink/build/components/CursorContext.js +8 -0
- package/vendor/ink/build/components/CursorContext.js.map +1 -0
- package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
- package/vendor/ink/build/components/ErrorBoundary.js +23 -0
- package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
- package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
- package/vendor/ink/build/components/ErrorOverview.js +90 -0
- package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
- package/vendor/ink/build/components/FocusContext.d.ts +16 -0
- package/vendor/ink/build/components/FocusContext.js +17 -0
- package/vendor/ink/build/components/FocusContext.js.map +1 -0
- package/vendor/ink/build/components/Newline.d.ts +13 -0
- package/vendor/ink/build/components/Newline.js +8 -0
- package/vendor/ink/build/components/Newline.js.map +1 -0
- package/vendor/ink/build/components/Spacer.d.ts +7 -0
- package/vendor/ink/build/components/Spacer.js +11 -0
- package/vendor/ink/build/components/Spacer.js.map +1 -0
- package/vendor/ink/build/components/Static.d.ts +24 -0
- package/vendor/ink/build/components/Static.js +28 -0
- package/vendor/ink/build/components/Static.js.map +1 -0
- package/vendor/ink/build/components/StderrContext.d.ts +15 -0
- package/vendor/ink/build/components/StderrContext.js +13 -0
- package/vendor/ink/build/components/StderrContext.js.map +1 -0
- package/vendor/ink/build/components/StdinContext.d.ts +28 -0
- package/vendor/ink/build/components/StdinContext.js +20 -0
- package/vendor/ink/build/components/StdinContext.js.map +1 -0
- package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
- package/vendor/ink/build/components/StdoutContext.js +13 -0
- package/vendor/ink/build/components/StdoutContext.js.map +1 -0
- package/vendor/ink/build/components/Text.d.ts +55 -0
- package/vendor/ink/build/components/Text.js +50 -0
- package/vendor/ink/build/components/Text.js.map +1 -0
- package/vendor/ink/build/components/Transform.d.ts +16 -0
- package/vendor/ink/build/components/Transform.js +15 -0
- package/vendor/ink/build/components/Transform.js.map +1 -0
- package/vendor/ink/build/cursor-helpers.d.ts +39 -0
- package/vendor/ink/build/cursor-helpers.js +62 -0
- package/vendor/ink/build/cursor-helpers.js.map +1 -0
- package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
- package/vendor/ink/build/devtools-window-polyfill.js +68 -0
- package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
- package/vendor/ink/build/devtools.d.ts +1 -0
- package/vendor/ink/build/devtools.js +36 -0
- package/vendor/ink/build/devtools.js.map +1 -0
- package/vendor/ink/build/dom.d.ts +62 -0
- package/vendor/ink/build/dom.js +143 -0
- package/vendor/ink/build/dom.js.map +1 -0
- package/vendor/ink/build/get-max-width.d.ts +3 -0
- package/vendor/ink/build/get-max-width.js +10 -0
- package/vendor/ink/build/get-max-width.js.map +1 -0
- package/vendor/ink/build/hooks/use-animation.d.ts +49 -0
- package/vendor/ink/build/hooks/use-animation.js +87 -0
- package/vendor/ink/build/hooks/use-animation.js.map +1 -0
- package/vendor/ink/build/hooks/use-app.d.ts +5 -0
- package/vendor/ink/build/hooks/use-app.js +8 -0
- package/vendor/ink/build/hooks/use-app.js.map +1 -0
- package/vendor/ink/build/hooks/use-box-metrics.d.ts +59 -0
- package/vendor/ink/build/hooks/use-box-metrics.js +81 -0
- package/vendor/ink/build/hooks/use-box-metrics.js.map +1 -0
- package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
- package/vendor/ink/build/hooks/use-cursor.js +29 -0
- package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus-manager.d.ts +43 -0
- package/vendor/ink/build/hooks/use-focus-manager.js +18 -0
- package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus.d.ts +30 -0
- package/vendor/ink/build/hooks/use-focus.js +43 -0
- package/vendor/ink/build/hooks/use-focus.js.map +1 -0
- package/vendor/ink/build/hooks/use-input.d.ts +132 -0
- package/vendor/ink/build/hooks/use-input.js +126 -0
- package/vendor/ink/build/hooks/use-input.js.map +1 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +6 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +12 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
- package/vendor/ink/build/hooks/use-paste.d.ts +35 -0
- package/vendor/ink/build/hooks/use-paste.js +62 -0
- package/vendor/ink/build/hooks/use-paste.js.map +1 -0
- package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stderr.js +8 -0
- package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdin.d.ts +7 -0
- package/vendor/ink/build/hooks/use-stdin.js +9 -0
- package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stdout.js +8 -0
- package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
- package/vendor/ink/build/hooks/use-window-size.d.ts +18 -0
- package/vendor/ink/build/hooks/use-window-size.js +22 -0
- package/vendor/ink/build/hooks/use-window-size.js.map +1 -0
- package/vendor/ink/build/index.d.ts +42 -0
- package/vendor/ink/build/index.js +24 -0
- package/vendor/ink/build/index.js.map +1 -0
- package/vendor/ink/build/ink.d.ts +146 -0
- package/vendor/ink/build/ink.js +1022 -0
- package/vendor/ink/build/ink.js.map +1 -0
- package/vendor/ink/build/input-parser.d.ts +10 -0
- package/vendor/ink/build/input-parser.js +194 -0
- package/vendor/ink/build/input-parser.js.map +1 -0
- package/vendor/ink/build/instances.d.ts +3 -0
- package/vendor/ink/build/instances.js +8 -0
- package/vendor/ink/build/instances.js.map +1 -0
- package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
- package/vendor/ink/build/kitty-keyboard.js +32 -0
- package/vendor/ink/build/kitty-keyboard.js.map +1 -0
- package/vendor/ink/build/log-update.d.ts +20 -0
- package/vendor/ink/build/log-update.js +261 -0
- package/vendor/ink/build/log-update.js.map +1 -0
- package/vendor/ink/build/measure-element.d.ts +20 -0
- package/vendor/ink/build/measure-element.js +13 -0
- package/vendor/ink/build/measure-element.js.map +1 -0
- package/vendor/ink/build/measure-text.d.ts +6 -0
- package/vendor/ink/build/measure-text.js +21 -0
- package/vendor/ink/build/measure-text.js.map +1 -0
- package/vendor/ink/build/output.d.ts +35 -0
- package/vendor/ink/build/output.js +328 -0
- package/vendor/ink/build/output.js.map +1 -0
- package/vendor/ink/build/parse-keypress.d.ts +20 -0
- package/vendor/ink/build/parse-keypress.js +495 -0
- package/vendor/ink/build/parse-keypress.js.map +1 -0
- package/vendor/ink/build/reconciler.d.ts +4 -0
- package/vendor/ink/build/reconciler.js +306 -0
- package/vendor/ink/build/reconciler.js.map +1 -0
- package/vendor/ink/build/render-background.d.ts +4 -0
- package/vendor/ink/build/render-background.js +25 -0
- package/vendor/ink/build/render-background.js.map +1 -0
- package/vendor/ink/build/render-border.d.ts +4 -0
- package/vendor/ink/build/render-border.js +84 -0
- package/vendor/ink/build/render-border.js.map +1 -0
- package/vendor/ink/build/render-node-to-output.d.ts +14 -0
- package/vendor/ink/build/render-node-to-output.js +162 -0
- package/vendor/ink/build/render-node-to-output.js.map +1 -0
- package/vendor/ink/build/render-to-string.d.ts +38 -0
- package/vendor/ink/build/render-to-string.js +116 -0
- package/vendor/ink/build/render-to-string.js.map +1 -0
- package/vendor/ink/build/render.d.ts +176 -0
- package/vendor/ink/build/render.js +71 -0
- package/vendor/ink/build/render.js.map +1 -0
- package/vendor/ink/build/renderer.d.ts +8 -0
- package/vendor/ink/build/renderer.js +64 -0
- package/vendor/ink/build/renderer.js.map +1 -0
- package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
- package/vendor/ink/build/sanitize-ansi.js +27 -0
- package/vendor/ink/build/sanitize-ansi.js.map +1 -0
- package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
- package/vendor/ink/build/squash-text-nodes.js +36 -0
- package/vendor/ink/build/squash-text-nodes.js.map +1 -0
- package/vendor/ink/build/styles.d.ts +302 -0
- package/vendor/ink/build/styles.js +303 -0
- package/vendor/ink/build/styles.js.map +1 -0
- package/vendor/ink/build/utils.d.ts +9 -0
- package/vendor/ink/build/utils.js +19 -0
- package/vendor/ink/build/utils.js.map +1 -0
- package/vendor/ink/build/wrap-text.d.ts +3 -0
- package/vendor/ink/build/wrap-text.js +38 -0
- package/vendor/ink/build/wrap-text.js.map +1 -0
- package/vendor/ink/build/write-synchronized.d.ts +4 -0
- package/vendor/ink/build/write-synchronized.js +9 -0
- package/vendor/ink/build/write-synchronized.js.map +1 -0
- package/vendor/ink/license +10 -0
- package/vendor/ink/package.json +137 -0
- package/.claude-plugin/marketplace.json +0 -34
- package/.claude-plugin/plugin.json +0 -20
- package/.gitattributes +0 -34
- package/.mcp.json +0 -14
- package/ARCHITECTURE.md +0 -77
- package/CHANGELOG.md +0 -30
- package/CONTRIBUTING.md +0 -45
- package/DATA-FLOW.md +0 -79
- package/LICENSE +0 -21
- package/SECURITY.md +0 -138
- package/UNINSTALL.md +0 -115
- package/agents/maintenance.md +0 -5
- package/agents/memory-classification.md +0 -30
- package/agents/scheduler-task.md +0 -18
- package/agents/webhook-handler.md +0 -27
- package/agents/worker.md +0 -24
- package/bin/bridge +0 -133
- package/bin/statusline-launcher.mjs +0 -82
- package/bin/statusline-lib.mjs +0 -581
- package/bin/statusline-route.mjs +0 -273
- package/bin/statusline.mjs +0 -638
- package/bun.lock +0 -927
- package/commands/config.md +0 -16
- package/commands/doctor.md +0 -13
- package/commands/model.md +0 -61
- package/commands/setup.md +0 -17
- package/defaults/hidden-roles.json +0 -68
- package/defaults/memory-chunk-prompt.md +0 -63
- package/defaults/mixdog-config.template.json +0 -27
- package/defaults/user-workflow.json +0 -8
- package/defaults/user-workflow.md +0 -17
- package/hooks/hooks.json +0 -73
- package/hooks/lib/active-instance.cjs +0 -77
- package/hooks/lib/permission-evaluator.cjs +0 -411
- package/hooks/lib/permission-route.cjs +0 -63
- package/hooks/lib/settings-loader.cjs +0 -117
- package/hooks/post-tool-use.cjs +0 -84
- package/hooks/pre-mcp-sandbox.cjs +0 -158
- package/hooks/pre-tool-subagent.cjs +0 -258
- package/hooks/session-start.cjs +0 -1493
- package/hooks/shim-launcher.cjs +0 -65
- package/hooks/turn-timer.cjs +0 -82
- package/lib/claude-md-writer.cjs +0 -386
- package/lib/keychain-cjs.cjs +0 -290
- package/lib/plugin-paths.cjs +0 -69
- package/lib/rules-builder.cjs +0 -241
- package/native/README.md +0 -117
- package/native/prebuilt/linux-aarch64/mixdog-shim +0 -0
- package/native/prebuilt/linux-x86_64/mixdog-shim +0 -0
- package/native/prebuilt/macos-aarch64/mixdog-shim +0 -0
- package/native/prebuilt/macos-x86_64/mixdog-shim +0 -0
- package/native/prebuilt/windows-x86_64/mixdog-shim.exe +0 -0
- package/prompts/code-review.txt +0 -16
- package/prompts/security-audit.txt +0 -17
- package/rules/bridge/00-common.md +0 -39
- package/rules/bridge/20-skip-protocol.md +0 -18
- package/rules/bridge/30-explorer.md +0 -33
- package/rules/bridge/40-cycle1-agent.md +0 -52
- package/rules/bridge/41-cycle2-agent.md +0 -62
- package/rules/lead/00-tool-lead.md +0 -61
- package/rules/lead/01-general.md +0 -26
- package/rules/lead/02-channels.md +0 -49
- package/rules/lead/03-team.md +0 -27
- package/rules/lead/04-workflow.md +0 -20
- package/rules/shared/00-language.md +0 -14
- package/rules/shared/01-tool.md +0 -138
- package/scripts/bootstrap.mjs +0 -130
- package/scripts/bridge-unify-smoke.mjs +0 -308
- package/scripts/build-runtime-linux.sh +0 -348
- package/scripts/build-runtime-macos.sh +0 -217
- package/scripts/build-runtime-windows.ps1 +0 -242
- package/scripts/builtin-utils-smoke.mjs +0 -398
- package/scripts/bump.mjs +0 -80
- package/scripts/check-json.mjs +0 -45
- package/scripts/check-syntax-changed.mjs +0 -102
- package/scripts/check-syntax.mjs +0 -58
- package/scripts/code-graph-batch.test.mjs +0 -33
- package/scripts/config-preserve-smoke.mjs +0 -180
- package/scripts/doctor.mjs +0 -489
- package/scripts/edit-normalize-fuzz.mjs +0 -130
- package/scripts/edit-normalize-smoke.mjs +0 -401
- package/scripts/edit-operation-smoke.mjs +0 -369
- package/scripts/edit2-smoke.mjs +0 -63
- package/scripts/ensure-deps.mjs +0 -259
- package/scripts/fuzzy-e2e.mjs +0 -28
- package/scripts/fuzzy-smoke.mjs +0 -26
- package/scripts/gateway-model.mjs +0 -596
- package/scripts/generate-runtime-manifest.mjs +0 -166
- package/scripts/guard-smoke.mjs +0 -66
- package/scripts/hidden-role-schema-smoke.mjs +0 -162
- package/scripts/hook-routing-smoke.mjs +0 -29
- package/scripts/inject-input.ps1 +0 -204
- package/scripts/io-complex-smoke.mjs +0 -667
- package/scripts/io-explore-bench.mjs +0 -424
- package/scripts/io-guardrails-smoke.mjs +0 -205
- package/scripts/io-mini-bench-baseline.json +0 -11
- package/scripts/io-mini-bench.mjs +0 -216
- package/scripts/io-route-harness.mjs +0 -933
- package/scripts/io-telemetry-report.mjs +0 -691
- package/scripts/lib/gateway-inventory.mjs +0 -178
- package/scripts/lib/gateway-settings.mjs +0 -78
- package/scripts/mutation-bench.mjs +0 -564
- package/scripts/mutation-io-smoke.mjs +0 -1097
- package/scripts/native-patch-bridge-smoke.mjs +0 -288
- package/scripts/native-patch-smoke.mjs +0 -304
- package/scripts/openai-oauth-catalog-smoke.mjs +0 -53
- package/scripts/patch-interior-context-smoke.mjs +0 -49
- package/scripts/patch-newline-utf8-smoke.mjs +0 -157
- package/scripts/perf-hook-smoke.mjs +0 -71
- package/scripts/permission-eval-smoke.mjs +0 -443
- package/scripts/prep-patch.mjs +0 -53
- package/scripts/prep-shim.mjs +0 -96
- package/scripts/provider-cache-smoke.mjs +0 -687
- package/scripts/report-runtime-health.mjs +0 -132
- package/scripts/resolve-bun.mjs +0 -60
- package/scripts/run-mcp.mjs +0 -1473
- package/scripts/salvage-v4a-shatter.test.mjs +0 -58
- package/scripts/scoped-cache-io-smoke.mjs +0 -103
- package/scripts/shell-policy-round3-smoke.mjs +0 -46
- package/scripts/smoke-runtime-negative.ps1 +0 -100
- package/scripts/smoke-runtime-negative.sh +0 -95
- package/scripts/stall-policy-smoke.mjs +0 -50
- package/scripts/start-memory-worker.mjs +0 -23
- package/scripts/statusline-launcher-smoke.mjs +0 -235
- package/scripts/stress-atomic-write.mjs +0 -1028
- package/scripts/test-fault-inject.mjs +0 -164
- package/scripts/test-large-file.mjs +0 -174
- package/scripts/tool-edge-smoke.mjs +0 -209
- package/scripts/uninstall.mjs +0 -238
- package/scripts/webhook-selfheal-smoke.mjs +0 -27
- package/scripts/write-overwrite-guard-smoke.mjs +0 -56
- package/server-main.mjs +0 -3350
- package/server.mjs +0 -468
- package/setup/config-merge.mjs +0 -246
- package/setup/install.mjs +0 -574
- package/setup/launch-core.mjs +0 -617
- package/setup/launch.mjs +0 -101
- package/setup/locate-claude.mjs +0 -56
- package/setup/mixdog-cli.mjs +0 -122
- package/setup/setup-server.mjs +0 -3305
- package/setup/setup.html +0 -3740
- package/setup/tui.mjs +0 -325
- package/skills/retro-skill-proposer/SKILL.md +0 -92
- package/skills/schedule-add/SKILL.md +0 -77
- package/skills/setup/SKILL.md +0 -356
- package/skills/webhook-add/SKILL.md +0 -81
- package/src/agent/bridge-stall-watchdog.mjs +0 -337
- package/src/agent/index.mjs +0 -2229
- package/src/agent/orchestrator/ai-wrapped-dispatch.mjs +0 -1010
- package/src/agent/orchestrator/bridge-retry.mjs +0 -220
- package/src/agent/orchestrator/bridge-trace.mjs +0 -601
- package/src/agent/orchestrator/cache-mtime.mjs +0 -58
- package/src/agent/orchestrator/config.mjs +0 -405
- package/src/agent/orchestrator/context/collect.mjs +0 -651
- package/src/agent/orchestrator/dispatch-persist.mjs +0 -549
- package/src/agent/orchestrator/drain-registry.mjs +0 -50
- package/src/agent/orchestrator/explore-validator.mjs +0 -8
- package/src/agent/orchestrator/internal-roles.mjs +0 -118
- package/src/agent/orchestrator/internal-tools.mjs +0 -88
- package/src/agent/orchestrator/jobs.mjs +0 -116
- package/src/agent/orchestrator/mcp/client.mjs +0 -364
- package/src/agent/orchestrator/providers/anthropic-oauth.mjs +0 -1884
- package/src/agent/orchestrator/providers/anthropic.mjs +0 -598
- package/src/agent/orchestrator/providers/gemini.mjs +0 -1530
- package/src/agent/orchestrator/providers/grok-oauth.mjs +0 -779
- package/src/agent/orchestrator/providers/model-catalog.mjs +0 -374
- package/src/agent/orchestrator/providers/openai-compat-stream.mjs +0 -366
- package/src/agent/orchestrator/providers/openai-compat.mjs +0 -1511
- package/src/agent/orchestrator/providers/openai-oauth-ws.mjs +0 -1891
- package/src/agent/orchestrator/providers/openai-oauth.mjs +0 -1456
- package/src/agent/orchestrator/providers/openai-ws.mjs +0 -127
- package/src/agent/orchestrator/providers/registry.mjs +0 -192
- package/src/agent/orchestrator/providers/retry-classifier.mjs +0 -325
- package/src/agent/orchestrator/session/cache/prefetch-cache.mjs +0 -142
- package/src/agent/orchestrator/session/cache/read-cache.mjs +0 -319
- package/src/agent/orchestrator/session/cache/scoped-cache.mjs +0 -361
- package/src/agent/orchestrator/session/loop.mjs +0 -1619
- package/src/agent/orchestrator/session/manager.mjs +0 -1991
- package/src/agent/orchestrator/session/result-classification.mjs +0 -65
- package/src/agent/orchestrator/session/store.mjs +0 -632
- package/src/agent/orchestrator/session/stream-watchdog.mjs +0 -130
- package/src/agent/orchestrator/session/tool-result-offload.mjs +0 -166
- package/src/agent/orchestrator/session/trim.mjs +0 -491
- package/src/agent/orchestrator/smart-bridge/CACHE-SHARD.md +0 -115
- package/src/agent/orchestrator/smart-bridge/bridge-llm.mjs +0 -331
- package/src/agent/orchestrator/smart-bridge/cache-obs.mjs +0 -150
- package/src/agent/orchestrator/smart-bridge/cache-strategy.mjs +0 -228
- package/src/agent/orchestrator/smart-bridge/index.mjs +0 -215
- package/src/agent/orchestrator/smart-bridge/profiles.mjs +0 -37
- package/src/agent/orchestrator/smart-bridge/registry.mjs +0 -348
- package/src/agent/orchestrator/stall-policy.mjs +0 -201
- package/src/agent/orchestrator/tool-loop-guard.mjs +0 -75
- package/src/agent/orchestrator/tools/bash-session.mjs +0 -722
- package/src/agent/orchestrator/tools/builtin/arg-guard.mjs +0 -511
- package/src/agent/orchestrator/tools/builtin/bash-tool.mjs +0 -480
- package/src/agent/orchestrator/tools/builtin/builtin-tools.mjs +0 -256
- package/src/agent/orchestrator/tools/builtin/edit-base-guard.mjs +0 -58
- package/src/agent/orchestrator/tools/builtin/edit-byte-plan.mjs +0 -240
- package/src/agent/orchestrator/tools/builtin/edit-byte-utils.mjs +0 -113
- package/src/agent/orchestrator/tools/builtin/edit-commit.mjs +0 -74
- package/src/agent/orchestrator/tools/builtin/edit-context-utils.mjs +0 -242
- package/src/agent/orchestrator/tools/builtin/edit-diagnostics.mjs +0 -211
- package/src/agent/orchestrator/tools/builtin/edit-engine.mjs +0 -1364
- package/src/agent/orchestrator/tools/builtin/edit-failure-context.mjs +0 -126
- package/src/agent/orchestrator/tools/builtin/edit-hint.mjs +0 -141
- package/src/agent/orchestrator/tools/builtin/edit-match-utils.mjs +0 -194
- package/src/agent/orchestrator/tools/builtin/edit-partial-write.mjs +0 -60
- package/src/agent/orchestrator/tools/builtin/edit-stale-refresh.mjs +0 -168
- package/src/agent/orchestrator/tools/builtin/edit-tool.mjs +0 -173
- package/src/agent/orchestrator/tools/builtin/edit-utf8-guard.mjs +0 -48
- package/src/agent/orchestrator/tools/builtin/fuzzy-match.mjs +0 -99
- package/src/agent/orchestrator/tools/builtin/glob-walk.mjs +0 -193
- package/src/agent/orchestrator/tools/builtin/list-tool.mjs +0 -597
- package/src/agent/orchestrator/tools/builtin/native-edit-runner.mjs +0 -110
- package/src/agent/orchestrator/tools/builtin/notebook-edit-tool.mjs +0 -300
- package/src/agent/orchestrator/tools/builtin/path-diagnostics.mjs +0 -152
- package/src/agent/orchestrator/tools/builtin/read-formatting.mjs +0 -118
- package/src/agent/orchestrator/tools/builtin/read-open.mjs +0 -190
- package/src/agent/orchestrator/tools/builtin/read-single-tool.mjs +0 -728
- package/src/agent/orchestrator/tools/builtin/read-snapshot-runtime.mjs +0 -173
- package/src/agent/orchestrator/tools/builtin/read-streaming.mjs +0 -602
- package/src/agent/orchestrator/tools/builtin/rename-tool.mjs +0 -196
- package/src/agent/orchestrator/tools/builtin/rg-runner.mjs +0 -422
- package/src/agent/orchestrator/tools/builtin/search-builders.mjs +0 -158
- package/src/agent/orchestrator/tools/builtin/search-tool.mjs +0 -869
- package/src/agent/orchestrator/tools/builtin/shell-jobs.mjs +0 -962
- package/src/agent/orchestrator/tools/builtin/shell-runtime.mjs +0 -223
- package/src/agent/orchestrator/tools/builtin/snapshot-store.mjs +0 -206
- package/src/agent/orchestrator/tools/builtin/write-tool.mjs +0 -401
- package/src/agent/orchestrator/tools/builtin.mjs +0 -503
- package/src/agent/orchestrator/tools/code-graph-tool-defs.mjs +0 -24
- package/src/agent/orchestrator/tools/code-graph.mjs +0 -4095
- package/src/agent/orchestrator/tools/cwd-tool.mjs +0 -298
- package/src/agent/orchestrator/tools/destructive-warning.mjs +0 -323
- package/src/agent/orchestrator/tools/edit-normalize.mjs +0 -603
- package/src/agent/orchestrator/tools/graph-binary-fetcher.mjs +0 -154
- package/src/agent/orchestrator/tools/graph-manifest.json +0 -26
- package/src/agent/orchestrator/tools/host-input.mjs +0 -204
- package/src/agent/orchestrator/tools/patch-binary-fetcher.mjs +0 -143
- package/src/agent/orchestrator/tools/patch-manifest.json +0 -26
- package/src/agent/orchestrator/tools/patch-tool-defs.mjs +0 -20
- package/src/agent/orchestrator/tools/patch.mjs +0 -2754
- package/src/agent/orchestrator/tools/progress-message.mjs +0 -118
- package/src/agent/orchestrator/tools/shell-command.mjs +0 -865
- package/src/agent/orchestrator/tools/shell-policy-imports.mjs +0 -7
- package/src/agent/orchestrator/tools/shell-snapshot.mjs +0 -313
- package/src/agent/orchestrator/workflow-store.mjs +0 -93
- package/src/agent/tool-defs.mjs +0 -110
- package/src/channels/backends/discord.mjs +0 -784
- package/src/channels/data/voice-runtime-manifest.json +0 -138
- package/src/channels/index.mjs +0 -3268
- package/src/channels/lib/config.mjs +0 -292
- package/src/channels/lib/drop-trace.mjs +0 -71
- package/src/channels/lib/event-pipeline.mjs +0 -81
- package/src/channels/lib/holidays.mjs +0 -138
- package/src/channels/lib/hook-pipe-server.mjs +0 -822
- package/src/channels/lib/output-forwarder.mjs +0 -765
- package/src/channels/lib/runtime-paths.mjs +0 -552
- package/src/channels/lib/scheduler.mjs +0 -723
- package/src/channels/lib/session-discovery.mjs +0 -103
- package/src/channels/lib/state-file.mjs +0 -68
- package/src/channels/lib/status-snapshot.mjs +0 -219
- package/src/channels/lib/tool-format.mjs +0 -140
- package/src/channels/lib/transcript-discovery.mjs +0 -195
- package/src/channels/lib/voice-runtime-fetcher.mjs +0 -734
- package/src/channels/lib/webhook.mjs +0 -1318
- package/src/channels/tool-defs.mjs +0 -170
- package/src/daemon/host.mjs +0 -118
- package/src/daemon/mcp-transport.mjs +0 -47
- package/src/daemon/session.mjs +0 -100
- package/src/daemon/thin-client.mjs +0 -71
- package/src/daemon/transport.mjs +0 -163
- package/src/gateway/claude-current.mjs +0 -255
- package/src/gateway/oauth-usage.mjs +0 -598
- package/src/gateway/route-meta.mjs +0 -629
- package/src/gateway/server.mjs +0 -713
- package/src/memory/data/runtime-manifest.json +0 -40
- package/src/memory/index.mjs +0 -3332
- package/src/memory/lib/core-memory-store.mjs +0 -330
- package/src/memory/lib/embedding-provider.mjs +0 -269
- package/src/memory/lib/embedding-worker.mjs +0 -323
- package/src/memory/lib/memory-cycle1.mjs +0 -645
- package/src/memory/lib/memory-cycle2.mjs +0 -1284
- package/src/memory/lib/memory-cycle3.mjs +0 -540
- package/src/memory/lib/memory-embed.mjs +0 -299
- package/src/memory/lib/memory-ops-policy.mjs +0 -190
- package/src/memory/lib/memory-recall-store.mjs +0 -638
- package/src/memory/lib/memory.mjs +0 -412
- package/src/memory/lib/pg/adapter.mjs +0 -308
- package/src/memory/lib/pg/process.mjs +0 -360
- package/src/memory/lib/pg/supervisor.mjs +0 -396
- package/src/memory/lib/runtime-fetcher.mjs +0 -458
- package/src/memory/lib/trace-store.mjs +0 -728
- package/src/memory/tool-defs.mjs +0 -79
- package/src/search/index.mjs +0 -1173
- package/src/search/lib/backends/anthropic-oauth.mjs +0 -98
- package/src/search/lib/backends/exa.mjs +0 -50
- package/src/search/lib/backends/firecrawl.mjs +0 -61
- package/src/search/lib/backends/gemini-api.mjs +0 -83
- package/src/search/lib/backends/grok-oauth.mjs +0 -86
- package/src/search/lib/backends/index.mjs +0 -150
- package/src/search/lib/backends/openai-api.mjs +0 -144
- package/src/search/lib/backends/openai-oauth.mjs +0 -102
- package/src/search/lib/backends/openai-web-search.mjs +0 -76
- package/src/search/lib/backends/tavily.mjs +0 -55
- package/src/search/lib/backends/xai-api.mjs +0 -113
- package/src/search/lib/config.mjs +0 -192
- package/src/search/lib/provider-usage.mjs +0 -67
- package/src/search/lib/providers.mjs +0 -47
- package/src/search/lib/search-intent.mjs +0 -109
- package/src/search/lib/setup-handler.mjs +0 -261
- package/src/search/lib/web-tools.mjs +0 -1219
- package/src/search/tool-defs.mjs +0 -83
- package/src/setup/defender-exclusion.mjs +0 -183
- package/src/shared/atomic-file.mjs +0 -436
- package/src/shared/config.mjs +0 -372
- package/src/shared/daemon-recycle.mjs +0 -108
- package/src/shared/disable-claude-builtins.mjs +0 -91
- package/src/shared/err-text.mjs +0 -12
- package/src/shared/llm/http-agent.mjs +0 -123
- package/src/shared/open-url.mjs +0 -62
- package/src/shared/plugin-paths.mjs +0 -58
- package/src/shared/schedules-store.mjs +0 -70
- package/src/shared/seed.mjs +0 -161
- package/src/shared/user-cwd.mjs +0 -225
- package/src/shared/user-data-guard.mjs +0 -244
- package/src/status/aggregator.mjs +0 -584
- package/src/status/server.mjs +0 -413
- package/tools.json +0 -1671
- /package/{defaults → src/defaults}/cycle3-review-prompt.md +0 -0
- /package/{defaults → src/defaults}/memory-promote-prompt.md +0 -0
- /package/{hooks → src/hooks}/lib/permission-rules.cjs +0 -0
- /package/{lib → src/lib}/config-cjs.cjs +0 -0
- /package/{lib → src/lib}/hook-pipe-path.cjs +0 -0
- /package/{lib → src/lib}/mixdog-debug.cjs +0 -0
- /package/{lib → src/lib}/text-utils.cjs +0 -0
- /package/{rules → src/rules}/bridge/42-cycle3-agent.md +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/activity-bus.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/providers/anthropic-betas.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/abort-lookup.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/cache/post-edit-marks.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/cache/scoped-cache-outcome.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/cache/util.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/read-dedup.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/session/save-session-worker.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/smart-bridge/session-builder.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/bash-policy-scan.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/advisory-lock.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/atomic-write.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/binary-file.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/cache-layers.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/cwd-utils.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/device-paths.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/diagnostics-tool.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/diff-utils.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/fs-reachability.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/grep-formatting.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/hash-utils.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/list-formatting.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/open-config-tool.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/path-locks.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/path-utils.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-args.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-batch.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-constants.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-image-resize.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-image.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-lines.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-mode-tool.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-range-index.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-ranges.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-special-files.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-tool.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/read-windows.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/shell-analysis.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/shell-output.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/snapshot-helpers.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/snapshot-validation.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/text-stats.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/builtin/windows-roots.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/code-graph-prewarm-worker.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/env-scrub.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/mutation-content-cache.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/mutation-planner.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/next-call-utils.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/result-compression.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/shell-exec-policy.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/shell-policy-danger-target.mjs +0 -0
- /package/src/{agent → runtime/agent}/orchestrator/tools/shell-policy.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/cli-worker-host.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/config-lock.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/event-queue.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/executor.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/format.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/interaction-workflows.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/memory-client.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/session-control.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/settings.mjs +0 -0
- /package/src/{channels → runtime/channels}/lib/whisper-server.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/agent-ipc.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/bridge-trace-queries.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/llm-worker-host.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-cycle.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-extraction.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-maintenance-store.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-recall-id-patch.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-recall-read-query.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-recall-scope-filter.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-retrievers.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-score.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/memory-text-utils.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/model-profile.mjs +0 -0
- /package/src/{memory → runtime/memory}/lib/project-id-resolver.mjs +0 -0
- /package/src/{search → runtime/search}/lib/cache.mjs +0 -0
- /package/src/{search → runtime/search}/lib/formatter.mjs +0 -0
- /package/src/{search → runtime/search}/lib/state.mjs +0 -0
- /package/src/{shared → runtime/shared}/abort-controller.mjs +0 -0
- /package/src/{shared → runtime/shared}/llm/cost.mjs +0 -0
- /package/src/{shared → runtime/shared}/llm/index.mjs +0 -0
- /package/src/{shared → runtime/shared}/llm/pid-cleanup.mjs +0 -0
- /package/src/{shared → runtime/shared}/llm/usage-log.mjs +0 -0
- /package/src/{shared → runtime/shared}/wsl.mjs +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: default
|
|
3
|
+
description: Default concise engineering replies
|
|
4
|
+
keep-coding-instructions: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Output Style
|
|
8
|
+
|
|
9
|
+
Default concise engineering replies. Technical substance stays; fluff dies.
|
|
10
|
+
Uniformity beats local cleverness.
|
|
11
|
+
|
|
12
|
+
- Answer first. No pleasantries, hedging, task restatement, or tool narration.
|
|
13
|
+
- One answer only. Do not repeat the conclusion in a second paragraph or trailing
|
|
14
|
+
sentence.
|
|
15
|
+
- Tool work: one short intent line, then batch silently. For long chains, one
|
|
16
|
+
checkpoint only: learned + next.
|
|
17
|
+
- Default final: one sentence. If crowded, max 2 flat bullets. Code-change final:
|
|
18
|
+
max 3 flat bullets, but prefer one sentence with semicolons. Omit empty fields.
|
|
19
|
+
- Hard cap user-visible replies at 2 short sentences unless the user asks for
|
|
20
|
+
detail. If a previous reply was too long, answer with one short sentence.
|
|
21
|
+
- Keep the same shape for the same task type: explanation = one sentence;
|
|
22
|
+
implementation = changed + verified in one sentence; diagnosis = cause +
|
|
23
|
+
evidence + fix in one sentence.
|
|
24
|
+
- No report headings/labels, nested bullets, tables, numbered lists, tool traces,
|
|
25
|
+
searched-path lists, agent/model/session metadata, timings, or token counts
|
|
26
|
+
unless user asks or it is decisive evidence.
|
|
27
|
+
- Do not use label prefixes such as `Changed:`, `Verified:`, `변경:`, `검증:`,
|
|
28
|
+
`원인:`, or `결론:`. Use plain clauses instead.
|
|
29
|
+
- Bridge/agent results: synthesize outcome; never forward full report.
|
|
30
|
+
- Explore/retrieval results are evidence only; do not paste their bullets or file
|
|
31
|
+
lists into the answer unless the user explicitly asked for candidates/details.
|
|
32
|
+
- Keep paths, commands, symbols, API names, code, and exact errors verbatim.
|
|
33
|
+
Localize prose only.
|
|
34
|
+
- Quote only the shortest decisive error. No raw logs or long file lists unless
|
|
35
|
+
asked.
|
|
36
|
+
- Relax compression for security, destructive actions, ambiguity, or user
|
|
37
|
+
confusion.
|
|
38
|
+
- Never name this style unless asked.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: extreme-simple
|
|
3
|
+
title: Extreme Simple
|
|
4
|
+
description: Ultra-short completion sentence
|
|
5
|
+
aliases: extreme, extreme simple
|
|
6
|
+
keep-coding-instructions: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Output Style
|
|
10
|
+
|
|
11
|
+
Extreme simple completion replies.
|
|
12
|
+
|
|
13
|
+
- Reply with one ultra-short completion sentence whenever possible.
|
|
14
|
+
- Preferred completion pattern: `<target> 변경되었습니다. <verification> 통과 완료입니다.`
|
|
15
|
+
- If verification was not run, use one short sentence that says the change is done and verification was not run.
|
|
16
|
+
- Avoid headings, bullets, labels, explanations, tool traces, and metadata unless the user explicitly asks.
|
|
17
|
+
- Preserve exact paths, commands, symbols, API names, code, and errors when they are the only decisive detail.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: simple
|
|
3
|
+
title: Simple
|
|
4
|
+
description: 1-2 concise sentences
|
|
5
|
+
keep-coding-instructions: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Output Style
|
|
9
|
+
|
|
10
|
+
Simple concise replies.
|
|
11
|
+
|
|
12
|
+
- Answer in 1-2 concise sentences by default.
|
|
13
|
+
- Keep technical substance, paths, commands, symbols, API names, code, and exact errors verbatim.
|
|
14
|
+
- Use bullets only when a sentence would become crowded.
|
|
15
|
+
- Avoid headings, labels, nested bullets, tool traces, and metadata unless the user asks.
|
|
16
|
+
- For code changes, say what changed and the decisive verification in one short sentence when possible.
|
|
17
|
+
- If verification was not run, say so briefly.
|
package/src/repl.mjs
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mixdog REPL — styled inline terminal loop over the ported mixdog brain.
|
|
3
|
+
*
|
|
4
|
+
* Drives the *ported mixdog brain* through mixdog-session-runtime.mjs:
|
|
5
|
+
* createSession + askSession own agentLoop/provider/tools/compaction, while
|
|
6
|
+
* this module stays presentation-only: markdown-rendered replies, tool-call
|
|
7
|
+
* cards, a per-turn statusline footer, slash commands, and arrow-key history.
|
|
8
|
+
*
|
|
9
|
+
* Flow: stdin line → runtime.ask(prompt) → onTextDelta streams tokens to
|
|
10
|
+
* stdout live → tool calls render as cards → on turn end we re-render
|
|
11
|
+
* the assistant text as markdown → statusline footer.
|
|
12
|
+
*
|
|
13
|
+
* STREAMING DECISION (approach (a) from the brief):
|
|
14
|
+
* Live token streaming via onTextDelta conflicts with post-hoc markdown
|
|
15
|
+
* rendering (you can't style a heading until you've seen the whole line).
|
|
16
|
+
* We choose: stream raw tokens live so the turn FEELS alive, then on turn
|
|
17
|
+
* end clear the streamed raw block and re-print the markdown-rendered text.
|
|
18
|
+
* Rationale: the alternative (buffer silently, render once) loses all live
|
|
19
|
+
* feedback on slow turns, which is the worse UX. The re-render is cheap and
|
|
20
|
+
* only runs when stdout is a TTY (so piped/non-TTY output stays clean and is
|
|
21
|
+
* never clobbered by cursor-movement escapes).
|
|
22
|
+
*/
|
|
23
|
+
import { createInterface } from 'node:readline';
|
|
24
|
+
import { stdin, stdout } from 'node:process';
|
|
25
|
+
import { basename } from 'node:path';
|
|
26
|
+
|
|
27
|
+
import { bold, dim, cyan, green, red, yellow, colorEnabled } from './ui/ansi.mjs';
|
|
28
|
+
import { renderMarkdown } from './ui/markdown.mjs';
|
|
29
|
+
import { renderToolCard } from './ui/tool-card.mjs';
|
|
30
|
+
import { createSessionStats, applyUsageDelta, renderStatusline } from './ui/statusline.mjs';
|
|
31
|
+
import { createMixdogSessionRuntime } from './mixdog-session-runtime.mjs';
|
|
32
|
+
import { installProcessSignalCleanup } from './runtime/shared/process-shutdown.mjs';
|
|
33
|
+
|
|
34
|
+
/** Help text shared by `--help` and the `/help` slash command. */
|
|
35
|
+
const HELP_LINES = [
|
|
36
|
+
'mixdog — standalone mixdog CLI/TUI coding agent.',
|
|
37
|
+
'',
|
|
38
|
+
'Usage:',
|
|
39
|
+
' mixdog [--provider <name>] [--model <name>] [--readonly]',
|
|
40
|
+
' mixdog --help',
|
|
41
|
+
'',
|
|
42
|
+
'Slash commands (inside the REPL):',
|
|
43
|
+
' /help show this help',
|
|
44
|
+
' /clear reset the conversation and clear the screen',
|
|
45
|
+
' /compact compact older conversation context',
|
|
46
|
+
' /model <name> switch model/preset for subsequent turns',
|
|
47
|
+
' /OutputStyle [name] show or switch Lead output style',
|
|
48
|
+
' /mode <name> switch tool surface: full | readonly',
|
|
49
|
+
' /exit quit',
|
|
50
|
+
'',
|
|
51
|
+
'History: use ↑ / ↓ to recall previous inputs.',
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
/** Print the `--help` text. Routed here so app.mjs stays untouched. */
|
|
55
|
+
export function printHelp(write = (s) => stdout.write(s)) {
|
|
56
|
+
write(HELP_LINES.join('\n') + '\n');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export async function runRepl({ provider: providerName, model, toolMode = 'full' } = {}) {
|
|
60
|
+
// `--help` short-circuits before any provider init so the smoke test (which
|
|
61
|
+
// invokes `src/cli.mjs --help`) gets clean help output and a 0 exit. We read
|
|
62
|
+
// argv here rather than editing app.mjs, keeping changes confined to the REPL.
|
|
63
|
+
if (process.argv.slice(2).some((a) => a === '--help' || a === '-h')) {
|
|
64
|
+
printHelp();
|
|
65
|
+
return 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const runtime = await createMixdogSessionRuntime({ provider: providerName, model, toolMode });
|
|
69
|
+
const stats = createSessionStats();
|
|
70
|
+
const cwd = process.cwd();
|
|
71
|
+
let rl = null;
|
|
72
|
+
let closed = false;
|
|
73
|
+
const closeRuntime = async (reason = 'cli-exit') => {
|
|
74
|
+
if (closed) return;
|
|
75
|
+
closed = true;
|
|
76
|
+
try { rl?.close(); } catch {}
|
|
77
|
+
await runtime.close(reason);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
printBanner(runtime.provider, runtime.model, cwd, runtime.toolMode);
|
|
81
|
+
|
|
82
|
+
rl = createInterface({
|
|
83
|
+
input: stdin,
|
|
84
|
+
output: stdout,
|
|
85
|
+
prompt: promptText(),
|
|
86
|
+
// historySize > 0 enables readline's built-in ↑/↓ recall of prior inputs.
|
|
87
|
+
historySize: 200,
|
|
88
|
+
});
|
|
89
|
+
const signalCleanup = installProcessSignalCleanup({
|
|
90
|
+
name: 'mixdog-repl',
|
|
91
|
+
timeoutMs: 6500,
|
|
92
|
+
beforeCleanup: () => { try { stdout.write('\n'); } catch {} },
|
|
93
|
+
cleanup: closeRuntime,
|
|
94
|
+
});
|
|
95
|
+
rl.on('SIGINT', () => {
|
|
96
|
+
void signalCleanup.run('SIGINT', { code: 130, shouldExit: true });
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
try {
|
|
100
|
+
rl.prompt();
|
|
101
|
+
|
|
102
|
+
for await (const rawLine of rl) {
|
|
103
|
+
const line = rawLine.trim();
|
|
104
|
+
if (!line) {
|
|
105
|
+
rl.prompt();
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// --- Slash commands ---------------------------------------------------
|
|
110
|
+
if (line.startsWith('/')) {
|
|
111
|
+
const handled = await handleSlash(line, {
|
|
112
|
+
rl,
|
|
113
|
+
runtime,
|
|
114
|
+
stats,
|
|
115
|
+
cwd,
|
|
116
|
+
closeRuntime,
|
|
117
|
+
});
|
|
118
|
+
if (handled === 'exit') {
|
|
119
|
+
return 0;
|
|
120
|
+
}
|
|
121
|
+
rl.setPrompt(promptText());
|
|
122
|
+
rl.prompt();
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
stdout.write('\n');
|
|
127
|
+
|
|
128
|
+
let streamedText = '';
|
|
129
|
+
let printedAny = false;
|
|
130
|
+
try {
|
|
131
|
+
const { result } = await runtime.ask(
|
|
132
|
+
line,
|
|
133
|
+
{
|
|
134
|
+
onToolCall: async (_iter, calls) => {
|
|
135
|
+
for (const c of calls || []) stdout.write('\n' + renderToolCard(c) + '\n');
|
|
136
|
+
},
|
|
137
|
+
onTextDelta: (chunk) => {
|
|
138
|
+
printedAny = true;
|
|
139
|
+
streamedText += chunk;
|
|
140
|
+
stdout.write(chunk);
|
|
141
|
+
},
|
|
142
|
+
onUsageDelta: (delta) => applyUsageDelta(stats, delta),
|
|
143
|
+
},
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
const finalText = (result?.content != null && String(result.content)) || streamedText;
|
|
147
|
+
|
|
148
|
+
// Approach (a): clear the raw streamed block and re-print as markdown.
|
|
149
|
+
// Only when we're on a TTY and actually streamed something — otherwise the
|
|
150
|
+
// raw text already on screen is fine (and we must not emit cursor escapes
|
|
151
|
+
// into a pipe).
|
|
152
|
+
if (finalText) {
|
|
153
|
+
if (printedAny && colorEnabled()) {
|
|
154
|
+
eraseStreamedBlock(streamedText);
|
|
155
|
+
stdout.write(renderMarkdown(finalText) + '\n');
|
|
156
|
+
} else if (!printedAny) {
|
|
157
|
+
// Nothing streamed live (provider without onTextDelta) — render once.
|
|
158
|
+
stdout.write(renderMarkdown(finalText) + '\n');
|
|
159
|
+
} else {
|
|
160
|
+
// Non-TTY / NO_COLOR: leave the raw stream, just terminate the line.
|
|
161
|
+
stdout.write('\n');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Per-turn statusline footer.
|
|
166
|
+
stdout.write('\n' + (await renderStatusline({
|
|
167
|
+
provider: runtime.provider,
|
|
168
|
+
model: runtime.model,
|
|
169
|
+
cwd,
|
|
170
|
+
stats,
|
|
171
|
+
contextWindow: runtime.contextWindow,
|
|
172
|
+
rawContextWindow: runtime.rawContextWindow,
|
|
173
|
+
})) + '\n');
|
|
174
|
+
} catch (error) {
|
|
175
|
+
stdout.write('\n' + red(`[error] ${error?.message || error}`) + '\n');
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
stdout.write('\n');
|
|
179
|
+
rl.setPrompt(promptText());
|
|
180
|
+
rl.prompt();
|
|
181
|
+
}
|
|
182
|
+
} finally {
|
|
183
|
+
signalCleanup.uninstall();
|
|
184
|
+
await closeRuntime('cli-eof');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// --- UI bits -----------------------------------------------------------------
|
|
191
|
+
|
|
192
|
+
function promptText() {
|
|
193
|
+
return colorEnabled() ? cyan(bold('› ')) : '› ';
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function printBanner(providerName, model, cwd, toolMode) {
|
|
197
|
+
const title = bold('mixdog');
|
|
198
|
+
const id = cyan(`${providerName}/${model}`);
|
|
199
|
+
stdout.write(`${title} ${dim('—')} ${id} ${dim('·')} ${dim(toolMode)} ${dim('·')} ${dim(basename(cwd))}\n`);
|
|
200
|
+
stdout.write(dim('Type a message, or /help for commands. Ctrl+C to exit.') + '\n\n');
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Erase the raw streamed assistant block so we can re-print it as markdown.
|
|
205
|
+
* Computes how many terminal rows the streamed text + tool-card lines consumed.
|
|
206
|
+
* Conservative: if the math is off we still leave a readable transcript.
|
|
207
|
+
*/
|
|
208
|
+
function eraseStreamedBlock(streamedText) {
|
|
209
|
+
const cols = (stdout.columns && stdout.columns > 0) ? stdout.columns : 80;
|
|
210
|
+
let rows = 0;
|
|
211
|
+
for (const seg of String(streamedText).split('\n')) {
|
|
212
|
+
rows += Math.max(1, Math.ceil((seg.length || 1) / cols));
|
|
213
|
+
}
|
|
214
|
+
// Move to column 0, then for each consumed row move up and clear it.
|
|
215
|
+
stdout.write('\r');
|
|
216
|
+
for (let i = 0; i < rows; i++) {
|
|
217
|
+
stdout.write('\x1b[2K'); // clear current line
|
|
218
|
+
if (i < rows - 1) stdout.write('\x1b[1A'); // cursor up
|
|
219
|
+
}
|
|
220
|
+
stdout.write('\r');
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// --- Slash commands ----------------------------------------------------------
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Handle a `/command` line. Returns 'exit' to quit, otherwise undefined.
|
|
227
|
+
*/
|
|
228
|
+
async function handleSlash(line, ctx) {
|
|
229
|
+
const [rawCmd, ...rest] = line.slice(1).split(/\s+/);
|
|
230
|
+
const cmd = String(rawCmd || '').toLowerCase();
|
|
231
|
+
const arg = rest.join(' ').trim();
|
|
232
|
+
|
|
233
|
+
switch (cmd) {
|
|
234
|
+
case 'help':
|
|
235
|
+
printHelp();
|
|
236
|
+
return;
|
|
237
|
+
|
|
238
|
+
case 'clear':
|
|
239
|
+
await ctx.runtime.clear();
|
|
240
|
+
{
|
|
241
|
+
const fresh = createSessionStats();
|
|
242
|
+
for (const k of Object.keys(fresh)) ctx.stats[k] = fresh[k];
|
|
243
|
+
}
|
|
244
|
+
// Clear screen + scrollback and home the cursor.
|
|
245
|
+
stdout.write(colorEnabled() ? '\x1b[2J\x1b[3J\x1b[H' : '\n');
|
|
246
|
+
stdout.write(dim('conversation reset.') + '\n');
|
|
247
|
+
stdout.write((await renderStatusline({
|
|
248
|
+
provider: ctx.runtime.provider,
|
|
249
|
+
model: ctx.runtime.model,
|
|
250
|
+
cwd: ctx.cwd,
|
|
251
|
+
stats: ctx.stats,
|
|
252
|
+
contextWindow: ctx.runtime.contextWindow,
|
|
253
|
+
rawContextWindow: ctx.runtime.rawContextWindow,
|
|
254
|
+
})) + '\n');
|
|
255
|
+
return;
|
|
256
|
+
|
|
257
|
+
case 'compact':
|
|
258
|
+
{
|
|
259
|
+
const r = await ctx.runtime.compact();
|
|
260
|
+
if (!r) {
|
|
261
|
+
stdout.write(yellow('compact failed') + '\n');
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
if (r.changed === false && r.reason) {
|
|
265
|
+
stdout.write(yellow(r.reason) + '\n');
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
stdout.write(green(`✓ compacted context: ${r.beforeMessages}→${r.afterMessages} messages, context ${r.beforeTokens}→${r.afterTokens}`) + '\n');
|
|
269
|
+
}
|
|
270
|
+
return;
|
|
271
|
+
|
|
272
|
+
case 'model':
|
|
273
|
+
if (!arg) {
|
|
274
|
+
stdout.write(yellow(`current model: ${ctx.runtime.provider}/${ctx.runtime.model}`) + '\n');
|
|
275
|
+
stdout.write(dim('usage: /model <preset-or-model>') + '\n');
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
await ctx.runtime.setRoute({ model: arg });
|
|
279
|
+
stdout.write(green(`✓ model → ${ctx.runtime.provider}/${ctx.runtime.model}`) + '\n');
|
|
280
|
+
return;
|
|
281
|
+
|
|
282
|
+
case 'outputstyle':
|
|
283
|
+
case 'output-style':
|
|
284
|
+
case 'style':
|
|
285
|
+
{
|
|
286
|
+
const lower = arg.toLowerCase();
|
|
287
|
+
if (!arg || lower === 'status' || lower === 'current' || lower === 'show') {
|
|
288
|
+
const status = ctx.runtime.getOutputStyle?.() || ctx.runtime.listOutputStyles?.();
|
|
289
|
+
const label = status?.current?.label || status?.current?.id || status?.configured || 'Default';
|
|
290
|
+
const available = (status?.styles || []).map((style) => style.label || style.id).join(', ');
|
|
291
|
+
stdout.write(yellow(`current output style: ${label}`) + '\n');
|
|
292
|
+
if (available) stdout.write(dim(`available: ${available}`) + '\n');
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const result = await ctx.runtime.setOutputStyle(arg);
|
|
296
|
+
const label = result?.current?.label || result?.current?.id || arg;
|
|
297
|
+
const suffix = result?.appliedToCurrentSession === false ? ' (use /clear to apply to this chat)' : '';
|
|
298
|
+
stdout.write(green(`✓ output style → ${label}${suffix}`) + '\n');
|
|
299
|
+
}
|
|
300
|
+
return;
|
|
301
|
+
|
|
302
|
+
case 'mode':
|
|
303
|
+
if (!arg) {
|
|
304
|
+
stdout.write(yellow(`current mode: ${ctx.runtime.toolMode}`) + '\n');
|
|
305
|
+
stdout.write(dim('usage: /mode full|readonly') + '\n');
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
await ctx.runtime.setToolMode(arg);
|
|
309
|
+
stdout.write(green(`✓ mode → ${ctx.runtime.toolMode}`) + '\n');
|
|
310
|
+
return;
|
|
311
|
+
|
|
312
|
+
case 'exit':
|
|
313
|
+
case 'quit':
|
|
314
|
+
await ctx.closeRuntime?.('cli-exit');
|
|
315
|
+
stdout.write(dim('bye.') + '\n');
|
|
316
|
+
return 'exit';
|
|
317
|
+
|
|
318
|
+
default:
|
|
319
|
+
stdout.write(red(`unknown command: /${cmd}`) + dim(' (try /help)') + '\n');
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Skip Protocol
|
|
2
|
+
|
|
3
|
+
For inbound-event bridge reports (`webhook-handler`, `scheduler-task`):
|
|
4
|
+
if Lead has nothing actionable to relay
|
|
5
|
+
(label-only, duplicate/dedup, no action needed, nothing to report),
|
|
6
|
+
prefix the whole response with:
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
[meta:silent]
|
|
10
|
+
```
|
|
11
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Role: cycle1-agent
|
|
2
|
+
|
|
3
|
+
Turn numbered chat rows into memory chunks.
|
|
4
|
+
|
|
5
|
+
Output only pipe-separated lines, starting with a digit:
|
|
6
|
+
|
|
7
|
+
`<idx_csv>|<element>|<category>|<summary>`
|
|
8
|
+
|
|
9
|
+
- `idx_csv`: input row numbers included in this chunk, comma-separated, no `@`.
|
|
10
|
+
- `element`: short recall key, about 5-10 words.
|
|
11
|
+
- `category`: exactly one of `rule`, `constraint`, `decision`, `fact`,
|
|
12
|
+
`goal`, `preference`, `task`, `issue`.
|
|
13
|
+
Meanings: rule=standing policy, constraint=hard limit, decision=agreed
|
|
14
|
+
choice, fact=verified truth, goal=open target, preference=style/taste,
|
|
15
|
+
task=pending work, issue=broken state.
|
|
16
|
+
- `summary`: 1-3 complete sentences. Keep important names, paths, ids,
|
|
17
|
+
versions, numbers, errors, causes, and outcomes verbatim. Match the input
|
|
18
|
+
language.
|
|
19
|
+
|
|
20
|
+
Coverage rules:
|
|
21
|
+
|
|
22
|
+
- Every input row must appear exactly once.
|
|
23
|
+
- Group nearby rows about the same topic; split only on real topic changes.
|
|
24
|
+
- Keep clarifications with the topic they clarify.
|
|
25
|
+
- Do not mix different `[sess:XXX]` markers in one chunk.
|
|
26
|
+
- Replace literal `|` with `/`; do not put newlines inside fields.
|
|
27
|
+
|
|
28
|
+
Do not output JSON, fences, prose, preamble, or tool calls.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Role: cycle2-agent
|
|
2
|
+
|
|
3
|
+
Backend re-scorer for `is_root` long-term memory. Input has phase,
|
|
4
|
+
core memory, and candidates (`id`/`category`/`score`/`element`/
|
|
5
|
+
`summary`). Output pipe-separated lines starting with a digit. No JSON,
|
|
6
|
+
fences, prose, or preamble.
|
|
7
|
+
|
|
8
|
+
## Long-Term Essential
|
|
9
|
+
|
|
10
|
+
Promote only entries that clearly fit exactly one concept:
|
|
11
|
+
1. Identity: stable non-derivable user facts.
|
|
12
|
+
2. Preference: durable taste/style/interaction preference.
|
|
13
|
+
3. Goal: long-running committed goal.
|
|
14
|
+
4. Principle: cross-session behavior directive.
|
|
15
|
+
5. Policy: standing team decision.
|
|
16
|
+
6. Procedure: recurring trigger + steps + caveats.
|
|
17
|
+
7. Event: rare foundational change not reconstructible from its rule.
|
|
18
|
+
8. System constant: durable path/schema/model/channel invariant needed
|
|
19
|
+
later and not already in rules.
|
|
20
|
+
|
|
21
|
+
Anything unclear or outside these concepts -> `archived`. Promotion is
|
|
22
|
+
exceptional.
|
|
23
|
+
|
|
24
|
+
## Phase Verbs
|
|
25
|
+
|
|
26
|
+
- `phase1_new_chunks`: `active` if clearly essential, else `archived`.
|
|
27
|
+
- `phase2_reevaluate`: `active` to promote, else `archived`.
|
|
28
|
+
- `phase3_active_review`: verdict mandatory for every row:
|
|
29
|
+
`archived` default, or `active`, `update`, `merge`. Silence is not
|
|
30
|
+
keep.
|
|
31
|
+
|
|
32
|
+
## Rejects
|
|
33
|
+
|
|
34
|
+
Archive work narratives, static facts without behavior/user value,
|
|
35
|
+
rule-system meta, resolved bug/fix logs, duplicates of rule files,
|
|
36
|
+
single-run measurements/counts/versions, and session-scoped or
|
|
37
|
+
in-progress decisions.
|
|
38
|
+
|
|
39
|
+
## Output
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
<id>|<verb>
|
|
43
|
+
<id>|update|<element>|<summary>
|
|
44
|
+
<id>|merge|<target_id>|<source_ids_csv>|<element>|<summary>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Field Rules
|
|
48
|
+
|
|
49
|
+
- Use only input IDs; never invent IDs.
|
|
50
|
+
- `update`: write a fresh `element` and a 3-sentence `summary`.
|
|
51
|
+
- `merge`: keep `target_id`, absorb `source_ids_csv`, and merge only rows
|
|
52
|
+
from the same `project_id`.
|
|
53
|
+
- `summary`: complete sentences, input language, important specifics verbatim,
|
|
54
|
+
no actor/meta filler.
|
|
55
|
+
- Category priority: `rule > constraint > decision > fact > goal > preference
|
|
56
|
+
> task > issue`.
|
|
57
|
+
- Replace literal `|` with `/`; do not put newlines inside fields.
|
|
58
|
+
|
|
59
|
+
For phase 3, output one verdict for every input row. Start with a digit.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Lead Tool Use
|
|
2
|
+
|
|
3
|
+
- Lead owns repo-local shell work: git, build, test, run, and verification commands.
|
|
4
|
+
- Use `shell` directly for approved git/build/test/run work; do not delegate those commands to bridge agents.
|
|
5
|
+
- Use bridge agents for scoped implementation, research, review, and debugging, not for git commit/push/stash or Ship.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Workflow
|
|
2
|
+
|
|
3
|
+
- Lead is the supervisor of agents, responsible for task delegation,
|
|
4
|
+
coordination, judgment, and final decisions.
|
|
5
|
+
- Prefer dividing work into independent scopes and delegating them concurrently
|
|
6
|
+
for faster completion.
|
|
7
|
+
- After spawning an async agent, treat that agent's scope as owned by the agent:
|
|
8
|
+
do not poll status/read, send check-ins, or otherwise interfere while it works.
|
|
9
|
+
- If the next Lead step depends on that spawned agent's workspace result, pause
|
|
10
|
+
only that dependent path and wait for the completion notification.
|
|
11
|
+
- While waiting, continue any Lead-side work that does not require the agent's
|
|
12
|
+
result.
|