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
package/README.md
CHANGED
|
@@ -1,354 +1,60 @@
|
|
|
1
1
|
# mixdog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://bun.sh)
|
|
5
|
-
[](https://www.npmjs.com/package/mixdog)
|
|
3
|
+
Standalone coding-agent CLI/TUI workspace for **mixdog**.
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
continuous memory, multi-provider routing, and syntax-aware code tools,
|
|
9
|
-
behind a single MCP server. Zero telemetry; all state under
|
|
10
|
-
`~/.claude/plugins/data/mixdog-trib-plugin/`.
|
|
5
|
+
An Ink (React) terminal UI front-end driving multi-provider LLM agents (Anthropic, OpenAI, Google) over MCP, with Mixdog's Ink renderer (`vendor/ink`) for full-screen alt-screen rendering, cursor handling, and scroll support.
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
- **Continuous memory** — conversations, decisions, and work persist across sessions; a prebuilt Postgres + pgvector runtime is auto-downloaded and supervised, with no database to install
|
|
14
|
-
- **Lower cost** — session-spanning prompt cache with per-provider / per-role token tracking
|
|
15
|
-
- **Natural-language search** — web search and URL scraping in one tool
|
|
16
|
-
- **Syntax-aware code tools** — AST-based symbol / reference / caller lookup, keyword→symbol search via `code_graph`, and precise edits
|
|
17
|
-
- **Channels & automation** — Discord front-end, cron schedules, and inbound webhooks
|
|
7
|
+
## Requirements
|
|
18
8
|
|
|
19
|
-
|
|
9
|
+
- Node.js >= 22
|
|
20
10
|
|
|
21
|
-
|
|
22
|
-
npm i -g mixdog # install the `mixdog` command
|
|
23
|
-
mixdog # launch Claude Code — the first run walks you through setup (Claude·Codex·Grok login + plugin registration), then opens it
|
|
24
|
-
mixdog --dangerously-skip-permissions # launch with full permissions
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
`npm i -g mixdog` adds the `mixdog` command to your PATH; `mixdog` then launches
|
|
28
|
-
Claude Code with mixdog pre-loaded. The first `mixdog` run walks you through
|
|
29
|
-
setup (logins + plugin registration) and launches the moment it finishes — no
|
|
30
|
-
second run needed. Any extra Claude flags pass straight through; the `claude`
|
|
31
|
-
CLI must be on your PATH. (If `mixdog` isn't recognized right after install,
|
|
32
|
-
open a new terminal and run it again.)
|
|
33
|
-
|
|
34
|
-
Anthropic OAuth (the Claude Code login) is the default provider, so
|
|
35
|
-
`bridge` / `recall` / `explore` / `memory` work immediately — no API keys
|
|
36
|
-
required. Configure providers, presets, and role bindings in the in-browser
|
|
37
|
-
config UI — open it any time with `/mixdog:config`. (The config server is
|
|
38
|
-
pre-warmed in the background each session, so the window opens instantly.)
|
|
39
|
-
|
|
40
|
-
**Or install from inside Claude Code:**
|
|
11
|
+
## Setup
|
|
41
12
|
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
/plugin install mixdog@trib-plugin
|
|
13
|
+
```bash
|
|
14
|
+
npm install
|
|
45
15
|
```
|
|
46
16
|
|
|
47
|
-
|
|
48
|
-
<summary>Other entry points & what first boot does</summary>
|
|
17
|
+
To install the CLI globally from this checkout:
|
|
49
18
|
|
|
50
19
|
```bash
|
|
51
|
-
|
|
52
|
-
mixdog
|
|
53
|
-
mixdog install --dry-run # preview the steps (no writes, prompts, or installs)
|
|
54
|
-
mixdog install --demo # preview in an isolated sandbox (no writes to your real config)
|
|
20
|
+
npm install -g .
|
|
21
|
+
mixdog --help
|
|
55
22
|
```
|
|
56
23
|
|
|
57
|
-
|
|
58
|
-
and registers the MCP server in `.mcp.json`. On first boot, `scripts/bootstrap.mjs`
|
|
59
|
-
locates bun (system PATH → plugin-local → `npm install --no-save bun` fallback),
|
|
60
|
-
installs runtime deps into the shared data dir, and seeds defaults under
|
|
61
|
-
`~/.claude/plugins/data/mixdog-trib-plugin/`. The memory runtime (a prebuilt
|
|
62
|
-
Postgres + pgvector build) is downloaded and checksum-verified once, then reused.
|
|
63
|
-
First boot takes 10–15 extra seconds if bun wasn't pre-installed, plus the
|
|
64
|
-
one-time runtime download; later boots are unaffected.
|
|
65
|
-
|
|
66
|
-
First boot also reconfigures two Claude Code surfaces, originals preserved for
|
|
67
|
-
restore: the built-in `autoMemoryEnabled` and `awaySummaryEnabled` settings are
|
|
68
|
-
turned off in `~/.claude/settings.json` (mixdog's continuous memory and recap
|
|
69
|
-
replace both), and rules persistence takes over `~/.claude/CLAUDE.md` (see
|
|
70
|
-
Configuration). Prior values are snapshotted under
|
|
71
|
-
`~/.claude/backups/mixdog-user-data/install-restore/`, and
|
|
72
|
-
`node scripts/uninstall.mjs` restores them (see UNINSTALL.md for full teardown).
|
|
73
|
-
|
|
74
|
-
To enable Discord / voice / schedule / webhook channels, launch with the
|
|
75
|
-
development channel flag (see Channels & automation) and set the Discord token
|
|
76
|
-
and channel IDs in the config UI.
|
|
77
|
-
|
|
78
|
-
</details>
|
|
79
|
-
|
|
80
|
-
## Why mixdog
|
|
81
|
-
|
|
82
|
-
Claude Code is powerful, but out of the box it forgets everything between
|
|
83
|
-
sessions, treats every request as a fresh context, and has no built-in way
|
|
84
|
-
to delegate to cheaper or specialised models. Cost runs high, answers drift,
|
|
85
|
-
and long-lived projects lose the thread.
|
|
86
|
-
|
|
87
|
-
mixdog replaces that pattern with a single MCP server that bundles four
|
|
88
|
-
cooperating modules — **agent**, **memory**, **search**, and **channels** — so
|
|
89
|
-
your Claude Code session gains persistent memory, multi-provider sub-agents,
|
|
90
|
-
web lookup, and an optional Discord front-end, all behind one install. The goal
|
|
91
|
-
is deployment-grade: plain ESM, zero build step for runtime code, documented
|
|
92
|
-
local state, and every configuration surface readable as JSON you can diff.
|
|
93
|
-
|
|
94
|
-
## Modules & tools
|
|
95
|
-
|
|
96
|
-
One MCP server composes four user-facing modules, plus code and filesystem
|
|
97
|
-
tools shared across all of them:
|
|
98
|
-
|
|
99
|
-
- **agent** — a session orchestrator with a single `bridge` entry point: delegated sub-agent sessions, role → preset bindings, multi-provider routing, and session-spanning cache / cost handling.
|
|
100
|
-
- **memory** — native Postgres + `pgvector` + `pg_trgm` hybrid store; a prebuilt runtime is fetched and supervised automatically. A three-cycle pipeline scores, dedupes, and promotes durable knowledge to core memory.
|
|
101
|
-
- **search** — one natural-language entry point routing across providers, scraping URLs through a Readability + Puppeteer pipeline, formatted for model consumption.
|
|
102
|
-
- **channels** — Discord, cron schedules, inbound webhooks, voice STT, and a heartbeat status surface (requires the channel flag).
|
|
103
|
-
|
|
104
|
-
<details>
|
|
105
|
-
<summary>Full tool reference</summary>
|
|
106
|
-
|
|
107
|
-
### agent
|
|
108
|
-
|
|
109
|
-
Sessions run as long-lived loops with trim / compress, a stream watchdog, and
|
|
110
|
-
background job tracking. A `<final-answer>` tag protocol separates a worker's
|
|
111
|
-
final reply from its internal deliberation.
|
|
112
|
-
|
|
113
|
-
| Tool | Purpose |
|
|
114
|
-
| --- | --- |
|
|
115
|
-
| `bridge` | Unified worker session control: `type=spawn` (default) delegates one scoped task to a role-bound worker; `type=send` resumes a worker by `tag`; `type=close` stops one; `type=list` enumerates active worker sessions |
|
|
116
|
-
| `explore` | Open-ended codebase exploration when scope is unknown; fans out one read-only sub-agent per query, each pinned to its own topic, and is ESC-cancellable mid-run |
|
|
117
|
-
| `list_models` | List configured provider presets |
|
|
118
|
-
| `open_config` | Open the settings UI (Providers + Presets) in the browser; starts the resident config server if needed and returns the UI URL |
|
|
119
|
-
|
|
120
|
-
### memory
|
|
121
|
-
|
|
122
|
-
Every conversation chunk is scored, deduped, and — if durable — promoted to core
|
|
123
|
-
memory. Cycle 1 extracts and scores chunks, cycle 2 is a unified curator gate
|
|
124
|
-
that holds the active set to a cap (~100 entries), and cycle 3 reviews
|
|
125
|
-
user-curated core memory. Keep/discard decisions follow a 3-layer framework
|
|
126
|
-
(L1 relationship/communication, L2 behavior rules, L3 current project map).
|
|
127
|
-
SessionStart injects durable context plus a recent recap.
|
|
128
|
-
|
|
129
|
-
| Tool | Purpose |
|
|
130
|
-
| --- | --- |
|
|
131
|
-
| `recall` | Retrieve stored memory (string or array fan-out; category / period / scope filters) |
|
|
132
|
-
| `memory` | Persistent memory operations (status / core add-edit-delete-list / manage / prune / rebuild / cycle1-3 / flush / backfill / purge) |
|
|
133
|
-
|
|
134
|
-
### search
|
|
135
|
-
|
|
136
|
-
| Tool | Purpose |
|
|
137
|
-
| --- | --- |
|
|
138
|
-
| `search` | Web SERP search (string or array of queries) |
|
|
139
|
-
| `web_fetch` | Fetch a full page body from a URL (follow-up to `search`) |
|
|
140
|
-
|
|
141
|
-
### channels
|
|
142
|
-
|
|
143
|
-
Inbound chat / webhook events drive a turn, schedules fire on cadence, and the
|
|
144
|
-
status feed keeps long-running sessions observable.
|
|
145
|
-
|
|
146
|
-
| Tool | Purpose |
|
|
147
|
-
| --- | --- |
|
|
148
|
-
| `reply` / `react` / `edit_message` / `download_attachment` / `fetch` | Discord message operations |
|
|
149
|
-
| `schedule_status` / `trigger_schedule` / `schedule_control` | Inspect, fire, or defer / skip schedules |
|
|
150
|
-
| `activate_channel_bridge` / `reload_config` / `inject_command` | Runtime channel control |
|
|
151
|
-
|
|
152
|
-
### Code & filesystem tools
|
|
153
|
-
|
|
154
|
-
Shared across all modules — AST navigation (`@ast-grep/cli`) plus
|
|
155
|
-
content-addressed edits with a session read-dedup cache, so navigation stays
|
|
156
|
-
syntax-correct without dumping whole files into context. Tool results are
|
|
157
|
-
compressed before they hit the model (head/tail truncation, ANSI / repeated-line
|
|
158
|
-
dedup, file-grouped grep output). `apply_patch` accepts unified and V4A hunks
|
|
159
|
-
with order-independent matching. `read` decodes UTF-8 and UTF-16 (LE/BE, with or
|
|
160
|
-
without BOM). `bash` auto-backgrounds a foreground command that outlives 30s into
|
|
161
|
-
a tracked job and streams live progress over MCP.
|
|
162
|
-
|
|
163
|
-
| Tool | Module | Purpose |
|
|
164
|
-
| --- | --- | --- |
|
|
165
|
-
| `code_graph` (`find_symbol`, `references`, `callers`, `search`, …) | `code_graph` | AST symbol lookup, keyword→symbols (`search`), references, callers |
|
|
166
|
-
| `read` / `glob` / `list` / `grep` | `builtin` | Read files, find paths, list dirs, ripgrep content |
|
|
167
|
-
| `edit` / `write` | `builtin` | Exact-string edit, whole-file write |
|
|
168
|
-
| `apply_patch` | `patch` | Unified / V4A multi-hunk, multi-file patch |
|
|
169
|
-
| `bash` / `job_wait` | `builtin` | Run shell commands; await background jobs |
|
|
170
|
-
| `diagnostics` | `builtin` | Run the matching project type/lint checker (tsc / eslint / ruff / …) once; no resident LSP |
|
|
171
|
-
| `inject_input` | `host_input` | Inject input into the host Claude Code session (Windows only) |
|
|
172
|
-
| `cwd` | `cwd` | Get / set / list the session working directory for relative-path resolution |
|
|
173
|
-
|
|
174
|
-
</details>
|
|
175
|
-
|
|
176
|
-
## Skills & commands
|
|
177
|
-
|
|
178
|
-
**Skills** are auto-triggered by intent (Claude Code also surfaces them by name):
|
|
179
|
-
`setup` (onboarding & config), `schedule-add`, `webhook-add`, `retro-skill-proposer`.
|
|
180
|
-
|
|
181
|
-
**Commands:** `/mixdog:setup` (prerequisites + config UI), `/mixdog:doctor`
|
|
182
|
-
(health diagnostics), `/mixdog:config` (open the in-browser settings UI — **the
|
|
183
|
-
primary way to change any configuration**).
|
|
24
|
+
## Usage
|
|
184
25
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
| Skill | Use |
|
|
189
|
-
| --- | --- |
|
|
190
|
-
| `schedule-add` | Register a recurring cron schedule |
|
|
191
|
-
| `webhook-add` | Register an inbound webhook endpoint |
|
|
192
|
-
| `setup` | Onboarding and config editing (channels, presets, roles, memory) |
|
|
193
|
-
| `retro-skill-proposer` | Propose a reusable skill draft after a session |
|
|
194
|
-
|
|
195
|
-
| Command | Purpose |
|
|
196
|
-
| --- | --- |
|
|
197
|
-
| `/mixdog:setup` | Check prerequisites and open the config UI |
|
|
198
|
-
| `/mixdog:doctor` | Health diagnostics (versions, runtime, cache, deps, log count/size, Postgres `pgdata` size, hook-pipe reachability) |
|
|
199
|
-
| `/mixdog:config` | Open the in-browser settings UI — the primary way to change configuration (providers, presets, roles, channels, memory) |
|
|
200
|
-
|
|
201
|
-
**Hidden maintenance roles** (under `agents/`, not user-invoked):
|
|
202
|
-
`scheduler-task`, `webhook-handler`, `maintenance`, `memory-classification`.
|
|
203
|
-
Public roles (worker, reviewer, debugger, etc.) are defined locally in
|
|
204
|
-
`user-workflow.json`, not bundled.
|
|
205
|
-
|
|
206
|
-
</details>
|
|
207
|
-
|
|
208
|
-
## Providers
|
|
209
|
-
|
|
210
|
-
Anthropic (direct or OAuth), OpenAI (direct or OAuth), Google Gemini, and any
|
|
211
|
-
OpenAI-compatible endpoint (LM Studio, Ollama, vLLM, LiteLLM) are first-class
|
|
212
|
-
providers. Switch a role to a cheaper or faster model by editing one line in
|
|
213
|
-
`user-workflow.json`. A shared-prefix cache strategy propagates Anthropic and
|
|
214
|
-
OpenAI prompt caching across every role in a session, and token usage is logged
|
|
215
|
-
per provider and per role so you can see where cost lands before the bill arrives.
|
|
216
|
-
|
|
217
|
-
## Safety
|
|
218
|
-
|
|
219
|
-
- **Zero telemetry.** No outbound calls beyond the providers you configure and the search endpoints you opt into.
|
|
220
|
-
- **Protected paths.** Destructive shell patterns (recursive root deletes, force pushes, disk formatting) are hard-blocked, unconditionally, with no override flag.
|
|
221
|
-
- **Approval gates & tool scope.** Out-of-workspace writes by sub-agents require confirmation; system paths are hard-denied; each role has an explicit tool preset (`readonly` / `full` / custom).
|
|
222
|
-
- **Untrusted inbound data.** Webhook payloads are fenced as untrusted data, never executed as instructions.
|
|
223
|
-
- **Fail-open hooks.** Permission hooks are a guard layer, not a sandbox: if the daemon or hook pipe is down, decisions default to allow (`/mixdog:doctor` warns explicitly).
|
|
224
|
-
|
|
225
|
-
Full local-state, secret, and network model: [SECURITY.md](SECURITY.md) and
|
|
226
|
-
[DATA-FLOW.md](DATA-FLOW.md). To restore the pre-install `CLAUDE.md` and Claude
|
|
227
|
-
Code settings, run `node scripts/uninstall.mjs` ([UNINSTALL.md](UNINSTALL.md)).
|
|
26
|
+
```bash
|
|
27
|
+
# Run the CLI from any project directory
|
|
28
|
+
mixdog
|
|
228
29
|
|
|
229
|
-
|
|
230
|
-
|
|
30
|
+
# Build the Ink (React) TUI bundle
|
|
31
|
+
npm run build:tui
|
|
231
32
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
rejected at boot. Use the development variant instead:
|
|
33
|
+
# Smoke test
|
|
34
|
+
npm run smoke
|
|
235
35
|
|
|
236
|
-
```sh
|
|
237
|
-
claude --dangerously-load-development-channels plugin:mixdog@trib-plugin
|
|
238
36
|
```
|
|
239
37
|
|
|
240
|
-
|
|
241
|
-
receiver. Without the flag the plugin still works for direct tools (`recall`,
|
|
242
|
-
`memory`, `bridge`, `explore`, `search`, `bash`, etc.) — channel inbound events
|
|
243
|
-
are silently disabled.
|
|
244
|
-
|
|
245
|
-
**Schedules and webhooks** each live as a per-entry directory under the data
|
|
246
|
-
directory (`schedules/<name>/`, `webhooks/<name>/`), holding `config.json`
|
|
247
|
-
(cron `time` / `secret` / optional `channel` / `model`) and `instructions.md`.
|
|
248
|
-
Routing is decided purely by **channel presence**:
|
|
249
|
-
|
|
250
|
-
- **No `channel`** → injected into the current (Lead) session, which handles it with full context.
|
|
251
|
-
- **`channel` set** → dispatched directly to that Discord channel by a standalone handler (which then requires a `model` preset).
|
|
252
|
-
|
|
253
|
-
When a handler has nothing to report (no code change, non-default branch,
|
|
254
|
-
docs-only, dedup), it emits `[meta:silent]` as the first line — the notification
|
|
255
|
-
is dropped entirely (no session turn, no channel post).
|
|
256
|
-
|
|
257
|
-
Outbound notifications respect a shared quiet-hours window (timezone-aware, with
|
|
258
|
-
weekend and holiday handling); each channel can opt out via its `respectQuiet`
|
|
259
|
-
flag in the config UI's DND tab.
|
|
260
|
-
|
|
261
|
-
To switch to plain `--channels`, either submit mixdog to
|
|
262
|
-
`claude-plugins-official` (Anthropic curates the allowlist), or add
|
|
263
|
-
`{marketplace: "trib-plugin", plugin: "mixdog"}` to your organization's
|
|
264
|
-
`allowedChannelPlugins` managed setting (Team / Enterprise).
|
|
265
|
-
|
|
266
|
-
</details>
|
|
267
|
-
|
|
268
|
-
<details>
|
|
269
|
-
<summary>Configuration</summary>
|
|
270
|
-
|
|
271
|
-
All user-editable config lives in the plugin data directory
|
|
272
|
-
(`~/.claude/plugins/data/mixdog-trib-plugin/`), NOT in the repository. The
|
|
273
|
-
easiest way to edit it is `/mixdog:config` (the in-browser UI); editing the JSON
|
|
274
|
-
files directly is also fully supported.
|
|
38
|
+
## Project layout
|
|
275
39
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
`node scripts/uninstall.mjs` to restore.
|
|
290
|
-
|
|
291
|
-
| File | How it gets there | Purpose |
|
|
292
|
-
| --- | --- | --- |
|
|
293
|
-
| `mixdog-config.json` | Auto-seeded on first boot | All user-configurable settings under named sections (`channels`, `memory`, `agent`, `search`, plus UI-managed extras). See `src/shared/seed.mjs`. |
|
|
294
|
-
| `user-workflow.json` | Seeded by the setup server when missing | Role → preset bindings for delegated agents |
|
|
295
|
-
| `user-workflow.md` | Auto-generated on first launch | Human-readable workflow description derived from `user-workflow.json` |
|
|
296
|
-
| `schedules/<name>/` | Created via config UI or `schedule-add` | Per-schedule `config.json` + `instructions.md` |
|
|
297
|
-
| `webhooks/<name>/` | Created via config UI or `webhook-add` | Per-webhook `config.json` + `instructions.md` |
|
|
298
|
-
|
|
299
|
-
Seed defaults and templates live under `defaults/`. **Discord setup (optional):**
|
|
300
|
-
set the bot token in the config UI (stored in the OS keychain, not a file) and
|
|
301
|
-
add channel IDs there, then enable channels.
|
|
302
|
-
|
|
303
|
-
</details>
|
|
304
|
-
|
|
305
|
-
<details>
|
|
306
|
-
<summary>Architecture & hooks</summary>
|
|
307
|
-
|
|
308
|
-
The MCP server starts via `scripts/bootstrap.mjs → scripts/run-mcp.mjs` (stdio
|
|
309
|
-
supervisor) `→ server.mjs` (thin client or shared daemon) `→ server-main.mjs`.
|
|
310
|
-
Hooks are declared in `hooks/hooks.json` and routed through a native shim + CJS
|
|
311
|
-
files. SessionStart is split into three parts — `rules` (workflow / rules
|
|
312
|
-
injection + first-boot setup), `core` (durable memory context), and `recap`
|
|
313
|
-
(recent-session recap); PreToolUse / PostToolUse enforce permission gates,
|
|
314
|
-
sandbox checks, and status updates. Session state is journalled every turn, so a
|
|
315
|
-
mid-session crash resumes cleanly on next boot. SessionStart also installs a
|
|
316
|
-
version-independent status line (a stable launcher tagged
|
|
317
|
-
`"source": "mixdog-auto"` in `~/.claude/settings.json`) that survives version
|
|
318
|
-
bumps and self-heals; a genuine user-configured `statusLine` is left untouched.
|
|
319
|
-
|
|
320
|
-
See [ARCHITECTURE.md](ARCHITECTURE.md) and [DATA-FLOW.md](DATA-FLOW.md).
|
|
321
|
-
|
|
322
|
-
</details>
|
|
323
|
-
|
|
324
|
-
<details>
|
|
325
|
-
<summary>Windows support</summary>
|
|
326
|
-
|
|
327
|
-
mixdog is developed on Windows and tested on Windows + Linux. All scripts use
|
|
328
|
-
forward slashes or `path.join`, line endings are normalised to LF via
|
|
329
|
-
`.gitattributes` (except `.cmd` / `.bat` / `.ps1`, which stay CRLF), and Node
|
|
330
|
-
child-process calls resolve binaries through `process.platform`-aware shims.
|
|
331
|
-
|
|
332
|
-
The prebuilt memory runtime ships for Windows (`win32-x64`), Linux (`linux-x64`),
|
|
333
|
-
and macOS on Apple Silicon (`darwin-arm64`) and Intel (`darwin-x64`); the optional
|
|
334
|
-
voice helper publishes verified assets for the same platforms. `linux-arm64` is
|
|
335
|
-
not yet built.
|
|
336
|
-
|
|
337
|
-
The `bash` MCP tool is OS-native: Windows runs commands through PowerShell
|
|
338
|
-
(`pwsh.exe` when available, otherwise Windows PowerShell), while macOS/Linux use
|
|
339
|
-
`/bin/sh`. No extra Windows shell runtime is required or auto-installed.
|
|
340
|
-
|
|
341
|
-
</details>
|
|
342
|
-
|
|
343
|
-
## Contributing
|
|
344
|
-
|
|
345
|
-
Architecture notes live in [ARCHITECTURE.md](ARCHITECTURE.md); contributor setup
|
|
346
|
-
and PR expectations in [CONTRIBUTING.md](CONTRIBUTING.md). Before opening a PR, run:
|
|
347
|
-
|
|
348
|
-
```sh
|
|
349
|
-
bun run ci
|
|
40
|
+
```
|
|
41
|
+
src/
|
|
42
|
+
cli.mjs # entry point (bin: mixdog)
|
|
43
|
+
app.mjs # app wiring
|
|
44
|
+
repl.mjs # REPL loop
|
|
45
|
+
runtime/ # agent runtime
|
|
46
|
+
tui/ # canonical Ink (React) TUI (bundled to dist/)
|
|
47
|
+
lib/ ui/ hooks/ defaults/ vendor/
|
|
48
|
+
scripts/
|
|
49
|
+
build-tui.mjs # esbuild bundle of the React TUI
|
|
50
|
+
smoke.mjs # smoke test
|
|
51
|
+
vendor/
|
|
52
|
+
ink/ # Mixdog Ink renderer (alt-screen / cursor / scroll fixes)
|
|
350
53
|
```
|
|
351
54
|
|
|
352
|
-
##
|
|
55
|
+
## Notes
|
|
353
56
|
|
|
354
|
-
|
|
57
|
+
- `vendor/ink` is bundled directly into the TUI dist; the build does not rewrite installed dependencies.
|
|
58
|
+
- Standalone Mixdog uses `~/.mixdog` as its home root. Runtime data lives in `~/.mixdog/data` by default. Set `MIXDOG_HOME` to move the root, or `MIXDOG_DATA_DIR` to override only the data directory.
|
|
59
|
+
- Pi/Codex/OpenCode reference snapshots live outside this package under `C:\Project\refs`.
|
|
60
|
+
- The TUI uses alt-screen mode and app-owned mouse wheel scrolling / drag selection by default so redraws during streaming do not clear selections. Set `MIXDOG_TUI_MOUSE=0` to opt into terminal-native mouse behavior.
|
package/package.json
CHANGED
|
@@ -1,115 +1,83 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
2
|
"name": "mixdog",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Claude Code all-in-one bridge plugin: role-based bridge workers, continuous memory, and syntax-aware code editing.",
|
|
5
|
-
"author": "mixdog contributors <dev@tribgames.com>",
|
|
6
|
-
"license": "MIT",
|
|
3
|
+
"version": "0.8.0",
|
|
7
4
|
"private": false,
|
|
8
5
|
"type": "module",
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
6
|
+
"description": "Standalone mixdog coding-agent CLI/TUI workspace.",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/tribgames/mixdog.git"
|
|
13
11
|
},
|
|
14
|
-
"
|
|
15
|
-
"
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/tribgames/mixdog/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/tribgames/mixdog#readme",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"agent",
|
|
18
|
+
"cli",
|
|
19
|
+
"tui",
|
|
20
|
+
"coding-agent",
|
|
21
|
+
"mcp"
|
|
22
|
+
],
|
|
23
|
+
"bin": {
|
|
24
|
+
"mixdog": "src/cli.mjs"
|
|
16
25
|
},
|
|
17
26
|
"files": [
|
|
18
|
-
".claude-plugin/",
|
|
19
|
-
".mcp.json",
|
|
20
|
-
".gitattributes",
|
|
21
|
-
"LICENSE",
|
|
22
27
|
"README.md",
|
|
23
|
-
"
|
|
24
|
-
"SECURITY.md",
|
|
25
|
-
"DATA-FLOW.md",
|
|
26
|
-
"UNINSTALL.md",
|
|
27
|
-
"ARCHITECTURE.md",
|
|
28
|
-
"CONTRIBUTING.md",
|
|
29
|
-
"bun.lock",
|
|
30
|
-
"server.mjs",
|
|
31
|
-
"server-main.mjs",
|
|
32
|
-
"tools.json",
|
|
33
|
-
"agents/",
|
|
34
|
-
"bin/",
|
|
35
|
-
"commands/",
|
|
36
|
-
"defaults/",
|
|
37
|
-
"hooks/",
|
|
38
|
-
"lib/",
|
|
39
|
-
"native/prebuilt/",
|
|
40
|
-
"native/README.md",
|
|
41
|
-
"prompts/",
|
|
42
|
-
"rules/",
|
|
28
|
+
"docs/",
|
|
43
29
|
"scripts/",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"src/"
|
|
30
|
+
"src/",
|
|
31
|
+
"vendor/"
|
|
47
32
|
],
|
|
48
33
|
"scripts": {
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"smoke:
|
|
54
|
-
"smoke:
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"smoke:
|
|
59
|
-
"smoke:
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"check:json": "bun scripts/check-json.mjs",
|
|
63
|
-
"test:fault-inject": "node scripts/test-fault-inject.mjs",
|
|
64
|
-
"test:large-file": "node scripts/test-large-file.mjs",
|
|
65
|
-
"test:stress": "node scripts/stress-atomic-write.mjs",
|
|
66
|
-
"test:stress-live": "STRESS_LIVE=1 node scripts/stress-atomic-write.mjs",
|
|
67
|
-
"test:all": "bun run test:fault-inject && bun run test:large-file && bun run test:stress",
|
|
68
|
-
"ci:core": "bun run check:syntax && bun run check:json && bun scripts/doctor.mjs && bun scripts/guard-smoke.mjs && node scripts/hidden-role-schema-smoke.mjs && bun scripts/permission-eval-smoke.mjs && bun scripts/perf-hook-smoke.mjs && bun scripts/edit-normalize-smoke.mjs && bun scripts/edit-normalize-fuzz.mjs && bun scripts/builtin-utils-smoke.mjs && bun scripts/mutation-io-smoke.mjs && node scripts/io-complex-smoke.mjs && bun run smoke:io-routes && bun scripts/webhook-selfheal-smoke.mjs && node scripts/config-preserve-smoke.mjs && node scripts/statusline-launcher-smoke.mjs && bun run check:tools-sync",
|
|
69
|
-
"ci": "bun run ci:core && bun audit",
|
|
70
|
-
"lint": "eslint .",
|
|
71
|
-
"lint:fix": "eslint . --fix",
|
|
72
|
-
"prepublishOnly": "bun run build:tools"
|
|
73
|
-
},
|
|
74
|
-
"overrides": {
|
|
75
|
-
"fast-uri": "3.1.2",
|
|
76
|
-
"hono": "4.12.21",
|
|
77
|
-
"ip-address": "10.2.0",
|
|
78
|
-
"protobufjs": "7.5.9",
|
|
79
|
-
"qs": "6.15.2",
|
|
80
|
-
"ws": "$ws"
|
|
34
|
+
"prepack": "npm run build:tui",
|
|
35
|
+
"start": "node src/cli.mjs",
|
|
36
|
+
"smoke": "node scripts/smoke.mjs",
|
|
37
|
+
"smoke:all": "npm run smoke && npm run smoke:boot && npm run smoke:tools && npm run smoke:output",
|
|
38
|
+
"smoke:boot": "node scripts/boot-smoke.mjs",
|
|
39
|
+
"smoke:compact": "node scripts/compact-smoke.mjs",
|
|
40
|
+
"smoke:loop": "node scripts/smoke-loop.mjs",
|
|
41
|
+
"smoke:loop:final": "node scripts/smoke-loop-report.mjs --require-complete --min-elapsed 5h --min-iterations 400 --max-gap 60s --max-smoke-ms 10000 --max-avg-smoke-ms 8500 --max-step-ms boot-smoke.mjs=8000 --max-step-ms tool-smoke.mjs=4000 --max-rss-mb 140 --max-rss-growth-mb 50",
|
|
42
|
+
"smoke:loop:report": "node scripts/smoke-loop-report.mjs",
|
|
43
|
+
"smoke:tools": "node scripts/tool-smoke.mjs",
|
|
44
|
+
"smoke:output": "node scripts/output-style-smoke.mjs",
|
|
45
|
+
"failures": "node scripts/tool-failures.mjs",
|
|
46
|
+
"build:tui": "node scripts/build-tui.mjs"
|
|
81
47
|
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=22.0.0"
|
|
50
|
+
},
|
|
82
51
|
"dependencies": {
|
|
83
|
-
"@anthropic-ai/sdk": "^0.
|
|
84
|
-
"@google/generative-ai": "^0.24.
|
|
85
|
-
"@huggingface/transformers": "^3.
|
|
86
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
87
|
-
"@mozilla/readability": "^0.6.0",
|
|
88
|
-
"diff": "^9.0.0",
|
|
89
|
-
"discord.js": "^14.
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"pg": "^8.
|
|
96
|
-
"
|
|
97
|
-
"
|
|
52
|
+
"@anthropic-ai/sdk": "^0.105.0",
|
|
53
|
+
"@google/generative-ai": "^0.24.1",
|
|
54
|
+
"@huggingface/transformers": "^3.8.1",
|
|
55
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
56
|
+
"@mozilla/readability": "^0.6.0",
|
|
57
|
+
"diff": "^9.0.0",
|
|
58
|
+
"discord.js": "^14.26.4",
|
|
59
|
+
"ink": "^7.1.0",
|
|
60
|
+
"jsdom": "^26.1.0",
|
|
61
|
+
"marked": "^14.1.4",
|
|
62
|
+
"node-cron": "^4.5.0",
|
|
63
|
+
"openai": "^6.44.0",
|
|
64
|
+
"pg": "^8.22.0",
|
|
65
|
+
"puppeteer-core": "^25.2.0",
|
|
66
|
+
"react": "^19.2.7",
|
|
67
|
+
"undici": "^8.5.0",
|
|
68
|
+
"ws": "^8.21.0",
|
|
69
|
+
"zod": "^3.25.76",
|
|
98
70
|
"zod-to-json-schema": "^3.25.2"
|
|
99
71
|
},
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
|
|
103
|
-
|
|
72
|
+
"overrides": {
|
|
73
|
+
"discord.js": {
|
|
74
|
+
"undici": "6.27.0"
|
|
75
|
+
},
|
|
76
|
+
"@discordjs/rest": {
|
|
77
|
+
"undici": "6.27.0"
|
|
78
|
+
}
|
|
104
79
|
},
|
|
105
|
-
"trustedDependencies": [
|
|
106
|
-
"keytar",
|
|
107
|
-
"onnxruntime-node",
|
|
108
|
-
"protobufjs"
|
|
109
|
-
],
|
|
110
80
|
"devDependencies": {
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
}
|
|
81
|
+
"esbuild": "^0.28.1"
|
|
82
|
+
}
|
|
83
|
+
}
|