opencode-matrixx-v2 1.2.0 → 1.2.2
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 +11 -21
- package/dist/agents/agent-config.d.ts +3 -3
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -1
- package/dist/agents/oracle/system-prompt.d.ts +1 -1
- package/dist/cli.js +123 -105
- package/dist/config/schema/agent-names.d.ts +31 -13
- package/dist/config/schema/browser-automation.d.ts +2 -2
- package/dist/config/schema/context-mode.d.ts +1 -1
- package/dist/config/schema/hooks.d.ts +1 -2
- package/dist/config/schema/matrixx-config.d.ts +34 -17
- package/dist/features/background-agent/handle-index.d.ts +3 -3
- package/dist/features/background-agent/index.d.ts +6 -0
- package/dist/features/background-agent/manager/index.d.ts +5 -0
- package/dist/features/background-agent/manager/lifecycle.d.ts +29 -0
- package/dist/features/background-agent/{manager.d.ts → manager/manager.d.ts} +27 -97
- package/dist/features/background-agent/manager/reconcile.d.ts +20 -0
- package/dist/features/background-agent/manager/store.d.ts +33 -0
- package/dist/features/background-agent/manager/types.d.ts +42 -0
- package/dist/features/background-agent/message-dir.d.ts +1 -1
- package/dist/features/background-agent/notification-builder.d.ts +1 -1
- package/dist/features/background-agent/session-output.d.ts +2 -2
- package/dist/features/bdd/index.d.ts +2 -0
- package/dist/features/builtin-commands/index.d.ts +4 -0
- package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -1
- package/dist/features/{hook-message-injector → context-injection/hook-bridge}/constants.d.ts +1 -1
- package/dist/features/{hook-message-injector → context-injection/hook-bridge}/index.d.ts +1 -1
- package/dist/features/{hook-message-injector → context-injection/hook-bridge}/injector.d.ts +1 -1
- package/dist/features/context-injection/index.d.ts +6 -0
- package/dist/features/context-injection/routing/index.d.ts +3 -0
- package/dist/features/{context-mode-routing → context-injection/routing}/system-transform.d.ts +3 -3
- package/dist/features/evolution/index.d.ts +6 -0
- package/dist/features/plan-contract/schema.d.ts +1 -1
- package/dist/features/preset-state/index.d.ts +2 -0
- package/dist/features/rtk-routing/index.d.ts +3 -0
- package/dist/features/rtk-routing/system-transform.d.ts +2 -2
- package/dist/features/session-state/index.d.ts +2 -0
- package/dist/{hooks/task-continuation-enforcer → features/task-session-scope}/staleness.d.ts +3 -3
- package/dist/{hooks/task-continuation-enforcer → features/task-session-scope}/todo.d.ts +1 -1
- package/dist/features/task-storage/index.d.ts +3 -0
- package/dist/features/task-storage/types.d.ts +2 -2
- package/dist/features/task-toast-manager/types.d.ts +1 -1
- package/dist/hooks/agent-usage-reminder/hook.d.ts +1 -1
- package/dist/hooks/agent-usage-reminder/index.d.ts +5 -0
- package/dist/hooks/anthropic-effort/index.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/config-errors-toast.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/connected-providers-status.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/model-cache-warning.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/spinner-toast.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/startup-toasts.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook/update-toasts.d.ts +1 -1
- package/dist/hooks/auto-update-checker/hook.d.ts +1 -1
- package/dist/hooks/background-notification/hook.d.ts +1 -1
- package/dist/hooks/background-notification/index.d.ts +9 -0
- package/dist/hooks/background-task-blocker/index.d.ts +8 -0
- package/dist/hooks/bash-file-read-guard.d.ts +1 -1
- package/dist/hooks/category-skill-reminder/detector.d.ts +13 -0
- package/dist/hooks/category-skill-reminder/formatter.d.ts +5 -0
- package/dist/hooks/category-skill-reminder/hook.d.ts +8 -4
- package/dist/hooks/category-skill-reminder/index.d.ts +4 -0
- package/dist/hooks/comment-checker/index.d.ts +7 -0
- package/dist/hooks/compaction-context-injector/index.d.ts +2 -0
- package/dist/hooks/context-mode-enforcer/constants.d.ts +1 -1
- package/dist/hooks/context-mode-enforcer/hook.d.ts +1 -1
- package/dist/hooks/context-mode-enforcer/index.d.ts +4 -0
- package/dist/hooks/context-window-limit-recovery/client.d.ts +1 -1
- package/dist/hooks/context-window-limit-recovery/message-builder.d.ts +1 -1
- package/dist/hooks/context-window-limit-recovery/recovery-hook.d.ts +2 -2
- package/dist/hooks/context-window-monitor.d.ts +2 -2
- package/dist/hooks/dcp-nudge-sanitizer/hook.d.ts +1 -1
- package/dist/hooks/dcp-nudge-sanitizer/index.d.ts +3 -0
- package/dist/hooks/delegate-task-retry/hook.d.ts +1 -1
- package/dist/hooks/delegate-task-retry/index.d.ts +4 -0
- package/dist/hooks/design-intent-preserver/hook.d.ts +1 -1
- package/dist/hooks/design-intent-preserver/index.d.ts +4 -0
- package/dist/hooks/directory-agents-injector/hook.d.ts +2 -2
- package/dist/hooks/directory-agents-injector/index.d.ts +5 -0
- package/dist/hooks/directory-agents-injector/injector.d.ts +2 -2
- package/dist/hooks/directory-injector/factory.d.ts +2 -2
- package/dist/hooks/docs-lookup-guard/hook.d.ts +2 -2
- package/dist/hooks/docs-lookup-guard/index.d.ts +3 -0
- package/dist/hooks/document-reader-guard/hook.d.ts +2 -2
- package/dist/hooks/document-reader-guard/index.d.ts +3 -0
- package/dist/hooks/domain-keyword-detector/hook.d.ts +1 -1
- package/dist/hooks/edit-error-recovery/hook.d.ts +1 -1
- package/dist/hooks/edit-error-recovery/index.d.ts +2 -0
- package/dist/hooks/empty-task-response-detector.d.ts +1 -1
- package/dist/hooks/env-context-injector/flat.d.ts +1 -1
- package/dist/hooks/env-context-injector/index.d.ts +1 -1
- package/dist/hooks/env-file-write-guard/index.d.ts +3 -0
- package/dist/hooks/evolution-compressor/host-llm-call.d.ts +1 -1
- package/dist/hooks/evolution-compressor/index.d.ts +8 -0
- package/dist/hooks/evolution-hitl/index.d.ts +6 -0
- package/dist/hooks/evolution-quality-gate/index.d.ts +6 -0
- package/dist/hooks/evolution-watcher/index.d.ts +7 -1
- package/dist/hooks/hashline-read-enhancer/hook.d.ts +1 -1
- package/dist/hooks/hashline-read-enhancer/index.d.ts +2 -0
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/input-secret-guard/hook.d.ts +1 -1
- package/dist/hooks/input-secret-guard/index.d.ts +5 -0
- package/dist/hooks/interactive-bash-session/hook.d.ts +2 -2
- package/dist/hooks/interactive-bash-session/index.d.ts +7 -0
- package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
- package/dist/hooks/keyword-detector/constants.d.ts +1 -1
- package/dist/hooks/keyword-detector/hook.d.ts +2 -2
- package/dist/hooks/keyword-detector/index.d.ts +4 -0
- package/dist/hooks/knowledge-hub-guard/hook.d.ts +1 -1
- package/dist/hooks/knowledge-hub-guard/index.d.ts +3 -0
- package/dist/hooks/knowledge-hub-injector/hook.d.ts +3 -3
- package/dist/hooks/knowledge-hub-injector/index.d.ts +2 -0
- package/dist/hooks/knowledge-hub-search-nudge/hook.d.ts +1 -1
- package/dist/hooks/knowledge-hub-search-nudge/index.d.ts +2 -0
- package/dist/hooks/matrix-loop/completion-promise-detector.d.ts +2 -2
- package/dist/hooks/matrix-loop/completion-verifier.d.ts +1 -1
- package/dist/hooks/matrix-loop/continuation-prompt-injector.d.ts +1 -1
- package/dist/hooks/matrix-loop/index.d.ts +12 -0
- package/dist/hooks/matrix-loop/matrix-loop-event-handler.d.ts +2 -2
- package/dist/hooks/matrix-loop/matrix-loop-hook.d.ts +2 -2
- package/dist/hooks/mouse-notepad/hook.d.ts +1 -1
- package/dist/hooks/mouse-notepad/index.d.ts +3 -0
- package/dist/hooks/niobe/event-handler.d.ts +2 -2
- package/dist/hooks/niobe/index.d.ts +16 -0
- package/dist/hooks/niobe/mission-continuation-injector.d.ts +1 -1
- package/dist/hooks/niobe/niobe-hook.d.ts +2 -2
- package/dist/hooks/niobe/recent-model-resolver.d.ts +1 -1
- package/dist/hooks/niobe/session-last-agent.d.ts +1 -1
- package/dist/hooks/niobe/tool-execute-after.d.ts +1 -1
- package/dist/hooks/niobe/tool-execute-before.d.ts +1 -1
- package/dist/hooks/non-interactive-env/index.d.ts +4 -0
- package/dist/hooks/non-interactive-env/non-interactive-env-hook.d.ts +1 -1
- package/dist/hooks/nudge-loop-breaker/hook.d.ts +2 -2
- package/dist/hooks/nudge-loop-breaker/index.d.ts +4 -0
- package/dist/hooks/oracle-md-only/agent-resolution.d.ts +1 -1
- package/dist/hooks/oracle-md-only/hook.d.ts +1 -1
- package/dist/hooks/oracle-md-only/index.d.ts +6 -0
- package/dist/hooks/plan-persister/hook.d.ts +2 -2
- package/dist/hooks/post-read-injector/hook.d.ts +2 -2
- package/dist/hooks/post-read-injector/injector.d.ts +1 -1
- package/dist/hooks/quality-gate/index.d.ts +2 -0
- package/dist/hooks/read-image-resizer/hook.d.ts +1 -1
- package/dist/hooks/read-image-resizer/index.d.ts +6 -0
- package/dist/hooks/rtk-bash-rewriter/hook.d.ts +1 -1
- package/dist/hooks/rtk-bash-rewriter/index.d.ts +4 -0
- package/dist/hooks/rules-injector/hook.d.ts +2 -2
- package/dist/hooks/rules-injector/index.d.ts +14 -0
- package/dist/hooks/runtime-fallback/event-handler.d.ts +1 -1
- package/dist/hooks/runtime-fallback/session-messages.d.ts +2 -2
- package/dist/hooks/runtime-fallback/types.d.ts +2 -2
- package/dist/hooks/secret-leak-guard/hook.d.ts +1 -1
- package/dist/hooks/secret-leak-guard/index.d.ts +5 -0
- package/dist/hooks/session-memory/hook.d.ts +1 -1
- package/dist/hooks/session-notification-scheduler.d.ts +1 -1
- package/dist/hooks/session-notification-sender.d.ts +1 -1
- package/dist/hooks/session-notification.d.ts +2 -2
- package/dist/hooks/session-recovery/hook.d.ts +1 -1
- package/dist/hooks/session-recovery/recover-thinking-block-order.d.ts +1 -1
- package/dist/hooks/session-recovery/recover-thinking-disabled-violation.d.ts +1 -1
- package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +1 -1
- package/dist/hooks/session-recovery/resume.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/empty-text.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/messages-reader.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/parts-reader.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/text-part-injector.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +1 -1
- package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +1 -1
- package/dist/hooks/session-recovery/storage.d.ts +1 -1
- package/dist/hooks/session-recovery/types.d.ts +2 -2
- package/dist/hooks/silent-failure-guard/hook.d.ts +1 -1
- package/dist/hooks/software-dev-enforcement/index.d.ts +3 -0
- package/dist/hooks/start-work/index.d.ts +3 -0
- package/dist/hooks/start-work/start-work-hook.d.ts +1 -1
- package/dist/hooks/stop-continuation-guard/hook.d.ts +2 -2
- package/dist/hooks/stop-continuation-guard/index.d.ts +2 -0
- package/dist/hooks/subagent-block/hook.d.ts +2 -2
- package/dist/hooks/subagent-block/index.d.ts +3 -0
- package/dist/hooks/task-edit-guard/hook.d.ts +2 -2
- package/dist/hooks/task-edit-guard/index.d.ts +3 -0
- package/dist/hooks/task-notepad-writer/index.d.ts +4 -0
- package/dist/hooks/task-notepad-writer/notepad-path.d.ts +1 -1
- package/dist/hooks/task-resume-info/index.d.ts +2 -0
- package/dist/hooks/think-mode/hook.d.ts +1 -1
- package/dist/hooks/thinking-block-validator/index.d.ts +3 -0
- package/dist/hooks/tool-output-truncator.d.ts +1 -1
- package/dist/hooks/tool-pair-validator/index.d.ts +2 -0
- package/dist/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.d.ts +2 -2
- package/dist/hooks/webfetch-redirect-guard/hook.d.ts +1 -1
- package/dist/hooks/webfetch-redirect-guard/index.d.ts +4 -0
- package/dist/hooks/write-existing-file-guard/hook.d.ts +2 -2
- package/dist/hooks/write-existing-file-guard/index.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +45168 -45645
- package/dist/matrixx.schema.json +29 -8
- package/dist/{plugin-handlers → plugin/handlers}/agent-config-handler.d.ts +2 -2
- package/dist/{plugin-handlers → plugin/handlers}/category-config-resolver.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/command-config-handler.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/config-handler.d.ts +2 -2
- package/dist/{plugin-handlers → plugin/handlers}/mcp-config-handler.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/oracle-agent-config-builder.d.ts +3 -3
- package/dist/{plugin-handlers → plugin/handlers}/plugin-components-loader.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/provider-config-handler.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/task-permissions.d.ts +1 -1
- package/dist/{plugin-handlers → plugin/handlers}/tool-config-handler.d.ts +1 -1
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +3 -4
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
- package/dist/plugin/hooks/create-skill-hooks.d.ts +1 -1
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +1 -1
- package/dist/plugin/hooks/create-transform-hooks.d.ts +3 -3
- package/dist/plugin/index.d.ts +43 -0
- package/dist/plugin/message-hooks/context-injector.d.ts +3 -3
- package/dist/plugin/message-hooks/dcp-nudge-sanitizer.d.ts +1 -1
- package/dist/plugin/message-hooks/domain-keyword-detector.d.ts +2 -2
- package/dist/plugin/message-hooks/env-context-injector.d.ts +1 -1
- package/dist/plugin/message-hooks/evolution-hitl.d.ts +1 -1
- package/dist/plugin/message-hooks/index.d.ts +2 -2
- package/dist/plugin/message-hooks/knowledge-hub-injector.d.ts +3 -3
- package/dist/plugin/message-hooks/thinking-block-validator.d.ts +1 -1
- package/dist/plugin/message-hooks/tool-pair-validator.d.ts +1 -1
- package/dist/plugin/setup-domains/assemble.d.ts +28 -0
- package/dist/plugin/setup-domains/hooks.d.ts +33 -0
- package/dist/plugin/setup-domains/index.d.ts +5 -0
- package/dist/plugin/setup-domains/managers.d.ts +15 -0
- package/dist/plugin/setup-domains/tools.d.ts +23 -0
- package/dist/plugin/setup-domains.d.ts +10 -86
- package/dist/plugin/tool/available-categories.d.ts +3 -0
- package/dist/plugin/{chat-message.d.ts → tool/chat-message.d.ts} +2 -2
- package/dist/plugin/{context.d.ts → tool/context.d.ts} +2 -2
- package/dist/plugin/{event.d.ts → tool/event.d.ts} +3 -3
- package/dist/plugin/tool/index.d.ts +22 -0
- package/dist/plugin/{legacy-hooks.d.ts → tool/legacy-hooks.d.ts} +1 -1
- package/dist/plugin/{native-context.d.ts → tool/native-context.d.ts} +1 -1
- package/dist/plugin/{session-agent-resolver.d.ts → tool/session-agent-resolver.d.ts} +1 -1
- package/dist/plugin/{skill-context.d.ts → tool/skill-context.d.ts} +4 -4
- package/dist/plugin/{tool-catalog.d.ts → tool/tool-catalog.d.ts} +4 -4
- package/dist/plugin/{tool-definition.d.ts → tool/tool-definition.d.ts} +2 -2
- package/dist/plugin/{tool-execute-after.d.ts → tool/tool-execute-after.d.ts} +1 -1
- package/dist/plugin/{tool-execute-before.d.ts → tool/tool-execute-before.d.ts} +2 -2
- package/dist/plugin/{unstable-agent-babysitter.d.ts → tool/unstable-agent-babysitter.d.ts} +3 -3
- package/dist/shared/{agent-variant.d.ts → agent/agent-variant.d.ts} +1 -1
- package/dist/shared/agent/index.d.ts +5 -0
- package/dist/shared/{context-limits.d.ts → compaction/context-limits.d.ts} +1 -1
- package/dist/shared/{dynamic-truncator.d.ts → compaction/dynamic-truncator.d.ts} +2 -2
- package/dist/shared/compaction/index.d.ts +7 -0
- package/dist/shared/config/index.d.ts +8 -0
- package/dist/shared/{task-system-gating.d.ts → config/task-system-gating.d.ts} +2 -2
- package/dist/shared/index.d.ts +63 -61
- package/dist/shared/io/index.d.ts +8 -0
- package/dist/shared/model/index.d.ts +7 -0
- package/dist/shared/{model-requirements.d.ts → model/model-requirements.d.ts} +1 -1
- package/dist/shared/{model-suggestion-retry.d.ts → model/model-suggestion-retry.d.ts} +1 -1
- package/dist/shared/opencode/index.d.ts +5 -0
- package/dist/shared/{memory-backend-detect.d.ts → opencode/memory-backend-detect.d.ts} +1 -1
- package/dist/shared/outcome/index.d.ts +5 -0
- package/dist/shared/{dcp-switch-profile.d.ts → policy/dcp-switch-profile.d.ts} +1 -1
- package/dist/shared/policy/index.d.ts +7 -0
- package/dist/shared/{injection-notifier.d.ts → policy/injection-notifier.d.ts} +1 -1
- package/dist/shared/{rtk-enforcement.d.ts → policy/rtk-enforcement.d.ts} +1 -1
- package/dist/shared/runtime/index.d.ts +7 -0
- package/dist/shared/session/index.d.ts +14 -0
- package/dist/shared/{session-context-source.d.ts → session/session-context-source.d.ts} +1 -1
- package/dist/shared/text/index.d.ts +7 -0
- package/dist/{tools/shared → shared/tool}/define-tool.d.ts +1 -1
- package/dist/shared/{disabled-tools.d.ts → tool/disabled-tools.d.ts} +1 -1
- package/dist/shared/tool/index.d.ts +6 -0
- package/dist/shared/{merge-categories.d.ts → tool/merge-categories.d.ts} +1 -1
- package/dist/skills/{skills → builtin/bdd}/bdd-backend.d.ts +1 -1
- package/dist/skills/{skills → builtin/bdd}/bdd-contract.d.ts +1 -1
- package/dist/skills/{skills → builtin/bdd}/bdd-frontend.d.ts +1 -1
- package/dist/skills/{skills → builtin/bdd}/bdd-tests.d.ts +1 -1
- package/dist/skills/builtin/bdd/index.d.ts +4 -0
- package/dist/skills/builtin/core/dev-browser.d.ts +2 -0
- package/dist/skills/builtin/core/docker-master/build.d.ts +1 -0
- package/dist/skills/builtin/core/docker-master/compose.d.ts +1 -0
- package/dist/skills/builtin/core/docker-master/delivery.d.ts +1 -0
- package/dist/skills/builtin/core/docker-master/index.d.ts +2 -0
- package/dist/skills/builtin/core/docker-master/reference.d.ts +1 -0
- package/dist/skills/{skills → builtin/core}/document-reader.d.ts +1 -1
- package/dist/skills/builtin/core/git-master/commit.d.ts +1 -0
- package/dist/skills/builtin/core/git-master/execution.d.ts +1 -0
- package/dist/skills/builtin/core/git-master/history.d.ts +1 -0
- package/dist/skills/builtin/core/git-master/index.d.ts +2 -0
- package/dist/skills/builtin/core/git-master/rebase.d.ts +1 -0
- package/dist/skills/builtin/core/index.d.ts +19 -0
- package/dist/skills/{skills → builtin/core}/matrixx-self-config.d.ts +1 -1
- package/dist/skills/{skills → builtin/core}/playwright-cli.d.ts +1 -1
- package/dist/skills/{skills → builtin/core}/playwright.d.ts +1 -1
- package/dist/skills/{skills → builtin/core}/python-asyncio.d.ts +1 -1
- package/dist/skills/builtin/core/quality-gate.d.ts +2 -0
- package/dist/skills/builtin/core/remove-ai-slops.d.ts +2 -0
- package/dist/skills/{skills → builtin/core}/resilience-error-taxonomy.d.ts +1 -1
- package/dist/skills/{skills → builtin/core}/resilience-failure-hunting.d.ts +1 -1
- package/dist/skills/builtin/core/review-work.d.ts +2 -0
- package/dist/skills/{skills → builtin/core}/silent-failure-detection.d.ts +1 -1
- package/dist/skills/builtin/core/software-dev.d.ts +2 -0
- package/dist/skills/{skills → builtin/core}/systematic-debugging.d.ts +1 -1
- package/dist/skills/builtin/core/tdd-enforcer.d.ts +2 -0
- package/dist/skills/{skills → builtin/core}/telegram-bot.d.ts +1 -1
- package/dist/skills/builtin/core/ulw-research.d.ts +2 -0
- package/dist/skills/{skills → builtin/dsl}/dsl-codegen.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-composition.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-core.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-grammar.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-metamodel.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-model-transformation.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-pyecore-advanced.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-testing.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-textx-ecosystem.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-tooling.d.ts +1 -1
- package/dist/skills/{skills → builtin/dsl}/dsl-validation.d.ts +1 -1
- package/dist/skills/builtin/dsl/index.d.ts +11 -0
- package/dist/skills/{skills → builtin/frontend}/frontend-a11y.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-build-tooling.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-perf.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-react-nextjs.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-state-data.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-svelte-sveltekit.d.ts +1 -1
- package/dist/skills/{skills → builtin/frontend}/frontend-testing.d.ts +1 -1
- package/dist/skills/builtin/frontend/frontend-ui-ux.d.ts +2 -0
- package/dist/skills/builtin/frontend/index.d.ts +8 -0
- package/dist/skills/builtin/index.d.ts +7 -0
- package/dist/skills/{skills → builtin/market-data}/ccxt-pro-websockets.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/ccxt-rest.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/crypto-market-structure.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/data-quality-observability.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/grafana-dashboards.d.ts +1 -1
- package/dist/skills/builtin/market-data/index.d.ts +10 -0
- package/dist/skills/{skills → builtin/market-data}/influxdb-timeseries.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/market-data-architecture.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/market-data-bus.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/market-data-robustness-review.d.ts +1 -1
- package/dist/skills/{skills → builtin/market-data}/time-series-fundamentals.d.ts +1 -1
- package/dist/skills/builtin/security/index.d.ts +10 -0
- package/dist/skills/{skills → builtin/security}/security-api.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-audit.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-core.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-crypto.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-dast.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-dependencies.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-infra.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-review.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-sast.d.ts +1 -1
- package/dist/skills/{skills → builtin/security}/security-secrets.d.ts +1 -1
- package/dist/skills/builtin/zeromq/index.d.ts +7 -0
- package/dist/skills/{skills → builtin/zeromq}/zeromq-advanced-reqrep.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-architecture.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-core.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-frameworks.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-pubsub.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-reliability.d.ts +1 -1
- package/dist/skills/{skills → builtin/zeromq}/zeromq-sockets-patterns.d.ts +1 -1
- package/dist/skills/index.d.ts +10 -4
- package/dist/skills/{skills.d.ts → loader/factories.d.ts} +1 -1
- package/dist/skills/loader/index.d.ts +4 -0
- package/dist/tools/assembly/index.d.ts +9 -0
- package/dist/tools/assembly/tools.d.ts +1 -1
- package/dist/tools/ast-grep/index.d.ts +14 -0
- package/dist/tools/ast-grep/tools.d.ts +2 -2
- package/dist/tools/background-task/clients.d.ts +1 -1
- package/dist/tools/background-task/create-background-cancel.d.ts +1 -1
- package/dist/tools/background-task/create-background-output.d.ts +2 -2
- package/dist/tools/background-task/create-background-revive.d.ts +1 -1
- package/dist/tools/background-task/create-background-wait-all.d.ts +1 -1
- package/dist/tools/background-task/full-session-format.d.ts +1 -1
- package/dist/tools/background-task/index.d.ts +6 -0
- package/dist/tools/background-task/message-dir.d.ts +1 -1
- package/dist/tools/background-task/task-result-format.d.ts +1 -1
- package/dist/tools/bdd-create-contract/index.d.ts +4 -0
- package/dist/tools/bdd-create-contract/tools.d.ts +1 -1
- package/dist/tools/bdd-parse-gherkin/index.d.ts +4 -0
- package/dist/tools/bdd-parse-gherkin/tools.d.ts +1 -1
- package/dist/tools/bdd-pipeline/index.d.ts +9 -0
- package/dist/tools/bdd-pipeline/tools.d.ts +1 -1
- package/dist/tools/bdd-validate-contract/index.d.ts +2 -0
- package/dist/tools/bdd-validate-contract/tools.d.ts +1 -1
- package/dist/tools/dashboard-flux-validator/index.d.ts +5 -0
- package/dist/tools/dashboard-flux-validator/tools.d.ts +2 -2
- package/dist/tools/delegate-task/diagnostic-shape.d.ts +1 -1
- package/dist/tools/delegate-task/error-formatting.d.ts +2 -2
- package/dist/tools/delegate-task/executor-types.d.ts +1 -1
- package/dist/tools/delegate-task/model-selection.d.ts +1 -1
- package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -1
- package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -1
- package/dist/tools/delegate-task/tools.d.ts +1 -1
- package/dist/tools/delegate-task/types.d.ts +1 -1
- package/dist/tools/evolution/index.d.ts +6 -0
- package/dist/tools/evolution/tools.d.ts +2 -2
- package/dist/tools/github-search/index.d.ts +6 -0
- package/dist/tools/github-search/tools.d.ts +2 -2
- package/dist/tools/glob/index.d.ts +6 -0
- package/dist/tools/glob/tools.d.ts +2 -2
- package/dist/tools/grep/index.d.ts +7 -0
- package/dist/tools/grep/tools.d.ts +2 -2
- package/dist/tools/handoff/create-handler.d.ts +1 -1
- package/dist/tools/handoff/index.d.ts +9 -0
- package/dist/tools/handoff/tools.d.ts +2 -2
- package/dist/tools/hashline-edit/hashline-edit-executor.d.ts +1 -1
- package/dist/tools/hashline-edit/tools.d.ts +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/interactive-bash/tools.d.ts +1 -1
- package/dist/tools/knowledge-hub-confirm/index.d.ts +2 -0
- package/dist/tools/knowledge-hub-confirm/tools.d.ts +2 -2
- package/dist/tools/look-at/index.d.ts +8 -0
- package/dist/tools/look-at/multimodal-agent-metadata.d.ts +1 -1
- package/dist/tools/look-at/tools.d.ts +2 -2
- package/dist/tools/lsp/diagnostics-tool.d.ts +1 -1
- package/dist/tools/lsp/find-references-tool.d.ts +1 -1
- package/dist/tools/lsp/goto-definition-tool.d.ts +1 -1
- package/dist/tools/lsp/rename-tools.d.ts +1 -1
- package/dist/tools/lsp/symbols-tool.d.ts +1 -1
- package/dist/tools/market-symbol-validator/index.d.ts +5 -0
- package/dist/tools/market-symbol-validator/tools.d.ts +2 -2
- package/dist/tools/notepad/notepad-append.d.ts +2 -2
- package/dist/tools/notepad/notepad-create.d.ts +2 -2
- package/dist/tools/notepad/notepad-list.d.ts +2 -2
- package/dist/tools/notepad/notepad-read.d.ts +2 -2
- package/dist/tools/pdf-extract-figures/index.d.ts +2 -0
- package/dist/tools/pdf-extract-figures/tools.d.ts +1 -1
- package/dist/tools/plan/plan-create.d.ts +2 -2
- package/dist/tools/plan/plan-delete.d.ts +2 -2
- package/dist/tools/plan/plan-list.d.ts +2 -2
- package/dist/tools/plan/plan-read.d.ts +2 -2
- package/dist/tools/plan/plan-tasks.d.ts +2 -2
- package/dist/tools/plan/plan-update.d.ts +2 -2
- package/dist/tools/preset/index.d.ts +2 -0
- package/dist/tools/preset/tools.d.ts +1 -1
- package/dist/tools/session-cleanup/index.d.ts +2 -2
- package/dist/tools/session-manager/index.d.ts +7 -0
- package/dist/tools/session-manager/storage.d.ts +3 -3
- package/dist/tools/session-manager/tools.d.ts +2 -2
- package/dist/tools/silent-failure-scanner/tools.d.ts +2 -2
- package/dist/tools/skill/index.d.ts +4 -0
- package/dist/tools/skill/tools.d.ts +1 -1
- package/dist/tools/slashcommand/index.d.ts +7 -0
- package/dist/tools/slashcommand/slashcommand-tool.d.ts +1 -1
- package/dist/tools/staleness-gap-checker/tools.d.ts +2 -2
- package/dist/tools/task/task-cleanup.d.ts +2 -2
- package/dist/tools/task/task-create.d.ts +2 -2
- package/dist/tools/task/task-get.d.ts +2 -2
- package/dist/tools/task/task-list.d.ts +2 -2
- package/dist/tools/task/task-update.d.ts +2 -2
- package/dist/tools/task/types.d.ts +10 -10
- package/dist/tools.js +154 -155
- package/package.json +1 -1
- package/dist/hooks/task-continuation-enforcer/abort-detection.d.ts +0 -2
- package/dist/hooks/task-continuation-enforcer/constants.d.ts +0 -9
- package/dist/hooks/task-continuation-enforcer/continuation-injection.d.ts +0 -14
- package/dist/hooks/task-continuation-enforcer/countdown.d.ts +0 -16
- package/dist/hooks/task-continuation-enforcer/handler.d.ts +0 -13
- package/dist/hooks/task-continuation-enforcer/idle-event.d.ts +0 -13
- package/dist/hooks/task-continuation-enforcer/index.d.ts +0 -5
- package/dist/hooks/task-continuation-enforcer/non-idle-events.d.ts +0 -6
- package/dist/hooks/task-continuation-enforcer/session-state.d.ts +0 -10
- package/dist/hooks/task-continuation-enforcer/types.d.ts +0 -54
- package/dist/plugin/available-categories.d.ts +0 -3
- package/dist/skills/skills/dev-browser.d.ts +0 -2
- package/dist/skills/skills/docker-master.d.ts +0 -2
- package/dist/skills/skills/frontend-ui-ux.d.ts +0 -2
- package/dist/skills/skills/git-master.d.ts +0 -2
- package/dist/skills/skills/index.d.ts +0 -69
- package/dist/skills/skills/quality-gate.d.ts +0 -2
- package/dist/skills/skills/remove-ai-slops.d.ts +0 -2
- package/dist/skills/skills/review-work.d.ts +0 -2
- package/dist/skills/skills/software-dev.d.ts +0 -2
- package/dist/skills/skills/tdd-enforcer.d.ts +0 -2
- package/dist/skills/skills/ulw-research.d.ts +0 -2
- package/dist/features/{hook-message-injector → context-injection/hook-bridge}/sdk-message-cache.d.ts +0 -0
- package/dist/features/{hook-message-injector → context-injection/hook-bridge}/types.d.ts +0 -0
- package/dist/features/{context-injector → context-injection/injector}/collector.d.ts +0 -0
- package/dist/features/{context-injector → context-injection/injector}/index.d.ts +0 -0
- package/dist/features/{context-injector → context-injection/injector}/injector.d.ts +0 -0
- package/dist/features/{context-injector → context-injection/injector}/types.d.ts +0 -0
- package/dist/features/{context-mode-routing → context-injection/routing}/routing-block.d.ts +0 -0
- package/dist/{plugin-handlers → plugin/handlers}/agent-priority-order.d.ts +0 -0
- package/dist/{plugin-handlers → plugin/handlers}/agent-tool-allowlist.d.ts +0 -0
- package/dist/{plugin-handlers → plugin/handlers}/formatter-config-handler.d.ts +0 -0
- package/dist/{plugin-handlers → plugin/handlers}/index.d.ts +0 -0
- package/dist/{plugin-handlers → plugin/handlers}/plan-model-inheritance.d.ts +0 -0
- package/dist/plugin/{chat-params.d.ts → tool/chat-params.d.ts} +0 -0
- package/dist/plugin/{event-dispatch.d.ts → tool/event-dispatch.d.ts} +0 -0
- package/dist/plugin/{recent-synthetic-idles.d.ts → tool/recent-synthetic-idles.d.ts} +0 -0
- package/dist/plugin/{session-status-normalizer.d.ts → tool/session-status-normalizer.d.ts} +0 -0
- package/dist/plugin/{tool-execute-before.bench.d.ts → tool/tool-execute-before.bench.d.ts} +0 -0
- package/dist/plugin/{tool-policy.d.ts → tool/tool-policy.d.ts} +0 -0
- package/dist/shared/{agent-display-names.d.ts → agent/agent-display-names.d.ts} +0 -0
- package/dist/shared/{agent-label.d.ts → agent/agent-label.d.ts} +0 -0
- package/dist/shared/{permission-compat.d.ts → agent/permission-compat.d.ts} +0 -0
- package/dist/shared/{safe-create-hook.d.ts → agent/safe-create-hook.d.ts} +0 -0
- package/dist/shared/{compaction-log.d.ts → compaction/compaction-log.d.ts} +0 -0
- package/dist/{hooks/shared → shared/compaction}/compaction-model-resolver.d.ts +0 -0
- package/dist/shared/{context-limit-resolver.d.ts → compaction/context-limit-resolver.d.ts} +0 -0
- package/dist/shared/{token-cache.d.ts → compaction/token-cache.d.ts} +0 -0
- package/dist/shared/{truncate-description.d.ts → compaction/truncate-description.d.ts} +0 -0
- package/dist/shared/{config-errors.d.ts → config/config-errors.d.ts} +0 -0
- package/dist/shared/{data-path.d.ts → config/data-path.d.ts} +0 -0
- package/dist/shared/{deep-merge.d.ts → config/deep-merge.d.ts} +0 -0
- package/dist/shared/{opencode-config-dir.d.ts → config/opencode-config-dir.d.ts} +0 -0
- package/dist/shared/{opencode-storage-detection.d.ts → config/opencode-storage-detection.d.ts} +0 -0
- package/dist/shared/{opencode-storage-paths.d.ts → config/opencode-storage-paths.d.ts} +0 -0
- package/dist/shared/{opencode-version.d.ts → config/opencode-version.d.ts} +0 -0
- package/dist/shared/{binary-downloader.d.ts → io/binary-downloader.d.ts} +0 -0
- package/dist/shared/{file-reference-resolver.d.ts → io/file-reference-resolver.d.ts} +0 -0
- package/dist/shared/{file-utils.d.ts → io/file-utils.d.ts} +0 -0
- package/dist/shared/{frontmatter.d.ts → io/frontmatter.d.ts} +0 -0
- package/dist/shared/{port-utils.d.ts → io/port-utils.d.ts} +0 -0
- package/dist/shared/{shell-env.d.ts → io/shell-env.d.ts} +0 -0
- package/dist/shared/{shell-tool-name.d.ts → io/shell-tool-name.d.ts} +0 -0
- package/dist/shared/{zip-extractor.d.ts → io/zip-extractor.d.ts} +0 -0
- package/dist/shared/{connected-providers-cache.d.ts → model/connected-providers-cache.d.ts} +0 -0
- package/dist/shared/{model-availability.d.ts → model/model-availability.d.ts} +0 -0
- package/dist/shared/{model-resolution-pipeline.d.ts → model/model-resolution-pipeline.d.ts} +0 -0
- package/dist/shared/{model-sanitizer.d.ts → model/model-sanitizer.d.ts} +0 -0
- package/dist/shared/{normalize-sdk-response.d.ts → model/normalize-sdk-response.d.ts} +0 -0
- package/dist/shared/{external-plugin-detector.d.ts → opencode/external-plugin-detector.d.ts} +0 -0
- package/dist/shared/{opencode-http-api.d.ts → opencode/opencode-http-api.d.ts} +0 -0
- package/dist/shared/{opencode-message-dir.d.ts → opencode/opencode-message-dir.d.ts} +0 -0
- package/dist/shared/{opencode-server-auth.d.ts → opencode/opencode-server-auth.d.ts} +0 -0
- package/dist/shared/{poll-timeout-outcome.d.ts → outcome/poll-timeout-outcome.d.ts} +0 -0
- package/dist/shared/{revive-outcome.d.ts → outcome/revive-outcome.d.ts} +0 -0
- package/dist/shared/{saturated-outcome.d.ts → outcome/saturated-outcome.d.ts} +0 -0
- package/dist/shared/{sentinels.d.ts → outcome/sentinels.d.ts} +0 -0
- package/dist/shared/{wallclock-outcome.d.ts → outcome/wallclock-outcome.d.ts} +0 -0
- package/dist/shared/{code-patterns.d.ts → policy/code-patterns.d.ts} +0 -0
- package/dist/shared/{context-mode-enforcement.d.ts → policy/context-mode-enforcement.d.ts} +0 -0
- package/dist/shared/{dcp-guidance.d.ts → policy/dcp-guidance.d.ts} +0 -0
- package/dist/shared/{status-types.d.ts → policy/status-types.d.ts} +0 -0
- package/dist/shared/{delay.d.ts → runtime/delay.d.ts} +0 -0
- package/dist/shared/{is-abort-error.d.ts → runtime/is-abort-error.d.ts} +0 -0
- package/dist/shared/{logger.d.ts → runtime/logger.d.ts} +0 -0
- package/dist/shared/{notify.d.ts → runtime/notify.d.ts} +0 -0
- package/dist/shared/{record-type-guard.d.ts → runtime/record-type-guard.d.ts} +0 -0
- package/dist/shared/{unwrap-list.d.ts → runtime/unwrap-list.d.ts} +0 -0
- package/dist/shared/{with-timeout.d.ts → runtime/with-timeout.d.ts} +0 -0
- package/dist/shared/{awaiting-user.d.ts → session/awaiting-user.d.ts} +0 -0
- package/dist/shared/{first-message-variant.d.ts → session/first-message-variant.d.ts} +0 -0
- package/dist/shared/{session-cursor.d.ts → session/session-cursor.d.ts} +0 -0
- package/dist/shared/{session-directory-resolver.d.ts → session/session-directory-resolver.d.ts} +0 -0
- package/dist/shared/{session-facade.d.ts → session/session-facade.d.ts} +0 -0
- package/dist/shared/{session-id.d.ts → session/session-id.d.ts} +0 -0
- package/dist/shared/{session-injected-paths.d.ts → session/session-injected-paths.d.ts} +0 -0
- package/dist/shared/{session-message.d.ts → session/session-message.d.ts} +0 -0
- package/dist/shared/{session-state.d.ts → session/session-state.d.ts} +0 -0
- package/dist/shared/{session-utils.d.ts → session/session-utils.d.ts} +0 -0
- package/dist/shared/{state-root.d.ts → session/state-root.d.ts} +0 -0
- package/dist/shared/{transcript-path.d.ts → session/transcript-path.d.ts} +0 -0
- package/dist/shared/{with-ephemeral-session.d.ts → session/with-ephemeral-session.d.ts} +0 -0
- package/dist/shared/{error-formatting.d.ts → text/error-formatting.d.ts} +0 -0
- package/dist/shared/{escape-regexp.d.ts → text/escape-regexp.d.ts} +0 -0
- package/dist/shared/{format-bytes.d.ts → text/format-bytes.d.ts} +0 -0
- package/dist/shared/{format-duration.d.ts → text/format-duration.d.ts} +0 -0
- package/dist/shared/{json-safe-metadata.d.ts → text/json-safe-metadata.d.ts} +0 -0
- package/dist/shared/{jsonc-parser.d.ts → text/jsonc-parser.d.ts} +0 -0
- package/dist/shared/{system-directive.d.ts → text/system-directive.d.ts} +0 -0
- package/dist/shared/{agent-tool-restrictions.d.ts → tool/agent-tool-restrictions.d.ts} +0 -0
- package/dist/shared/{skill-path-resolver.d.ts → tool/skill-path-resolver.d.ts} +0 -0
- package/dist/shared/{tool-guards.d.ts → tool/tool-guards.d.ts} +0 -0
- package/dist/skills/{lazy-skill-helper.d.ts → loader/lazy-skill-helper.d.ts} +0 -0
- package/dist/skills/{schemas → loader/schemas}/audits-store.d.ts +1 -1
- package/dist/skills/{schemas → loader/schemas}/security-audit.d.ts +2 -2
- /package/dist/skills/{skills.transform.d.ts → loader/skills.transform.d.ts} +0 -0
- /package/dist/skills/{types.d.ts → loader/types.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
[](https://github.com/klpanagi/opencode-matrixx)
|
|
2
|
-
|
|
3
1
|
<div align="center">
|
|
4
2
|
|
|
5
3
|
# Matrixx
|
|
6
4
|
|
|
7
5
|
[](https://www.npmjs.com/package/opencode-matrixx)
|
|
8
|
-
[](https://github.com/klpanagi/opencode-matrixx/blob/
|
|
6
|
+
[](https://github.com/klpanagi/opencode-matrixx-2/blob/dev/LICENSE.md)
|
|
9
7
|
[](https://opencode.ai/docs)
|
|
10
8
|
|
|
11
9
|
**Multi-model agent orchestration for [OpenCode](https://github.com/sst/opencode).**<br/>
|
|
12
|
-
**
|
|
10
|
+
**13 specialized agents. 65 lifecycle hooks. 31 tool dirs. 70 skills. 24 commands. One plugin.**
|
|
13
11
|
|
|
14
|
-
> **OpenCode v2-only.** Matrixx v2 requires OpenCode v2
|
|
12
|
+
> **OpenCode v2-only.** Matrixx v2 requires OpenCode v2. Current release: `1.2.1`.
|
|
15
13
|
|
|
16
14
|
[Quick Start](#quick-start) · [Why Matrixx?](#why-matrixx) · [How It Works](#how-it-works) · [Features](#features) · [Comparison](#how-matrixx-compares) · [Docs](docs/README.md)
|
|
17
15
|
|
|
@@ -38,10 +36,10 @@ Morpheus → Plans the implementation
|
|
|
38
36
|
|
|
39
37
|
| Problem with single-agent coding | What Matrixx does |
|
|
40
38
|
|----------------------------------|-------------------|
|
|
41
|
-
| One model does everything averagely | **
|
|
39
|
+
| One model does everything averagely | **13 specialists** — orchestration, planning, implementation, security, frontend, DSL, research, search |
|
|
42
40
|
| Agent forgets what it was doing after `/clear` | **Persistent tasks** — file-backed `.matrixx/tasks`, survives compaction and restarts |
|
|
43
41
|
| Slow sequential tool calls | **Parallel background agents** — 5+ running simultaneously, optional tmux visibility |
|
|
44
|
-
| AI code looks like AI code | **Quality gates** — comment checking, TDD/BDD pipeline,
|
|
42
|
+
| AI code looks like AI code | **Quality gates** — comment checking, TDD/BDD pipeline, 6-agent review |
|
|
45
43
|
| Context window fills up fast | **5-layer context stack** — native recovery + RTK + context-mode + DCP + Headroom |
|
|
46
44
|
| Fragile refactoring | **Deterministic tools** — LSP (goto-def, rename, diagnostics) + AST-Grep (structural search & replace) |
|
|
47
45
|
| Secrets leak into commits | **Security by default** — secret scanning + env-file guards + read-only auditor |
|
|
@@ -78,17 +76,17 @@ Full workflows: [Overview](docs/guide/overview.md) · [Orchestration](docs/orche
|
|
|
78
76
|
|
|
79
77
|
| Area | What you get | Details |
|
|
80
78
|
|------|--------------|---------|
|
|
81
|
-
| **Agent Orchestration** |
|
|
79
|
+
| **Agent Orchestration** | 13 agents, category routing (`source`, `deep-jack`, …), session continuity, parallel background execution | [Agents](docs/agents.md) |
|
|
82
80
|
| **Developer Tools** | LSP, AST-Grep search & replace, tmux terminal, task tools, assembly (multi-model debate) | [Features](docs/features.md) |
|
|
83
|
-
| **Lifecycle Hooks (65-enum)** | Context injection, think mode, task
|
|
84
|
-
| **Skills (
|
|
81
|
+
| **Lifecycle Hooks (65-enum)** | Context injection, think mode, task completion notifications, error recovery, quality gates, session recovery | [Hooks](docs/hooks.md) |
|
|
82
|
+
| **Skills (70)** | DSL engineering (11), security (9), frontend (7), BDD (4 + pipeline), git, browser, TDD, research, AI-slop removal | [Skills](docs/category-skill-guide.md) |
|
|
85
83
|
| **Software Dev Pipeline** | 6-phase PLAN → BUILD → VERIFY → REVIEW → SECURE → SHIP with 5 team roles, adaptive to task size | [Quality](docs/quality.md) |
|
|
86
84
|
| **Context Management (L0–L4)** | Native recovery + RTK (60–90% bash savings) + context-mode sandbox + DCP pruning + Headroom proxy (60–95% JSON) | [Context](docs/context-management.md) |
|
|
87
85
|
| **Security** | Secret-leak guard (gitleaks), env-file write guard, read-only Sentinel auditor with CWE-rated findings | [Hooks](docs/hooks.md) · [Agents](docs/agents.md) |
|
|
88
86
|
| **Knowledge & Research** | Saturation `/research` swarms, Context7 docs, Exa web search, `github_search`, document reader, external knowledge hubs | [Features](docs/features.md) |
|
|
89
87
|
| **Configurability** | Every agent, model, temperature, and hook tunable via `matrixx.jsonc` with JSON schema + Config Studio UI | [Configuration](docs/configurations.md) |
|
|
90
88
|
|
|
91
|
-
Counts are schema-official:
|
|
89
|
+
Counts are schema-official: **13 agents** (`BuiltinAgentNameSchema`), **70 skills** (`BuiltinSkillNameSchema`), **65 live hooks** (`HookNameEnum` in `src/config/schema/hooks.ts`; 73 names parse when the 7 retained-deprecated no-op literals and 1 alias are included), **24 commands** (`src/features/builtin-commands/commands.ts`), **2 MCPs** (`context7`, `document_reader`), **31 tool directories**, and **21 feature modules**. The roster lives in docs — this page links, never duplicates: [Agents](docs/agents.md) · [Hooks](docs/hooks.md) · [Skills](docs/category-skill-guide.md) · [Commands](docs/command-reference.md).
|
|
92
90
|
|
|
93
91
|
### Session memory (new, EXPERIMENTAL)
|
|
94
92
|
|
|
@@ -156,7 +154,7 @@ Full setup, CI mode, troubleshooting, and uninstall: [Installation guide](docs/g
|
|
|
156
154
|
**Trade-offs to know**
|
|
157
155
|
|
|
158
156
|
- **OpenCode-only.** Matrixx is a plugin, not a standalone agent or IDE. You adopt OpenCode to use it.
|
|
159
|
-
- **Learning curve.**
|
|
157
|
+
- **Learning curve.** 13 agents, 8 categories, 70 skills, 24 commands — `ultrawork` hides this well, but mastery takes time.
|
|
160
158
|
- **Multiple providers help.** It runs on one provider, but the multi-model value shows with two or more connected (or the OpenCode free tier).
|
|
161
159
|
- **Orchestration overhead.** Delegation costs extra tokens on trivial one-line tasks — use direct mode for those.
|
|
162
160
|
- **Pinned toolchain.** Bun 1.4.4 and recent OpenCode are required; bleeding-edge OpenCode versions can break the plugin temporarily.
|
|
@@ -168,7 +166,7 @@ Full setup, CI mode, troubleshooting, and uninstall: [Installation guide](docs/g
|
|
|
168
166
|
|
|
169
167
|
| Tool | Approach | Where Matrixx differs |
|
|
170
168
|
|------|----------|-----------------------|
|
|
171
|
-
| **Vanilla OpenCode** | Single powerful agent + tools | Matrixx adds the team layer: specialists, persistent tasks, 65
|
|
169
|
+
| **Vanilla OpenCode** | Single powerful agent + tools | Matrixx adds the team layer: specialists, persistent tasks, 65 lifecycle hooks, skills, and context compression. Same base, orchestrated. |
|
|
172
170
|
| **Claude Code** | Polished single-vendor agent (Anthropic models) | Matrixx is provider-agnostic and multi-model by design — mix Claude, OpenAI, Gemini, local models per role instead of one vendor. More setup, more control. |
|
|
173
171
|
| **Cursor / Windsurf** | IDE-integrated agent with proprietary models | Matrixx lives in the terminal (OpenCode TUI), is fully open and configurable, and exposes its orchestration as code. No IDE lock-in, no black-box model routing. |
|
|
174
172
|
| **Cline / Roo Code** | IDE-based autonomous agents, mode switching | Similar autonomy ethos; Matrixx goes further on parallelism (background swarms), persistent cross-session tasks, and deterministic refactoring tools (LSP/AST-Grep). |
|
|
@@ -191,14 +189,6 @@ Full setup, CI mode, troubleshooting, and uninstall: [Installation guide](docs/g
|
|
|
191
189
|
Full index: [docs/README.md](docs/README.md)
|
|
192
190
|
|
|
193
191
|
|
|
194
|
-
## Acknowledgment
|
|
195
|
-
|
|
196
|
-
Matrixx is developed at and supported by the [Information Systems & Software Engineering Laboratory (ISSEL)](https://issel.ee.auth.gr/), Department of Electrical and Computer Engineering, Aristotle University of Thessaloniki.
|
|
197
|
-
|
|
198
|
-
Research, development, and infrastructure behind Matrixx are powered, and practically funded, by ISSEL. Thank you to the lab, its members, and its students for making this work possible.
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
192
|
If this saves you time, a ⭐ goes a long way.
|
|
203
193
|
|
|
204
194
|
<sub>Productivity might spike too hard. Don't let your coworker notice. Actually, let's see who wins.</sub>
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* `request`, and the model is a reference rather than a "provider/model" string.
|
|
8
8
|
* Building that shape here keeps the translation out of the registration path.
|
|
9
9
|
*/
|
|
10
|
-
import type { PermissionRule } from "../shared/permission-compat";
|
|
11
|
-
export type { PermissionEffect, PermissionRule } from "../shared/permission-compat";
|
|
12
|
-
export { rule } from "../shared/permission-compat";
|
|
10
|
+
import type { PermissionRule } from "../shared/agent/permission-compat";
|
|
11
|
+
export type { PermissionEffect, PermissionRule } from "../shared/agent/permission-compat";
|
|
12
|
+
export { rule } from "../shared/agent/permission-compat";
|
|
13
13
|
/**
|
|
14
14
|
* Agent mode determines UI model selection behavior:
|
|
15
15
|
* - "primary": Respects user's UI-selected model (morpheus, niobe)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DcpCompressionMode } from "../shared/dcp-guidance";
|
|
1
|
+
import { type DcpCompressionMode } from "../shared/policy/dcp-guidance";
|
|
2
2
|
import type { AgentPromptMetadata } from "./types";
|
|
3
3
|
export interface AvailableAgent {
|
|
4
4
|
name: string;
|
|
@@ -32,6 +32,7 @@ export declare function buildDelegationTable(agents: AvailableAgent[]): string;
|
|
|
32
32
|
export declare function formatCustomSkillsBlock(customRows: string[], customSkills: AvailableSkill[], headerLevel?: "####" | "**"): string;
|
|
33
33
|
export declare function buildCategorySkillsDelegationGuide(categories: AvailableCategory[], skills: AvailableSkill[]): string;
|
|
34
34
|
export declare function buildOracleSection(agents: AvailableAgent[]): string;
|
|
35
|
+
export declare function buildSmithSection(agents: AvailableAgent[]): string;
|
|
35
36
|
export declare function buildNiobeReferralSection(): string;
|
|
36
37
|
export declare function buildHardBlocksSection(): string;
|
|
37
38
|
export declare function buildAntiPatternsSection(): string;
|
package/dist/cli.js
CHANGED
|
@@ -102,11 +102,87 @@ import { existsSync as existsSync4, readFileSync as readFileSync3 } from "fs";
|
|
|
102
102
|
import { homedir as homedir3 } from "os";
|
|
103
103
|
import { join as join5 } from "path";
|
|
104
104
|
|
|
105
|
-
// src/shared/
|
|
106
|
-
import { existsSync
|
|
107
|
-
import {
|
|
105
|
+
// src/shared/config/opencode-config-dir.ts
|
|
106
|
+
import { existsSync } from "fs";
|
|
107
|
+
import { homedir } from "os";
|
|
108
|
+
import { join, resolve } from "path";
|
|
109
|
+
var TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
|
|
110
|
+
var TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
|
|
111
|
+
function isDevBuild(version) {
|
|
112
|
+
if (!version)
|
|
113
|
+
return false;
|
|
114
|
+
return version.includes("-dev") || version.includes(".dev");
|
|
115
|
+
}
|
|
116
|
+
function getTauriConfigDir(identifier) {
|
|
117
|
+
const platform = process.platform;
|
|
118
|
+
switch (platform) {
|
|
119
|
+
case "darwin":
|
|
120
|
+
return join(homedir(), "Library", "Application Support", identifier);
|
|
121
|
+
case "win32": {
|
|
122
|
+
const appData = process.env.APPDATA || join(homedir(), "AppData", "Roaming");
|
|
123
|
+
return join(appData, identifier);
|
|
124
|
+
}
|
|
125
|
+
default: {
|
|
126
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
127
|
+
return join(xdgConfig, identifier);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function getCliConfigDir() {
|
|
132
|
+
const envConfigDir = process.env.OPENCODE_CONFIG_DIR?.trim();
|
|
133
|
+
if (envConfigDir) {
|
|
134
|
+
return resolve(envConfigDir);
|
|
135
|
+
}
|
|
136
|
+
if (process.platform === "win32") {
|
|
137
|
+
const crossPlatformDir = join(homedir(), ".config", "opencode");
|
|
138
|
+
const crossPlatformConfig = join(crossPlatformDir, "opencode.json");
|
|
139
|
+
if (existsSync(crossPlatformConfig)) {
|
|
140
|
+
return crossPlatformDir;
|
|
141
|
+
}
|
|
142
|
+
const appData = process.env.APPDATA || join(homedir(), "AppData", "Roaming");
|
|
143
|
+
const appdataDir = join(appData, "opencode");
|
|
144
|
+
const appdataConfig = join(appdataDir, "opencode.json");
|
|
145
|
+
if (existsSync(appdataConfig)) {
|
|
146
|
+
return appdataDir;
|
|
147
|
+
}
|
|
148
|
+
return crossPlatformDir;
|
|
149
|
+
}
|
|
150
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
151
|
+
return join(xdgConfig, "opencode");
|
|
152
|
+
}
|
|
153
|
+
function getOpenCodeConfigDir(options) {
|
|
154
|
+
const { binary, version, checkExisting = true } = options;
|
|
155
|
+
if (binary === "opencode") {
|
|
156
|
+
return getCliConfigDir();
|
|
157
|
+
}
|
|
158
|
+
const identifier = isDevBuild(version) ? TAURI_APP_IDENTIFIER_DEV : TAURI_APP_IDENTIFIER;
|
|
159
|
+
const tauriDir = getTauriConfigDir(identifier);
|
|
160
|
+
if (checkExisting) {
|
|
161
|
+
const legacyDir = getCliConfigDir();
|
|
162
|
+
const legacyConfig = join(legacyDir, "opencode.json");
|
|
163
|
+
const legacyConfigC = join(legacyDir, "opencode.jsonc");
|
|
164
|
+
if (existsSync(legacyConfig) || existsSync(legacyConfigC)) {
|
|
165
|
+
return legacyDir;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return tauriDir;
|
|
169
|
+
}
|
|
170
|
+
function getOpenCodeConfigPaths(options) {
|
|
171
|
+
const configDir = getOpenCodeConfigDir(options);
|
|
172
|
+
return {
|
|
173
|
+
configDir,
|
|
174
|
+
configJson: join(configDir, "opencode.json"),
|
|
175
|
+
configJsonc: join(configDir, "opencode.jsonc"),
|
|
176
|
+
packageJson: join(configDir, "package.json"),
|
|
177
|
+
matrixxConfig: join(configDir, "matrixx.json")
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// src/shared/model/connected-providers-cache.ts
|
|
182
|
+
import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
183
|
+
import { join as join4 } from "path";
|
|
108
184
|
|
|
109
|
-
// src/shared/data-path.ts
|
|
185
|
+
// src/shared/config/data-path.ts
|
|
110
186
|
import * as os from "os";
|
|
111
187
|
import * as path from "path";
|
|
112
188
|
function getCacheDir() {
|
|
@@ -119,7 +195,7 @@ function getOpenCodeCacheDir() {
|
|
|
119
195
|
return path.join(getCacheDir(), "opencode");
|
|
120
196
|
}
|
|
121
197
|
|
|
122
|
-
// src/shared/logger.ts
|
|
198
|
+
// src/shared/runtime/logger.ts
|
|
123
199
|
import { createRequire } from "module";
|
|
124
200
|
import * as os2 from "os";
|
|
125
201
|
import * as path2 from "path";
|
|
@@ -134,15 +210,15 @@ function log(message, data) {
|
|
|
134
210
|
} catch {}
|
|
135
211
|
}
|
|
136
212
|
|
|
137
|
-
// src/shared/connected-providers-cache.ts
|
|
213
|
+
// src/shared/model/connected-providers-cache.ts
|
|
138
214
|
var CONNECTED_PROVIDERS_CACHE_FILE = "connected-providers.json";
|
|
139
215
|
var PROVIDER_MODELS_CACHE_FILE = "provider-models.json";
|
|
140
216
|
function getCacheFilePath(filename) {
|
|
141
|
-
return
|
|
217
|
+
return join4(getOmoOpenCodeCacheDir(), filename);
|
|
142
218
|
}
|
|
143
219
|
function readConnectedProvidersCache() {
|
|
144
220
|
const cacheFile = getCacheFilePath(CONNECTED_PROVIDERS_CACHE_FILE);
|
|
145
|
-
if (!
|
|
221
|
+
if (!existsSync2(cacheFile)) {
|
|
146
222
|
log("[connected-providers-cache] Cache file not found", { cacheFile });
|
|
147
223
|
return null;
|
|
148
224
|
}
|
|
@@ -158,7 +234,7 @@ function readConnectedProvidersCache() {
|
|
|
158
234
|
}
|
|
159
235
|
function readProviderModelsCache() {
|
|
160
236
|
const cacheFile = getCacheFilePath(PROVIDER_MODELS_CACHE_FILE);
|
|
161
|
-
if (!
|
|
237
|
+
if (!existsSync2(cacheFile)) {
|
|
162
238
|
log("[connected-providers-cache] Provider-models cache file not found", { cacheFile });
|
|
163
239
|
return null;
|
|
164
240
|
}
|
|
@@ -176,8 +252,8 @@ function readProviderModelsCache() {
|
|
|
176
252
|
}
|
|
177
253
|
}
|
|
178
254
|
|
|
179
|
-
// src/shared/jsonc-parser.ts
|
|
180
|
-
import { existsSync as
|
|
255
|
+
// src/shared/text/jsonc-parser.ts
|
|
256
|
+
import { existsSync as existsSync3, readFileSync as readFileSync2 } from "fs";
|
|
181
257
|
|
|
182
258
|
// node_modules/jsonc-parser/lib/esm/impl/scanner.js
|
|
183
259
|
function createScanner(text, ignoreTrivia = false) {
|
|
@@ -1020,7 +1096,7 @@ function printParseErrorCode(code) {
|
|
|
1020
1096
|
return "<unknown ParseErrorCode>";
|
|
1021
1097
|
}
|
|
1022
1098
|
|
|
1023
|
-
// src/shared/jsonc-parser.ts
|
|
1099
|
+
// src/shared/text/jsonc-parser.ts
|
|
1024
1100
|
function parseJsonc(content) {
|
|
1025
1101
|
const errors = [];
|
|
1026
1102
|
const result = parse2(content, errors, {
|
|
@@ -1059,91 +1135,15 @@ function readJsoncFile(filePath) {
|
|
|
1059
1135
|
function detectConfigFile(basePath) {
|
|
1060
1136
|
const jsoncPath = `${basePath}.jsonc`;
|
|
1061
1137
|
const jsonPath = `${basePath}.json`;
|
|
1062
|
-
if (
|
|
1138
|
+
if (existsSync3(jsoncPath)) {
|
|
1063
1139
|
return { format: "jsonc", path: jsoncPath };
|
|
1064
1140
|
}
|
|
1065
|
-
if (
|
|
1141
|
+
if (existsSync3(jsonPath)) {
|
|
1066
1142
|
return { format: "json", path: jsonPath };
|
|
1067
1143
|
}
|
|
1068
1144
|
return { format: "none", path: jsonPath };
|
|
1069
1145
|
}
|
|
1070
1146
|
|
|
1071
|
-
// src/shared/opencode-config-dir.ts
|
|
1072
|
-
import { existsSync as existsSync3 } from "fs";
|
|
1073
|
-
import { homedir as homedir2 } from "os";
|
|
1074
|
-
import { join as join4, resolve } from "path";
|
|
1075
|
-
var TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
|
|
1076
|
-
var TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
|
|
1077
|
-
function isDevBuild(version) {
|
|
1078
|
-
if (!version)
|
|
1079
|
-
return false;
|
|
1080
|
-
return version.includes("-dev") || version.includes(".dev");
|
|
1081
|
-
}
|
|
1082
|
-
function getTauriConfigDir(identifier) {
|
|
1083
|
-
const platform = process.platform;
|
|
1084
|
-
switch (platform) {
|
|
1085
|
-
case "darwin":
|
|
1086
|
-
return join4(homedir2(), "Library", "Application Support", identifier);
|
|
1087
|
-
case "win32": {
|
|
1088
|
-
const appData = process.env.APPDATA || join4(homedir2(), "AppData", "Roaming");
|
|
1089
|
-
return join4(appData, identifier);
|
|
1090
|
-
}
|
|
1091
|
-
default: {
|
|
1092
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME || join4(homedir2(), ".config");
|
|
1093
|
-
return join4(xdgConfig, identifier);
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1096
|
-
}
|
|
1097
|
-
function getCliConfigDir() {
|
|
1098
|
-
const envConfigDir = process.env.OPENCODE_CONFIG_DIR?.trim();
|
|
1099
|
-
if (envConfigDir) {
|
|
1100
|
-
return resolve(envConfigDir);
|
|
1101
|
-
}
|
|
1102
|
-
if (process.platform === "win32") {
|
|
1103
|
-
const crossPlatformDir = join4(homedir2(), ".config", "opencode");
|
|
1104
|
-
const crossPlatformConfig = join4(crossPlatformDir, "opencode.json");
|
|
1105
|
-
if (existsSync3(crossPlatformConfig)) {
|
|
1106
|
-
return crossPlatformDir;
|
|
1107
|
-
}
|
|
1108
|
-
const appData = process.env.APPDATA || join4(homedir2(), "AppData", "Roaming");
|
|
1109
|
-
const appdataDir = join4(appData, "opencode");
|
|
1110
|
-
const appdataConfig = join4(appdataDir, "opencode.json");
|
|
1111
|
-
if (existsSync3(appdataConfig)) {
|
|
1112
|
-
return appdataDir;
|
|
1113
|
-
}
|
|
1114
|
-
return crossPlatformDir;
|
|
1115
|
-
}
|
|
1116
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME || join4(homedir2(), ".config");
|
|
1117
|
-
return join4(xdgConfig, "opencode");
|
|
1118
|
-
}
|
|
1119
|
-
function getOpenCodeConfigDir(options) {
|
|
1120
|
-
const { binary, version, checkExisting = true } = options;
|
|
1121
|
-
if (binary === "opencode") {
|
|
1122
|
-
return getCliConfigDir();
|
|
1123
|
-
}
|
|
1124
|
-
const identifier = isDevBuild(version) ? TAURI_APP_IDENTIFIER_DEV : TAURI_APP_IDENTIFIER;
|
|
1125
|
-
const tauriDir = getTauriConfigDir(identifier);
|
|
1126
|
-
if (checkExisting) {
|
|
1127
|
-
const legacyDir = getCliConfigDir();
|
|
1128
|
-
const legacyConfig = join4(legacyDir, "opencode.json");
|
|
1129
|
-
const legacyConfigC = join4(legacyDir, "opencode.jsonc");
|
|
1130
|
-
if (existsSync3(legacyConfig) || existsSync3(legacyConfigC)) {
|
|
1131
|
-
return legacyDir;
|
|
1132
|
-
}
|
|
1133
|
-
}
|
|
1134
|
-
return tauriDir;
|
|
1135
|
-
}
|
|
1136
|
-
function getOpenCodeConfigPaths(options) {
|
|
1137
|
-
const configDir = getOpenCodeConfigDir(options);
|
|
1138
|
-
return {
|
|
1139
|
-
configDir,
|
|
1140
|
-
configJson: join4(configDir, "opencode.json"),
|
|
1141
|
-
configJsonc: join4(configDir, "opencode.jsonc"),
|
|
1142
|
-
packageJson: join4(configDir, "package.json"),
|
|
1143
|
-
matrixxConfig: join4(configDir, "matrixx.json")
|
|
1144
|
-
};
|
|
1145
|
-
}
|
|
1146
|
-
|
|
1147
1147
|
// src/cli/doctor/checks/auth.ts
|
|
1148
1148
|
var ENV_PREFIX_MAP = { ANTHROPIC: "anthropic", OPENAI: "openai", GEMINI: "google", GOOGLE: "google", GITHUB: "github-copilot", ZAI: "zai-coding-plan", COPILOT: "github-copilot", VERTEX: "google" };
|
|
1149
1149
|
function mapEnvPrefix(rawPrefix) {
|
|
@@ -5917,10 +5917,11 @@ var BuiltinAgentNameSchema = _enum([
|
|
|
5917
5917
|
var BuiltinSkillNameSchema = _enum([
|
|
5918
5918
|
"playwright",
|
|
5919
5919
|
"agent-browser",
|
|
5920
|
-
"
|
|
5920
|
+
"playwright-cli",
|
|
5921
5921
|
"frontend-ui-ux",
|
|
5922
|
-
"git-master",
|
|
5923
5922
|
"docker-master",
|
|
5923
|
+
"git-master",
|
|
5924
|
+
"dev-browser",
|
|
5924
5925
|
"dsl-core",
|
|
5925
5926
|
"dsl-grammar",
|
|
5926
5927
|
"dsl-codegen",
|
|
@@ -5932,12 +5933,25 @@ var BuiltinSkillNameSchema = _enum([
|
|
|
5932
5933
|
"dsl-testing",
|
|
5933
5934
|
"dsl-validation",
|
|
5934
5935
|
"dsl-composition",
|
|
5936
|
+
"frontend-a11y",
|
|
5937
|
+
"bdd-backend",
|
|
5938
|
+
"bdd-contract",
|
|
5939
|
+
"bdd-frontend",
|
|
5940
|
+
"bdd-tests",
|
|
5941
|
+
"frontend-build-tooling",
|
|
5942
|
+
"frontend-perf",
|
|
5943
|
+
"frontend-state-data",
|
|
5944
|
+
"frontend-testing",
|
|
5945
|
+
"react-nextjs-patterns",
|
|
5946
|
+
"svelte-sveltekit-patterns",
|
|
5947
|
+
"document-reader",
|
|
5935
5948
|
"security-core",
|
|
5936
5949
|
"security-secrets",
|
|
5937
5950
|
"security-sast",
|
|
5938
5951
|
"security-dast",
|
|
5939
5952
|
"security-dependencies",
|
|
5940
5953
|
"security-api",
|
|
5954
|
+
"security-audit",
|
|
5941
5955
|
"security-crypto",
|
|
5942
5956
|
"security-infra",
|
|
5943
5957
|
"security-review",
|
|
@@ -5948,10 +5962,13 @@ var BuiltinSkillNameSchema = _enum([
|
|
|
5948
5962
|
"matrixx-self-config",
|
|
5949
5963
|
"ulw-research",
|
|
5950
5964
|
"remove-ai-slops",
|
|
5951
|
-
"
|
|
5952
|
-
"
|
|
5953
|
-
"
|
|
5954
|
-
"
|
|
5965
|
+
"zeromq-core",
|
|
5966
|
+
"zeromq-sockets-patterns",
|
|
5967
|
+
"zeromq-advanced-reqrep",
|
|
5968
|
+
"zeromq-reliability",
|
|
5969
|
+
"zeromq-pubsub",
|
|
5970
|
+
"zeromq-architecture",
|
|
5971
|
+
"zeromq-frameworks",
|
|
5955
5972
|
"python-asyncio",
|
|
5956
5973
|
"ccxt-rest",
|
|
5957
5974
|
"ccxt-pro-websockets",
|
|
@@ -5964,8 +5981,9 @@ var BuiltinSkillNameSchema = _enum([
|
|
|
5964
5981
|
"grafana-dashboards",
|
|
5965
5982
|
"telegram-bot",
|
|
5966
5983
|
"resilience-error-taxonomy",
|
|
5967
|
-
"silent-failure-detection",
|
|
5968
5984
|
"resilience-failure-hunting",
|
|
5985
|
+
"silent-failure-detection",
|
|
5986
|
+
"systematic-debugging",
|
|
5969
5987
|
"data-quality-observability"
|
|
5970
5988
|
]);
|
|
5971
5989
|
|
|
@@ -6135,7 +6153,7 @@ var CommentCheckerConfigSchema = object({
|
|
|
6135
6153
|
custom_prompt: string2().optional()
|
|
6136
6154
|
});
|
|
6137
6155
|
|
|
6138
|
-
// src/shared/context-mode-enforcement.ts
|
|
6156
|
+
// src/shared/policy/context-mode-enforcement.ts
|
|
6139
6157
|
import { existsSync as existsSync5, readFileSync as readFileSync4 } from "fs";
|
|
6140
6158
|
import { createRequire as createRequire2 } from "module";
|
|
6141
6159
|
import { homedir as homedir4 } from "os";
|
|
@@ -6415,7 +6433,6 @@ var HeadroomConfigSchema = object({
|
|
|
6415
6433
|
|
|
6416
6434
|
// src/config/schema/hooks.ts
|
|
6417
6435
|
var HookNameEnum = _enum([
|
|
6418
|
-
"task-continuation-enforcer",
|
|
6419
6436
|
"context-window-monitor",
|
|
6420
6437
|
"session-recovery",
|
|
6421
6438
|
"session-notification",
|
|
@@ -6489,6 +6506,7 @@ var HookNameSchema = union([
|
|
|
6489
6506
|
literal("compaction-todo-preserver"),
|
|
6490
6507
|
literal("tasks-todowrite-disabler"),
|
|
6491
6508
|
literal("task-notepad"),
|
|
6509
|
+
literal("task-continuation-enforcer"),
|
|
6492
6510
|
literal("preemptive-compaction"),
|
|
6493
6511
|
literal("evolution-compressor")
|
|
6494
6512
|
]);
|
|
@@ -7675,11 +7693,11 @@ var optionalToolsCheck = {
|
|
|
7675
7693
|
import { existsSync as existsSync12, readFileSync as readFileSync10 } from "fs";
|
|
7676
7694
|
import { join as join13 } from "path";
|
|
7677
7695
|
|
|
7678
|
-
// src/shared/sentinels.ts
|
|
7696
|
+
// src/shared/outcome/sentinels.ts
|
|
7679
7697
|
var NOT_CACHED = Symbol("NOT_CACHED");
|
|
7680
7698
|
var FALSE_PENDING_RETRY = Symbol("FALSE_PENDING_RETRY");
|
|
7681
7699
|
|
|
7682
|
-
// src/shared/opencode-version.ts
|
|
7700
|
+
// src/shared/config/opencode-version.ts
|
|
7683
7701
|
function parseVersion(version) {
|
|
7684
7702
|
const cleaned = version.replace(/^v/, "").split("-")[0];
|
|
7685
7703
|
return cleaned.split(".").map((n) => parseInt(n, 10) || 0);
|
|
@@ -9571,7 +9589,7 @@ import { existsSync as existsSync19, readFileSync as readFileSync17 } from "fs";
|
|
|
9571
9589
|
import { existsSync as existsSync16, mkdirSync as mkdirSync3, readFileSync as readFileSync14, writeFileSync as writeFileSync3 } from "fs";
|
|
9572
9590
|
import { dirname as dirname2, join as join17 } from "path";
|
|
9573
9591
|
|
|
9574
|
-
// src/shared/deep-merge.ts
|
|
9592
|
+
// src/shared/config/deep-merge.ts
|
|
9575
9593
|
var DANGEROUS_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
9576
9594
|
var MAX_DEPTH = 50;
|
|
9577
9595
|
function isPlainObject2(value) {
|
|
@@ -9761,11 +9779,11 @@ async function syncOpencodePlugins(state, opts) {
|
|
|
9761
9779
|
`);
|
|
9762
9780
|
}
|
|
9763
9781
|
|
|
9764
|
-
// src/shared/model-availability.ts
|
|
9782
|
+
// src/shared/model/model-availability.ts
|
|
9765
9783
|
import { existsSync as existsSync18, readFileSync as readFileSync16 } from "fs";
|
|
9766
9784
|
import { join as join19 } from "path";
|
|
9767
9785
|
|
|
9768
|
-
// src/shared/unwrap-list.ts
|
|
9786
|
+
// src/shared/runtime/unwrap-list.ts
|
|
9769
9787
|
function unwrapList(value) {
|
|
9770
9788
|
if (Array.isArray(value)) {
|
|
9771
9789
|
return value;
|
|
@@ -9779,7 +9797,7 @@ function unwrapList(value) {
|
|
|
9779
9797
|
return [];
|
|
9780
9798
|
}
|
|
9781
9799
|
|
|
9782
|
-
// src/shared/model-availability.ts
|
|
9800
|
+
// src/shared/model/model-availability.ts
|
|
9783
9801
|
async function getConnectedProviders(client) {
|
|
9784
9802
|
if (!client?.provider?.list) {
|
|
9785
9803
|
log("[getConnectedProviders] client.provider.list not available");
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const BuiltinAgentNameSchema: z.ZodEnum<{
|
|
3
|
-
trinity: "trinity";
|
|
4
|
-
operator: "operator";
|
|
5
|
-
merovingian: "merovingian";
|
|
6
|
-
seraph: "seraph";
|
|
7
|
-
smith: "smith";
|
|
8
|
-
construct: "construct";
|
|
9
3
|
morpheus: "morpheus";
|
|
10
4
|
keymaker: "keymaker";
|
|
11
5
|
oracle: "oracle";
|
|
6
|
+
merovingian: "merovingian";
|
|
7
|
+
operator: "operator";
|
|
8
|
+
trinity: "trinity";
|
|
9
|
+
construct: "construct";
|
|
10
|
+
seraph: "seraph";
|
|
11
|
+
smith: "smith";
|
|
12
12
|
niobe: "niobe";
|
|
13
13
|
cipher: "cipher";
|
|
14
14
|
sentinel: "sentinel";
|
|
@@ -17,10 +17,11 @@ export declare const BuiltinAgentNameSchema: z.ZodEnum<{
|
|
|
17
17
|
export declare const BuiltinSkillNameSchema: z.ZodEnum<{
|
|
18
18
|
playwright: "playwright";
|
|
19
19
|
"agent-browser": "agent-browser";
|
|
20
|
-
"
|
|
20
|
+
"playwright-cli": "playwright-cli";
|
|
21
21
|
"frontend-ui-ux": "frontend-ui-ux";
|
|
22
|
-
"git-master": "git-master";
|
|
23
22
|
"docker-master": "docker-master";
|
|
23
|
+
"git-master": "git-master";
|
|
24
|
+
"dev-browser": "dev-browser";
|
|
24
25
|
"dsl-core": "dsl-core";
|
|
25
26
|
"dsl-grammar": "dsl-grammar";
|
|
26
27
|
"dsl-codegen": "dsl-codegen";
|
|
@@ -32,12 +33,25 @@ export declare const BuiltinSkillNameSchema: z.ZodEnum<{
|
|
|
32
33
|
"dsl-testing": "dsl-testing";
|
|
33
34
|
"dsl-validation": "dsl-validation";
|
|
34
35
|
"dsl-composition": "dsl-composition";
|
|
36
|
+
"frontend-a11y": "frontend-a11y";
|
|
37
|
+
"bdd-backend": "bdd-backend";
|
|
38
|
+
"bdd-contract": "bdd-contract";
|
|
39
|
+
"bdd-frontend": "bdd-frontend";
|
|
40
|
+
"bdd-tests": "bdd-tests";
|
|
41
|
+
"frontend-build-tooling": "frontend-build-tooling";
|
|
42
|
+
"frontend-perf": "frontend-perf";
|
|
43
|
+
"frontend-state-data": "frontend-state-data";
|
|
44
|
+
"frontend-testing": "frontend-testing";
|
|
45
|
+
"react-nextjs-patterns": "react-nextjs-patterns";
|
|
46
|
+
"svelte-sveltekit-patterns": "svelte-sveltekit-patterns";
|
|
47
|
+
"document-reader": "document-reader";
|
|
35
48
|
"security-core": "security-core";
|
|
36
49
|
"security-secrets": "security-secrets";
|
|
37
50
|
"security-sast": "security-sast";
|
|
38
51
|
"security-dast": "security-dast";
|
|
39
52
|
"security-dependencies": "security-dependencies";
|
|
40
53
|
"security-api": "security-api";
|
|
54
|
+
"security-audit": "security-audit";
|
|
41
55
|
"security-crypto": "security-crypto";
|
|
42
56
|
"security-infra": "security-infra";
|
|
43
57
|
"security-review": "security-review";
|
|
@@ -48,10 +62,13 @@ export declare const BuiltinSkillNameSchema: z.ZodEnum<{
|
|
|
48
62
|
"matrixx-self-config": "matrixx-self-config";
|
|
49
63
|
"ulw-research": "ulw-research";
|
|
50
64
|
"remove-ai-slops": "remove-ai-slops";
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
65
|
+
"zeromq-core": "zeromq-core";
|
|
66
|
+
"zeromq-sockets-patterns": "zeromq-sockets-patterns";
|
|
67
|
+
"zeromq-advanced-reqrep": "zeromq-advanced-reqrep";
|
|
68
|
+
"zeromq-reliability": "zeromq-reliability";
|
|
69
|
+
"zeromq-pubsub": "zeromq-pubsub";
|
|
70
|
+
"zeromq-architecture": "zeromq-architecture";
|
|
71
|
+
"zeromq-frameworks": "zeromq-frameworks";
|
|
55
72
|
"python-asyncio": "python-asyncio";
|
|
56
73
|
"ccxt-rest": "ccxt-rest";
|
|
57
74
|
"ccxt-pro-websockets": "ccxt-pro-websockets";
|
|
@@ -64,8 +81,9 @@ export declare const BuiltinSkillNameSchema: z.ZodEnum<{
|
|
|
64
81
|
"grafana-dashboards": "grafana-dashboards";
|
|
65
82
|
"telegram-bot": "telegram-bot";
|
|
66
83
|
"resilience-error-taxonomy": "resilience-error-taxonomy";
|
|
67
|
-
"silent-failure-detection": "silent-failure-detection";
|
|
68
84
|
"resilience-failure-hunting": "resilience-failure-hunting";
|
|
85
|
+
"silent-failure-detection": "silent-failure-detection";
|
|
86
|
+
"systematic-debugging": "systematic-debugging";
|
|
69
87
|
"data-quality-observability": "data-quality-observability";
|
|
70
88
|
}>;
|
|
71
89
|
export type AgentName = z.infer<typeof BuiltinAgentNameSchema>;
|
|
@@ -2,15 +2,15 @@ import { z } from "zod";
|
|
|
2
2
|
export declare const BrowserAutomationProviderSchema: z.ZodEnum<{
|
|
3
3
|
playwright: "playwright";
|
|
4
4
|
"agent-browser": "agent-browser";
|
|
5
|
-
"dev-browser": "dev-browser";
|
|
6
5
|
"playwright-cli": "playwright-cli";
|
|
6
|
+
"dev-browser": "dev-browser";
|
|
7
7
|
}>;
|
|
8
8
|
export declare const BrowserAutomationConfigSchema: z.ZodObject<{
|
|
9
9
|
provider: z.ZodDefault<z.ZodEnum<{
|
|
10
10
|
playwright: "playwright";
|
|
11
11
|
"agent-browser": "agent-browser";
|
|
12
|
-
"dev-browser": "dev-browser";
|
|
13
12
|
"playwright-cli": "playwright-cli";
|
|
13
|
+
"dev-browser": "dev-browser";
|
|
14
14
|
}>>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
16
|
export type BrowserAutomationProvider = z.infer<typeof BrowserAutomationProviderSchema>;
|
|
@@ -3,12 +3,12 @@ export declare const ContextModeConfigSchema: z.ZodObject<{
|
|
|
3
3
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
4
4
|
enforce: z.ZodDefault<z.ZodBoolean>;
|
|
5
5
|
blocked_tools: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
6
|
-
read: "read";
|
|
7
6
|
grep: "grep";
|
|
8
7
|
glob: "glob";
|
|
9
8
|
webfetch: "webfetch";
|
|
10
9
|
bash: "bash";
|
|
11
10
|
shell: "shell";
|
|
11
|
+
read: "read";
|
|
12
12
|
}>>>;
|
|
13
13
|
}, z.core.$strip>;
|
|
14
14
|
export type ContextModeConfig = z.infer<typeof ContextModeConfigSchema>;
|
|
@@ -5,7 +5,6 @@ export declare const HookNameSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
5
5
|
"matrix-loop": "matrix-loop";
|
|
6
6
|
"start-work": "start-work";
|
|
7
7
|
"evolution-watcher": "evolution-watcher";
|
|
8
|
-
"task-continuation-enforcer": "task-continuation-enforcer";
|
|
9
8
|
"context-window-monitor": "context-window-monitor";
|
|
10
9
|
"session-recovery": "session-recovery";
|
|
11
10
|
"session-notification": "session-notification";
|
|
@@ -66,5 +65,5 @@ export declare const HookNameSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
66
65
|
"task-notepad-writer": "task-notepad-writer";
|
|
67
66
|
"session-memory": "session-memory";
|
|
68
67
|
"subagent-block": "subagent-block";
|
|
69
|
-
}>, z.ZodPipe<z.ZodLiteral<"anthropic-context-window-limit-recovery">, z.ZodTransform<"context-window-limit-recovery", "anthropic-context-window-limit-recovery">>, z.ZodLiteral<"todo-continuation-enforcer">, z.ZodLiteral<"compaction-todo-preserver">, z.ZodLiteral<"tasks-todowrite-disabler">, z.ZodLiteral<"task-notepad">, z.ZodLiteral<"preemptive-compaction">, z.ZodLiteral<"evolution-compressor">]>;
|
|
68
|
+
}>, z.ZodPipe<z.ZodLiteral<"anthropic-context-window-limit-recovery">, z.ZodTransform<"context-window-limit-recovery", "anthropic-context-window-limit-recovery">>, z.ZodLiteral<"todo-continuation-enforcer">, z.ZodLiteral<"compaction-todo-preserver">, z.ZodLiteral<"tasks-todowrite-disabler">, z.ZodLiteral<"task-notepad">, z.ZodLiteral<"task-continuation-enforcer">, z.ZodLiteral<"preemptive-compaction">, z.ZodLiteral<"evolution-compressor">]>;
|
|
70
69
|
export type HookName = z.infer<typeof HookNameSchema>;
|