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/SECURITY.md
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
# Security Policy
|
|
2
|
-
|
|
3
|
-
mixdog is a local Claude Code plugin. Its security boundary is the user's
|
|
4
|
-
machine, the active Claude Code workspace, and any external providers the user
|
|
5
|
-
explicitly configures.
|
|
6
|
-
|
|
7
|
-
## Supported Versions
|
|
8
|
-
|
|
9
|
-
Security fixes are accepted for the latest published version. If you maintain a
|
|
10
|
-
fork or an older pinned install, upgrade to the latest release before reporting
|
|
11
|
-
an issue unless the vulnerability is only present in a new release.
|
|
12
|
-
|
|
13
|
-
## Reporting a Vulnerability
|
|
14
|
-
|
|
15
|
-
Please report suspected vulnerabilities privately first. Use a private GitHub
|
|
16
|
-
security advisory on the repository when advisories are enabled, or email the
|
|
17
|
-
address listed in the `author` field of `package.json`.
|
|
18
|
-
|
|
19
|
-
Include:
|
|
20
|
-
|
|
21
|
-
- The mixdog version.
|
|
22
|
-
- Operating system and Claude Code version.
|
|
23
|
-
- Whether channels, Discord, webhooks, voice, or external search providers were
|
|
24
|
-
enabled.
|
|
25
|
-
- A minimal reproduction or the smallest relevant log excerpt.
|
|
26
|
-
|
|
27
|
-
Do not include real API keys, Discord tokens, OAuth tokens, private prompts, or
|
|
28
|
-
conversation transcripts in public issues.
|
|
29
|
-
|
|
30
|
-
## Security Model
|
|
31
|
-
|
|
32
|
-
mixdog exposes one MCP server plus Claude Code hooks. It is designed around
|
|
33
|
-
explicit local state and layered permission gates:
|
|
34
|
-
|
|
35
|
-
- Destructive shell patterns are hard-blocked before execution, with no escape
|
|
36
|
-
flag: recursive deletes of root/home (`rm -rf /`, `rd /s`,
|
|
37
|
-
`Remove-Item -Recurse -Force`), `git push --force`, `git reset --hard`, disk
|
|
38
|
-
formatting (`format`, `mkfs`, `diskpart clean`, `dd if=/dev/...`), and system
|
|
39
|
-
shutdown/reboot. PowerShell `-EncodedCommand` payloads are decoded first so
|
|
40
|
-
base64-smuggled variants are caught too. Other risky commands (`git clean -f`,
|
|
41
|
-
`kubectl delete`, `terraform destroy`, `DROP TABLE`, …) get a non-blocking
|
|
42
|
-
inline warning instead of a block.
|
|
43
|
-
- File tools are scoped to the active working directory by default; HOME-wide
|
|
44
|
-
writes require the `homeAccess` capability opt-in.
|
|
45
|
-
- Bridge sub-agent `Edit`/`Write` to any path outside the session workspace is
|
|
46
|
-
routed through a Discord approval prompt before it runs.
|
|
47
|
-
- Dangerous system paths (`/etc`, `/proc`, `/sys`, `/dev`, `C:\Windows`,
|
|
48
|
-
`System32`, Program Files, UNC shares) are hard-denied by hook policy before
|
|
49
|
-
any permission-mode check.
|
|
50
|
-
- Each role runs with a fixed permission preset — `full` (read/write tools) or
|
|
51
|
-
`read` (write/edit/bash refused at the session runtime guard). Roles do not
|
|
52
|
-
gain ambient access beyond their preset.
|
|
53
|
-
- Discord tokens, webhook authtokens, and LLM provider API keys are read only
|
|
54
|
-
from `MIXDOG_*` (or standard provider) environment variables or the OS
|
|
55
|
-
keychain — never from `mixdog-config.json`, which is itself written
|
|
56
|
-
owner-only.
|
|
57
|
-
- Webhook payloads and headers are wrapped in untrusted-data fences and handed
|
|
58
|
-
to the agent as data to inspect, never executed as instructions.
|
|
59
|
-
- Discord, webhooks, schedules, and voice are disabled unless the user starts
|
|
60
|
-
Claude Code with the development channel flag
|
|
61
|
-
(`--dangerously-load-development-channels`).
|
|
62
|
-
|
|
63
|
-
## Fail-open Hook Model
|
|
64
|
-
|
|
65
|
-
The permission hooks are a convenience and guard layer, not a sandbox. They
|
|
66
|
-
raise the cost of an accidental destructive action; they do not contain a
|
|
67
|
-
determined or compromised agent.
|
|
68
|
-
|
|
69
|
-
Hook decisions travel over a local IPC channel between Claude Code and the
|
|
70
|
-
mixdog daemon:
|
|
71
|
-
|
|
72
|
-
- A small Rust shim (`mixdog-shim`) receives the hook payload from Claude Code
|
|
73
|
-
and forwards it to the daemon over a named pipe (`\\.\pipe\mixdog-hooks` on
|
|
74
|
-
Windows) or a Unix domain socket (`${XDG_RUNTIME_DIR:-/tmp}/mixdog-hooks.sock`).
|
|
75
|
-
- A long-lived listener inside the channels worker
|
|
76
|
-
(`src/channels/lib/hook-pipe-server.mjs`) evaluates the payload and returns a
|
|
77
|
-
decision, or `"null"` to allow.
|
|
78
|
-
|
|
79
|
-
This path is **fail-open by design**. When the daemon is not running, the pipe
|
|
80
|
-
is unreachable, or dispatch raises an error, the components default to allow:
|
|
81
|
-
the server emits `"null"` and the shim exits `0`, so nothing is blocked. A
|
|
82
|
-
missing daemon therefore never wedges the user's session — but it also means
|
|
83
|
-
permission hooks are silently bypassed until the daemon is restored.
|
|
84
|
-
|
|
85
|
-
Run `bun scripts/doctor.mjs` to confirm the supervisor and hook pipe are
|
|
86
|
-
healthy. Do not rely on the hooks alone as a security boundary; the operating
|
|
87
|
-
system account, workspace isolation, and provider-side credentials remain the
|
|
88
|
-
real perimeter.
|
|
89
|
-
|
|
90
|
-
## Local Writes
|
|
91
|
-
|
|
92
|
-
New installs seed configuration under:
|
|
93
|
-
|
|
94
|
-
```text
|
|
95
|
-
~/.claude/plugins/data/mixdog-trib-plugin/
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
The seeded default prompt-injection mode is `CLAUDE.md`, which writes a
|
|
99
|
-
marker-delimited managed block to the configured target file, usually
|
|
100
|
-
`~/.claude/CLAUDE.md`:
|
|
101
|
-
|
|
102
|
-
```text
|
|
103
|
-
<!-- BEGIN mixdog managed -->
|
|
104
|
-
...
|
|
105
|
-
<!-- END mixdog managed -->
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
mixdog only owns the content inside those markers.
|
|
109
|
-
|
|
110
|
-
## Network Surface
|
|
111
|
-
|
|
112
|
-
mixdog makes outbound requests only for features the user configures or invokes:
|
|
113
|
-
|
|
114
|
-
- LLM providers: Anthropic, OpenAI, Gemini, or OpenAI-compatible endpoints.
|
|
115
|
-
- Search providers: Firecrawl, Tavily, Exa, the configured LLM search backends,
|
|
116
|
-
and URL fetches requested through search/fetch tools.
|
|
117
|
-
- Discord and webhook endpoints when channels are enabled.
|
|
118
|
-
- Runtime downloads when the user installs those optional components: signed
|
|
119
|
-
manifests from `raw.githubusercontent.com` (the memory, voice, code-graph, and
|
|
120
|
-
patch manifests, plus the LiteLLM model-pricing catalog) and the
|
|
121
|
-
checksum-verified binaries/archives they point at, served from GitHub release
|
|
122
|
-
assets (`github.com/trib-plugin/mixdog/releases`) and the upstream
|
|
123
|
-
`ffmpeg-static` releases for voice.
|
|
124
|
-
|
|
125
|
-
The config UI binds to `127.0.0.1` and rejects cross-origin requests.
|
|
126
|
-
|
|
127
|
-
## Dependency Hygiene
|
|
128
|
-
|
|
129
|
-
Run these before publishing:
|
|
130
|
-
|
|
131
|
-
```sh
|
|
132
|
-
bun install --frozen-lockfile
|
|
133
|
-
bun run ci
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
`bun audit` is part of `bun run ci`. If a transitive dependency is vulnerable,
|
|
137
|
-
prefer a narrow `overrides` pin and document why the pin exists.
|
|
138
|
-
|
package/UNINSTALL.md
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Uninstall
|
|
2
|
-
|
|
3
|
-
This guide removes mixdog code, local state, and optional global rule injection.
|
|
4
|
-
|
|
5
|
-
## 0. Restore User-Owned Files (recommended)
|
|
6
|
-
|
|
7
|
-
Run the restore helper first. It restores your pre-mixdog `~/.claude/CLAUDE.md`
|
|
8
|
-
and the `autoMemoryEnabled` / `awaySummaryEnabled` keys in
|
|
9
|
-
`~/.claude/settings.json` from the snapshot captured at install time, and
|
|
10
|
-
removes the gateway's `env.ANTHROPIC_BASE_URL` entry from `settings.json` if
|
|
11
|
-
`/mixdog:model --enable` ever added it (so Claude Code's main model returns to
|
|
12
|
-
`api.anthropic.com` instead of a dead local gateway). It deletes nothing —
|
|
13
|
-
data/plugin/backup removal stays manual (it prints those steps).
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
node scripts/uninstall.mjs # or: bun scripts/uninstall.mjs
|
|
17
|
-
node scripts/uninstall.mjs --dry-run # preview without modifying anything
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
The helper covers only the restore portion (CLAUDE.md, the two settings keys,
|
|
21
|
-
and the gateway `ANTHROPIC_BASE_URL` env entry) and prints guidance. The remaining steps below — plugin removal, deleting
|
|
22
|
-
the data and backups directories, and statusLine/secrets/credential cleanup —
|
|
23
|
-
are required regardless of whether you run it.
|
|
24
|
-
|
|
25
|
-
## 1. Uninstall the Plugin
|
|
26
|
-
|
|
27
|
-
From Claude Code:
|
|
28
|
-
|
|
29
|
-
```text
|
|
30
|
-
/plugin uninstall mixdog@trib-plugin
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
If the marketplace is no longer needed:
|
|
34
|
-
|
|
35
|
-
```text
|
|
36
|
-
/plugin marketplace remove trib-plugin
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## 2. Remove Local Data
|
|
40
|
-
|
|
41
|
-
Delete the plugin data directory if you do not want to keep memory, schedules,
|
|
42
|
-
webhooks, logs, or local configuration (the unified `mixdog-config.json`):
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
~/.claude/plugins/data/mixdog-trib-plugin/
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
This removes local memory and runtime state. It does not revoke external API
|
|
49
|
-
keys at their providers.
|
|
50
|
-
|
|
51
|
-
If you ran the config-preserving reinstall flow, mixdog may also have stored a
|
|
52
|
-
backup of your user data. Remove it as well if you do not need it:
|
|
53
|
-
|
|
54
|
-
```text
|
|
55
|
-
~/.claude/backups/mixdog-user-data
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## 3. Remove the Managed CLAUDE.md Block
|
|
59
|
-
|
|
60
|
-
The restore helper in step 0 handles this automatically. To do it by hand,
|
|
61
|
-
open the configured target file, usually:
|
|
62
|
-
|
|
63
|
-
```text
|
|
64
|
-
~/.claude/CLAUDE.md
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Remove only the marker-delimited block:
|
|
68
|
-
|
|
69
|
-
```text
|
|
70
|
-
<!-- BEGIN mixdog managed -->
|
|
71
|
-
...
|
|
72
|
-
<!-- END mixdog managed -->
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Older installs may contain legacy markers:
|
|
76
|
-
|
|
77
|
-
```text
|
|
78
|
-
<!-- BEGIN trib-plugin managed -->
|
|
79
|
-
...
|
|
80
|
-
<!-- END trib-plugin managed -->
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Remove those legacy blocks as well if present.
|
|
84
|
-
|
|
85
|
-
## 4. Remove the statusLine Entry
|
|
86
|
-
|
|
87
|
-
If a status line appeared, mixdog injected a `statusLine` entry into:
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
~/.claude/settings.json
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Open that file and delete the `statusLine` object whose
|
|
94
|
-
`"source": "mixdog-auto"`. Leave any status line you configured yourself
|
|
95
|
-
untouched — mixdog only manages entries tagged `mixdog-auto`.
|
|
96
|
-
|
|
97
|
-
## 5. Remove Secrets
|
|
98
|
-
|
|
99
|
-
Delete any mixdog-related secrets from your OS keychain or credential manager.
|
|
100
|
-
Common account names include:
|
|
101
|
-
|
|
102
|
-
- `discord.token`
|
|
103
|
-
- `webhook.authtoken`
|
|
104
|
-
- `search.firecrawl.apiKey`
|
|
105
|
-
- `search.tavily.apiKey`
|
|
106
|
-
- `search.exa.apiKey`
|
|
107
|
-
- `agent.<provider>.apiKey` (e.g. `agent.openai.apiKey`, `agent.xai.apiKey`)
|
|
108
|
-
|
|
109
|
-
Also remove any `MIXDOG_*` environment variables you created.
|
|
110
|
-
|
|
111
|
-
## 6. Revoke External Credentials
|
|
112
|
-
|
|
113
|
-
If you configured Discord, search providers, webhooks, or direct LLM API keys,
|
|
114
|
-
rotate or revoke those credentials in the provider dashboards.
|
|
115
|
-
|
package/agents/maintenance.md
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Memory Classification Shared
|
|
2
|
-
|
|
3
|
-
Shared category taxonomy referenced by the memory cycle agents (cycle1 chunker/classifier, cycle2 curator).
|
|
4
|
-
|
|
5
|
-
## Category grades
|
|
6
|
-
|
|
7
|
-
Higher grade = more permanent weight.
|
|
8
|
-
|
|
9
|
-
| grade | category | meaning |
|
|
10
|
-
|---|---|---|
|
|
11
|
-
| 2.0 | `rule` | permanent rules, identity, operating policies |
|
|
12
|
-
| 1.9 | `constraint` | hard limits (security / cost / time) |
|
|
13
|
-
| 1.8 | `decision` | agreed decisions |
|
|
14
|
-
| 1.6 | `fact` | verified facts / observed patterns |
|
|
15
|
-
| 1.5 | `goal` | long-term direction |
|
|
16
|
-
| 1.4 | `preference` | user taste / style |
|
|
17
|
-
| 1.1 | `task` | active work (volatile; rarely core) |
|
|
18
|
-
| 1.0 | `issue` | known problems (only if permanently relevant) |
|
|
19
|
-
|
|
20
|
-
When ambiguous, pick the higher-grade category that fits (rule > constraint > decision > fact > goal > preference > task > issue).
|
|
21
|
-
|
|
22
|
-
## Edge examples
|
|
23
|
-
|
|
24
|
-
| contrast | A | B |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| rule / constraint | rule: "Commit uses `YYYY-MM-DD HH:MM` prefix" | constraint: "Never push to main without approval" |
|
|
27
|
-
| decision / fact | decision: "Use bridge as the single agent entry point" | fact: "bridge dispatches via role mapping in user-workflow.json" |
|
|
28
|
-
| fact / preference | fact: "User prefers Korean replies" (verified, hard) | preference: "User prefers warm polite tone" (taste) |
|
|
29
|
-
| task / issue | task: "Implement chunk grouping in cycle1" | issue: "vec_memory has 6,000 stale rows" |
|
|
30
|
-
| goal / decision | goal: "Cut LLM cost 50% next quarter" | decision: "Drop semantic_cache to simplify" |
|
package/agents/scheduler-task.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Scheduler Task
|
|
2
|
-
|
|
3
|
-
Scheduled channel task agent. Executes a cron-triggered run defined in the scheduler configuration.
|
|
4
|
-
|
|
5
|
-
Stateless: each scheduled run is independent. Task instructions come from the schedule configuration.
|
|
6
|
-
|
|
7
|
-
Per-entry config lives in `${CLAUDE_PLUGIN_DATA}/schedules/<name>/{config.json, instructions.md}` — `instructions.md` is the per-run brief, `config.json` holds time/timezone/days/channel/model.
|
|
8
|
-
|
|
9
|
-
## Routing (by channel presence)
|
|
10
|
-
|
|
11
|
-
Decided purely by `channel` presence in `config.json` — no `type`/`mode`/`role` field:
|
|
12
|
-
|
|
13
|
-
- **No `channel`** → on fire, the task is injected into the current (Lead) session, handled with full context.
|
|
14
|
-
- **With a `channel`** → this role runs as a direct dispatch and reports straight to that Discord channel (config carries the `model` preset).
|
|
15
|
-
|
|
16
|
-
## Skip protocol
|
|
17
|
-
|
|
18
|
-
When a run has nothing to report (no action needed, nothing changed, or a dedup/duplicate), emit `[meta:silent]` as the FIRST line and nothing else. This drops the notification entirely: zero Lead turn, zero channel post. See `rules/bridge/20-skip-protocol.md`. True skips only — never to suppress an actionable result.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Webhook Handler
|
|
2
|
-
|
|
3
|
-
Webhook event analysis agent. Processes an inbound webhook delivery, extracts actionable information, and reports it.
|
|
4
|
-
|
|
5
|
-
Stateless: each webhook event is processed independently. No context from prior webhooks.
|
|
6
|
-
|
|
7
|
-
Per-entry config lives in `${CLAUDE_PLUGIN_DATA}/webhooks/<name>/{config.json, instructions.md}` — `instructions.md` is the per-delivery brief, `config.json` holds parser/secret/channel/model.
|
|
8
|
-
|
|
9
|
-
## Routing (by channel presence)
|
|
10
|
-
|
|
11
|
-
Decided purely by `channel` presence in `config.json` — no `mode`/`type`/`role` field:
|
|
12
|
-
|
|
13
|
-
- **No `channel`** → the delivery is injected into the current (Lead) session, handled with full context.
|
|
14
|
-
- **With a `channel`** → this role runs as a direct dispatch and reports the result straight to that Discord channel (config carries the `model` preset).
|
|
15
|
-
|
|
16
|
-
## Skip protocol
|
|
17
|
-
|
|
18
|
-
When a delivery has nothing to report — no code change, non-default branch, docs-only, or a dedup/duplicate event — emit `[meta:silent]` as the FIRST line and nothing else. This drops the notification entirely: zero Lead turn, zero channel post. See `rules/bridge/20-skip-protocol.md`. Use only for true skips, never to suppress an actionable finding.
|
|
19
|
-
|
|
20
|
-
## Discipline
|
|
21
|
-
|
|
22
|
-
- One read per concrete file:line evidence; never re-read the same file or paraphrase the same grep.
|
|
23
|
-
- After 2 grep turns without a locked file:line, switch to `code_graph
|
|
24
|
-
find_symbol` / `callers` / `references`, or `mode:search` (keyword or
|
|
25
|
-
partial symbol name — file-less, before grep).
|
|
26
|
-
- Response: keep narrative tight — `path:line` + one short cause + one suggested fix. Skip prelude, scope renegotiation, and closer questions.
|
|
27
|
-
- Stop as soon as the issue is grounded; further tool calls without new evidence are wasted budget.
|
package/agents/worker.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
Public bridge-worker tool discipline; the `explorer` role shares it.
|
|
2
|
-
The universal bridge contract — `<final-answer>` output, git refusal —
|
|
3
|
-
lives in rules/bridge/00-common.md; the tool routing policy lives in
|
|
4
|
-
rules/shared/01-tool.md. This file adds only the public-worker edit +
|
|
5
|
-
retrieval discipline.
|
|
6
|
-
|
|
7
|
-
## Scope / Edits
|
|
8
|
-
|
|
9
|
-
- Do only the brief; no unrelated features, cleanup, abstractions, or
|
|
10
|
-
error handling.
|
|
11
|
-
- Prefer direct local changes.
|
|
12
|
-
- Comment only when the WHY is non-obvious.
|
|
13
|
-
- No compatibility shim inside your own change scope.
|
|
14
|
-
- No unrelated rewrite.
|
|
15
|
-
|
|
16
|
-
## Tools
|
|
17
|
-
|
|
18
|
-
- Do not use `recall` or `search`.
|
|
19
|
-
|
|
20
|
-
## Mismatch
|
|
21
|
-
|
|
22
|
-
On coordinate mismatch, report
|
|
23
|
-
`mismatch: at <path:line> expected '<X>' got '<Y>'`, then re-locate once
|
|
24
|
-
via normal routing. Found -> continue; not found -> return partial findings.
|
package/bin/bridge
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
// bridge — CLI prompt store + lightweight bridge for mixdog
|
|
3
|
-
// Usage:
|
|
4
|
-
// bridge store <key> <file> Store file content with key
|
|
5
|
-
// bridge store <key> Read from stdin
|
|
6
|
-
// bridge list List stored keys
|
|
7
|
-
// bridge get <key> Print stored content
|
|
8
|
-
// bridge delete <key> Remove a key
|
|
9
|
-
// bridge <role> <prompt...> Send prompt via owner HTTP (no server boot)
|
|
10
|
-
// bridge <role> - Read prompt from stdin
|
|
11
|
-
|
|
12
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
13
|
-
import { join, dirname } from 'path';
|
|
14
|
-
import { tmpdir } from 'os';
|
|
15
|
-
import { request } from 'http';
|
|
16
|
-
import { createRequire } from 'module';
|
|
17
|
-
|
|
18
|
-
const require = createRequire(import.meta.url);
|
|
19
|
-
const { resolvePluginData } = require('../lib/plugin-paths.cjs');
|
|
20
|
-
|
|
21
|
-
const STORE_PATH = join(
|
|
22
|
-
resolvePluginData(),
|
|
23
|
-
'prompt-store.json'
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
function load() {
|
|
27
|
-
if (!existsSync(STORE_PATH)) return {};
|
|
28
|
-
try { return JSON.parse(readFileSync(STORE_PATH, 'utf-8')); } catch { return {}; }
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function save(store) {
|
|
32
|
-
mkdirSync(dirname(STORE_PATH), { recursive: true });
|
|
33
|
-
writeFileSync(STORE_PATH, JSON.stringify(store, null, 2) + '\n', 'utf-8');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function getOwnerPort() {
|
|
37
|
-
const activeFile = join(tmpdir(), 'mixdog', 'active-instance.json');
|
|
38
|
-
if (!existsSync(activeFile)) return null;
|
|
39
|
-
try {
|
|
40
|
-
const state = JSON.parse(readFileSync(activeFile, 'utf-8'));
|
|
41
|
-
return state.httpPort || null;
|
|
42
|
-
} catch { return null; }
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function httpPost(port, path, body) {
|
|
46
|
-
return new Promise((resolve, reject) => {
|
|
47
|
-
const data = JSON.stringify(body);
|
|
48
|
-
const req = request({ hostname: '127.0.0.1', port, path, method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(data) } }, res => {
|
|
49
|
-
const chunks = [];
|
|
50
|
-
res.on('data', c => chunks.push(c));
|
|
51
|
-
res.on('end', () => {
|
|
52
|
-
try { resolve(JSON.parse(Buffer.concat(chunks).toString())); }
|
|
53
|
-
catch { resolve({ raw: Buffer.concat(chunks).toString() }); }
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
req.on('error', reject);
|
|
57
|
-
req.write(data);
|
|
58
|
-
req.end();
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const [,, cmd, ...rest] = process.argv;
|
|
63
|
-
|
|
64
|
-
switch (cmd) {
|
|
65
|
-
case 'store': {
|
|
66
|
-
const [key, file] = rest;
|
|
67
|
-
if (!key) { console.error('Usage: bridge store <key> [file]'); process.exit(1); }
|
|
68
|
-
let content;
|
|
69
|
-
if (file) {
|
|
70
|
-
content = readFileSync(file, 'utf-8');
|
|
71
|
-
} else {
|
|
72
|
-
const chunks = [];
|
|
73
|
-
for await (const chunk of process.stdin) chunks.push(chunk);
|
|
74
|
-
content = Buffer.concat(chunks).toString('utf-8');
|
|
75
|
-
}
|
|
76
|
-
const store = load();
|
|
77
|
-
store[key] = content;
|
|
78
|
-
save(store);
|
|
79
|
-
console.log(`Stored '${key}' (${content.length} chars)`);
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
case 'list': {
|
|
83
|
-
const store = load();
|
|
84
|
-
const keys = Object.keys(store);
|
|
85
|
-
if (keys.length === 0) { console.log('(empty)'); break; }
|
|
86
|
-
for (const k of keys) console.log(`${k} (${store[k].length} chars)`);
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
case 'get': {
|
|
90
|
-
const [key2] = rest;
|
|
91
|
-
if (!key2) { console.error('Usage: bridge get <key>'); process.exit(1); }
|
|
92
|
-
const store = load();
|
|
93
|
-
if (!(key2 in store)) { console.error(`Key '${key2}' not found`); process.exit(1); }
|
|
94
|
-
console.log(store[key2]);
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
case 'delete': {
|
|
98
|
-
const [key3] = rest;
|
|
99
|
-
if (!key3) { console.error('Usage: bridge delete <key>'); process.exit(1); }
|
|
100
|
-
const store = load();
|
|
101
|
-
if (!(key3 in store)) { console.error(`Key '${key3}' not found`); process.exit(1); }
|
|
102
|
-
delete store[key3];
|
|
103
|
-
save(store);
|
|
104
|
-
console.log(`Deleted '${key3}'`);
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
default: {
|
|
108
|
-
const role = cmd;
|
|
109
|
-
if (!role || role.startsWith('-')) { console.error('Usage: bridge <role> <prompt...> | bridge <role> - (stdin)'); process.exit(1); }
|
|
110
|
-
const port = getOwnerPort();
|
|
111
|
-
if (!port) { console.error('No running mixdog instance found'); process.exit(1); }
|
|
112
|
-
const body = { role };
|
|
113
|
-
if (rest[0] === '-') {
|
|
114
|
-
const chunks = [];
|
|
115
|
-
for await (const chunk of process.stdin) chunks.push(chunk);
|
|
116
|
-
body.prompt = Buffer.concat(chunks).toString('utf-8').trim();
|
|
117
|
-
} else if (rest.length) {
|
|
118
|
-
body.prompt = rest.join(' ');
|
|
119
|
-
} else {
|
|
120
|
-
console.error('Usage: bridge <role> <prompt...> | bridge <role> - (stdin)');
|
|
121
|
-
process.exit(1);
|
|
122
|
-
}
|
|
123
|
-
try {
|
|
124
|
-
const result = await httpPost(port, '/bridge', body);
|
|
125
|
-
const text = result?.content?.[0]?.text || JSON.stringify(result);
|
|
126
|
-
console.log(text);
|
|
127
|
-
} catch (e) {
|
|
128
|
-
console.error(`bridge failed: ${e.message}`);
|
|
129
|
-
process.exit(1);
|
|
130
|
-
}
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// mixdog statusline launcher — version-independent STABLE entry.
|
|
3
|
-
// settings.json points here forever; each tick it resolves the ACTIVE
|
|
4
|
-
// install from installed_plugins.json (never a version-pinned path), so a
|
|
5
|
-
// plugin version bump self-heals on the next refresh with no restart.
|
|
6
|
-
// Node-builtins only — must run under both bun and node.
|
|
7
|
-
//
|
|
8
|
-
// FAIL-SOFT INVARIANT (non-negotiable): this command runs for EVERY machine
|
|
9
|
-
// on every tick. ANY error (missing/locked/parse-broken manifest, missing
|
|
10
|
-
// target, throw) must still print one minimal `mixdog` line and exit 0. A
|
|
11
|
-
// crashing command makes CC render nothing.
|
|
12
|
-
|
|
13
|
-
import fs from 'fs';
|
|
14
|
-
import os from 'os';
|
|
15
|
-
import path from 'path';
|
|
16
|
-
import { spawnSync } from 'child_process';
|
|
17
|
-
import { pathToFileURL } from 'url';
|
|
18
|
-
|
|
19
|
-
function failSoft() {
|
|
20
|
-
try { process.stdout.write('mixdog\n'); } catch {}
|
|
21
|
-
process.exit(0);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function claudeConfigDir() {
|
|
25
|
-
return process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), '.claude');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async function main() {
|
|
29
|
-
// CC stdin JSON (may be empty). Never block the tick on a read error.
|
|
30
|
-
let stdinBuf = Buffer.alloc(0);
|
|
31
|
-
try { stdinBuf = fs.readFileSync(0); } catch {}
|
|
32
|
-
|
|
33
|
-
// Resolve the ACTIVE install from the manifest — manifest-canonical, no
|
|
34
|
-
// version pin. Any failure here → fail-soft.
|
|
35
|
-
const manifestPath = path.join(
|
|
36
|
-
claudeConfigDir(), 'plugins', 'installed_plugins.json'
|
|
37
|
-
);
|
|
38
|
-
let installPath = '';
|
|
39
|
-
try {
|
|
40
|
-
const data = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
41
|
-
const entry = data?.plugins?.['mixdog@trib-plugin']?.[0];
|
|
42
|
-
installPath = String(entry?.installPath || '').replace(/\\/g, '/');
|
|
43
|
-
} catch { return failSoft(); }
|
|
44
|
-
if (!installPath) return failSoft();
|
|
45
|
-
|
|
46
|
-
// (a) Native shim fast path — match resolveStatusLineCommand's os/arch map.
|
|
47
|
-
const ext = process.platform === 'win32' ? '.exe' : '';
|
|
48
|
-
const platMap = { win32: 'windows', darwin: 'macos', linux: 'linux' };
|
|
49
|
-
const archMap = { x64: 'x86_64', arm64: 'aarch64' };
|
|
50
|
-
const prebuiltDir = `${platMap[process.platform]}-${archMap[process.arch]}`;
|
|
51
|
-
const shimCandidates = [
|
|
52
|
-
`${installPath}/native/mixdog-shim/target/release/mixdog-shim${ext}`,
|
|
53
|
-
`${installPath}/native/prebuilt/${prebuiltDir}/mixdog-shim${ext}`,
|
|
54
|
-
];
|
|
55
|
-
for (const shimPath of shimCandidates) {
|
|
56
|
-
let exists = false;
|
|
57
|
-
try { exists = fs.existsSync(shimPath); } catch {}
|
|
58
|
-
if (!exists) continue;
|
|
59
|
-
try {
|
|
60
|
-
const r = spawnSync(shimPath, ['--kind=statusline'], { input: stdinBuf, windowsHide: true });
|
|
61
|
-
if (r.status === 0 && r.stdout && r.stdout.length) {
|
|
62
|
-
process.stdout.write(r.stdout);
|
|
63
|
-
return process.exit(0);
|
|
64
|
-
}
|
|
65
|
-
} catch {}
|
|
66
|
-
// Shim present but failed — fall through to the lib path / fail-soft.
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// (b) Library fallback — render in-process via statusline-lib's export.
|
|
71
|
-
const libPath = `${installPath}/bin/statusline-lib.mjs`;
|
|
72
|
-
let mod;
|
|
73
|
-
try { mod = await import(pathToFileURL(libPath).href); } catch { return failSoft(); }
|
|
74
|
-
const render = mod && mod.renderStatusLine;
|
|
75
|
-
if (typeof render !== 'function') return failSoft();
|
|
76
|
-
let out = '';
|
|
77
|
-
try { out = await render(stdinBuf.toString('utf8')); } catch { return failSoft(); }
|
|
78
|
-
process.stdout.write(out && out.length ? out : 'mixdog\n');
|
|
79
|
-
process.exit(0);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
main().catch(failSoft);
|