opencode-matrixx 2.4.0 → 2.6.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.
Files changed (186) hide show
  1. package/README.md +181 -8
  2. package/dist/agents/builtin-agents/available-skills.d.ts +2 -2
  3. package/dist/agents/builtin-agents.d.ts +2 -2
  4. package/dist/agents/construct.d.ts +3 -3
  5. package/dist/agents/dynamic-agent-prompt-builder.d.ts +3 -0
  6. package/dist/agents/index.d.ts +3 -3
  7. package/dist/agents/operator.d.ts +3 -3
  8. package/dist/agents/oracle/identity-constraints.d.ts +1 -1
  9. package/dist/agents/oracle/system-prompt.d.ts +2 -2
  10. package/dist/agents/trinity.d.ts +3 -3
  11. package/dist/cli/doctor/checks/auth.d.ts +2 -0
  12. package/dist/cli/doctor/checks/config.d.ts +2 -0
  13. package/dist/cli/doctor/checks/index.d.ts +10 -0
  14. package/dist/cli/doctor/checks/mcp.d.ts +2 -0
  15. package/dist/cli/doctor/checks/optional.d.ts +2 -0
  16. package/dist/cli/doctor/checks/plugin.d.ts +2 -0
  17. package/dist/cli/doctor/checks/runtime.d.ts +2 -0
  18. package/dist/cli/doctor/format.d.ts +3 -0
  19. package/dist/cli/doctor/index.d.ts +9 -0
  20. package/dist/cli/doctor/types.d.ts +24 -0
  21. package/dist/cli/index.d.ts +13 -0
  22. package/dist/cli/install/index.d.ts +12 -0
  23. package/dist/cli.js +927 -0
  24. package/dist/config/index.d.ts +1 -1
  25. package/dist/config/schema/dcp.d.ts +231 -2
  26. package/dist/config/schema/evolution.d.ts +89 -0
  27. package/dist/config/schema/headroom.d.ts +23 -0
  28. package/dist/config/schema/hooks.d.ts +7 -1
  29. package/dist/config/schema/matrixx-config.d.ts +134 -9
  30. package/dist/config/schema.d.ts +3 -3
  31. package/dist/create-hooks.d.ts +8 -3
  32. package/dist/create-managers.d.ts +0 -2
  33. package/dist/create-tools.d.ts +3 -3
  34. package/dist/features/background-agent/error-helpers.d.ts +0 -2
  35. package/dist/features/builtin-commands/templates/dcp-profile.d.ts +1 -1
  36. package/dist/features/builtin-commands/templates/evolution.d.ts +1 -0
  37. package/dist/features/builtin-commands/types.d.ts +1 -1
  38. package/dist/features/builtin-skills/types.d.ts +10 -1
  39. package/dist/features/command-loader/index.d.ts +1 -1
  40. package/dist/features/evolution/compressor/index.d.ts +5 -0
  41. package/dist/features/evolution/compressor/interface.d.ts +5 -0
  42. package/dist/features/evolution/compressor/llm.d.ts +12 -0
  43. package/dist/features/evolution/evaluator.d.ts +11 -0
  44. package/dist/features/evolution/index.d.ts +7 -0
  45. package/dist/features/evolution/pipeline.d.ts +7 -0
  46. package/dist/features/evolution/store.d.ts +22 -0
  47. package/dist/features/evolution/types.d.ts +51 -0
  48. package/dist/features/evolution/writer.d.ts +20 -0
  49. package/dist/features/task-storage/types.d.ts +2 -2
  50. package/dist/features/task-toast-manager/types.d.ts +2 -2
  51. package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +0 -1
  52. package/dist/hooks/anthropic-context-window-limit-recovery/tool-part-types.d.ts +2 -1
  53. package/dist/hooks/auto-slash-command/executor.d.ts +5 -2
  54. package/dist/hooks/auto-slash-command/hook.d.ts +4 -2
  55. package/dist/hooks/evolution-compressor/index.d.ts +15 -0
  56. package/dist/hooks/evolution-hitl/index.d.ts +12 -0
  57. package/dist/hooks/evolution-quality-gate/index.d.ts +6 -0
  58. package/dist/hooks/evolution-watcher/index.d.ts +21 -0
  59. package/dist/hooks/evolution-watcher/utils.d.ts +5 -0
  60. package/dist/hooks/index.d.ts +7 -1
  61. package/dist/hooks/keyword-detector/analyze/default.d.ts +1 -1
  62. package/dist/hooks/keyword-detector/constants.d.ts +1 -1
  63. package/dist/hooks/keyword-detector/search/default.d.ts +1 -1
  64. package/dist/hooks/keyword-detector/ultrawork/deepseek.d.ts +16 -0
  65. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +5 -2
  66. package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +12 -0
  67. package/dist/hooks/keyword-detector/ultrawork/glm.d.ts +11 -0
  68. package/dist/hooks/keyword-detector/ultrawork/gpt5.2.d.ts +4 -7
  69. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +12 -4
  70. package/dist/hooks/keyword-detector/ultrawork/mimo.d.ts +16 -0
  71. package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +18 -6
  72. package/dist/hooks/matrix-loop/with-timeout.d.ts +1 -1
  73. package/dist/hooks/mcp-startup-notification/index.d.ts +9 -0
  74. package/dist/hooks/{prometheus-md-only → oracle-md-only}/constants.d.ts +2 -2
  75. package/dist/hooks/session-recovery/types.d.ts +2 -1
  76. package/dist/hooks/task-todo-mirror/constants.d.ts +3 -0
  77. package/dist/hooks/task-todo-mirror/hook.d.ts +43 -0
  78. package/dist/hooks/task-todo-mirror/index.d.ts +2 -0
  79. package/dist/hooks/think-mode/types.d.ts +3 -0
  80. package/dist/index.js +85417 -96112
  81. package/dist/matrixx.schema.json +5412 -0
  82. package/dist/mcp/index.d.ts +10 -1
  83. package/dist/mcp/mcp-startup-state.d.ts +4 -0
  84. package/dist/mcp/mcp-validator.d.ts +13 -0
  85. package/dist/plugin/hooks/create-continuation-hooks.d.ts +3 -1
  86. package/dist/plugin/hooks/create-core-hooks.d.ts +4 -1
  87. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -2
  88. package/dist/plugin/hooks/create-skill-hooks.d.ts +2 -2
  89. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +3 -1
  90. package/dist/plugin/skill-context.d.ts +2 -2
  91. package/dist/plugin/tool-registry.d.ts +1 -1
  92. package/dist/plugin-handlers/agent-config-handler.d.ts +1 -0
  93. package/dist/plugin-handlers/index.d.ts +1 -1
  94. package/dist/plugin-handlers/plan-model-inheritance.d.ts +1 -1
  95. package/dist/shared/delay.d.ts +1 -0
  96. package/dist/shared/error-formatting.d.ts +1 -0
  97. package/dist/shared/format-bytes.d.ts +1 -0
  98. package/dist/shared/format-bytes.test.d.ts +1 -0
  99. package/dist/shared/index.d.ts +7 -9
  100. package/dist/shared/is-abort-error.test.d.ts +1 -0
  101. package/dist/shared/model-resolution-pipeline.d.ts +26 -1
  102. package/dist/shared/opencode-config-dir.d.ts +13 -2
  103. package/dist/shared/sentinels.d.ts +2 -0
  104. package/dist/shared/session-state.d.ts +15 -0
  105. package/dist/shared/status-types.d.ts +1 -0
  106. package/dist/shared/system-directive.d.ts +1 -1
  107. package/dist/shared/with-timeout.d.ts +1 -0
  108. package/dist/shared/with-timeout.test.d.ts +1 -0
  109. package/dist/tools/background-task/delay.d.ts +1 -1
  110. package/dist/tools/dcp-switch-profile/index.d.ts +1 -0
  111. package/dist/tools/dcp-switch-profile/tools.d.ts +8 -0
  112. package/dist/tools/delegate-agent/constants.d.ts +1 -1
  113. package/dist/tools/delegate-task/constants.d.ts +1 -1
  114. package/dist/tools/delegate-task/skill-resolver.d.ts +2 -2
  115. package/dist/tools/index.d.ts +2 -1
  116. package/dist/tools/pdf-extract-figures/index.d.ts +1 -0
  117. package/dist/tools/pdf-extract-figures/tools.d.ts +11 -0
  118. package/dist/tools/skill/types.d.ts +3 -7
  119. package/dist/tools/slashcommand/skill-command-converter.d.ts +2 -2
  120. package/dist/tools/slashcommand/types.d.ts +10 -3
  121. package/dist/tools/task/todo-sync.d.ts +1 -1
  122. package/dist/tools/task/types.d.ts +5 -5
  123. package/package.json +15 -4
  124. package/dist/config/schema/model-capabilities.d.ts +0 -8
  125. package/dist/features/agent-loader/index.d.ts +0 -2
  126. package/dist/features/agent-loader/loader.d.ts +0 -3
  127. package/dist/features/agent-loader/types.d.ts +0 -14
  128. package/dist/features/command-loader/loader.d.ts +0 -3
  129. package/dist/features/mcp-oauth/callback-server.d.ts +0 -11
  130. package/dist/features/mcp-oauth/dcr.d.ts +0 -28
  131. package/dist/features/mcp-oauth/discovery.d.ts +0 -8
  132. package/dist/features/mcp-oauth/oauth-authorization-flow.d.ts +0 -26
  133. package/dist/features/mcp-oauth/provider.d.ts +0 -29
  134. package/dist/features/mcp-oauth/step-up.d.ts +0 -9
  135. package/dist/features/mcp-oauth/storage.d.ts +0 -17
  136. package/dist/features/opencode-skill-loader/allowed-tools-parser.d.ts +0 -1
  137. package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +0 -7
  138. package/dist/features/opencode-skill-loader/index.d.ts +0 -14
  139. package/dist/features/opencode-skill-loader/loaded-skill-from-path.d.ts +0 -9
  140. package/dist/features/opencode-skill-loader/loaded-skill-template-extractor.d.ts +0 -2
  141. package/dist/features/opencode-skill-loader/loader.d.ts +0 -17
  142. package/dist/features/opencode-skill-loader/merger/builtin-skill-converter.d.ts +0 -3
  143. package/dist/features/opencode-skill-loader/merger/config-skill-entry-loader.d.ts +0 -3
  144. package/dist/features/opencode-skill-loader/merger/scope-priority.d.ts +0 -2
  145. package/dist/features/opencode-skill-loader/merger/skill-definition-merger.d.ts +0 -3
  146. package/dist/features/opencode-skill-loader/merger/skills-config-normalizer.d.ts +0 -11
  147. package/dist/features/opencode-skill-loader/merger.d.ts +0 -8
  148. package/dist/features/opencode-skill-loader/skill-content.d.ts +0 -4
  149. package/dist/features/opencode-skill-loader/skill-deduplication.d.ts +0 -2
  150. package/dist/features/opencode-skill-loader/skill-definition-record.d.ts +0 -3
  151. package/dist/features/opencode-skill-loader/skill-directory-loader.d.ts +0 -8
  152. package/dist/features/opencode-skill-loader/skill-discovery.d.ts +0 -4
  153. package/dist/features/opencode-skill-loader/skill-mcp-config.d.ts +0 -3
  154. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +0 -7
  155. package/dist/features/opencode-skill-loader/skill-template-resolver.d.ts +0 -11
  156. package/dist/features/opencode-skill-loader/types.d.ts +0 -34
  157. package/dist/features/skill-mcp-manager/cleanup.d.ts +0 -7
  158. package/dist/features/skill-mcp-manager/connection-type.d.ts +0 -6
  159. package/dist/features/skill-mcp-manager/connection.d.ts +0 -14
  160. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +0 -2
  161. package/dist/features/skill-mcp-manager/env-expander.d.ts +0 -1
  162. package/dist/features/skill-mcp-manager/http-client.d.ts +0 -3
  163. package/dist/features/skill-mcp-manager/index.d.ts +0 -2
  164. package/dist/features/skill-mcp-manager/manager.d.ts +0 -20
  165. package/dist/features/skill-mcp-manager/oauth-handler.d.ts +0 -8
  166. package/dist/features/skill-mcp-manager/stdio-client.d.ts +0 -3
  167. package/dist/features/skill-mcp-manager/types.d.ts +0 -68
  168. package/dist/hooks/runtime-fallback/is-abort-error.d.ts +0 -1
  169. package/dist/shared/is-object.d.ts +0 -1
  170. package/dist/shared/model-resolution-types.d.ts +0 -27
  171. package/dist/shared/model-resolver.d.ts +0 -24
  172. package/dist/shared/opencode-config-dir-types.d.ts +0 -13
  173. package/dist/shared/session-model-state.d.ts +0 -6
  174. package/dist/shared/session-temperature-store.d.ts +0 -3
  175. package/dist/shared/session-tools-store.d.ts +0 -3
  176. package/dist/tools/skill-mcp/constants.d.ts +0 -1
  177. package/dist/tools/skill-mcp/index.d.ts +0 -3
  178. package/dist/tools/skill-mcp/tools.d.ts +0 -11
  179. package/dist/tools/skill-mcp/types.d.ts +0 -8
  180. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/agent-matcher.d.ts +0 -0
  181. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/agent-resolution.d.ts +0 -0
  182. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/hook.d.ts +0 -0
  183. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/index.d.ts +0 -0
  184. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/path-policy.d.ts +0 -0
  185. /package/dist/plugin-handlers/{prometheus-agent-config-builder.d.ts → oracle-agent-config-builder.d.ts} +0 -0
  186. /package/dist/{hooks/architect → shared}/is-abort-error.d.ts +0 -0
@@ -1,4 +1,6 @@
1
1
  import type { MatrixxConfig } from "../config/schema";
2
+ import { type McpCreationFailure } from "./mcp-validator";
3
+ export type { McpCreationFailure } from "./mcp-validator";
2
4
  export { type McpName, McpNameSchema } from "./types";
3
5
  type RemoteMcpConfig = {
4
6
  type: "remote";
@@ -13,4 +15,11 @@ type LocalMcpConfig = {
13
15
  enabled: boolean;
14
16
  };
15
17
  type BuiltinMcpConfig = RemoteMcpConfig | LocalMcpConfig;
16
- export declare function createBuiltinMcps(disabledMcps?: string[], config?: MatrixxConfig): Record<string, BuiltinMcpConfig>;
18
+ export interface CreateBuiltinMcpsOptions {
19
+ isCommandAvailable?: (command: string) => boolean;
20
+ }
21
+ export interface CreateBuiltinMcpsResult {
22
+ mcps: Record<string, BuiltinMcpConfig>;
23
+ failures: McpCreationFailure[];
24
+ }
25
+ export declare function createBuiltinMcps(disabledMcps?: string[], config?: MatrixxConfig, options?: CreateBuiltinMcpsOptions): CreateBuiltinMcpsResult;
@@ -0,0 +1,4 @@
1
+ import type { McpCreationFailure } from "./mcp-validator";
2
+ export declare function setMcpStartupFailures(failures: McpCreationFailure[]): void;
3
+ export declare function getMcpStartupFailures(): McpCreationFailure[];
4
+ export declare function _resetMcpStartupFailuresForTesting(): void;
@@ -0,0 +1,13 @@
1
+ import type { WebsearchConfig } from "../config/schema";
2
+ export interface McpCreationFailure {
3
+ name: string;
4
+ error: string;
5
+ }
6
+ export type McpValidationResult = {
7
+ ok: true;
8
+ } | {
9
+ ok: false;
10
+ error: string;
11
+ };
12
+ export declare function validateWebsearchConfig(config?: WebsearchConfig): McpValidationResult;
13
+ export declare function isCommandAvailable(command: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import type { HookName, MatrixxConfig } from "../../config";
2
2
  import type { BackgroundManager } from "../../features/background-agent";
3
- import { createArchitectHook, createBackgroundNotificationHook, createCompactionContextInjector, createCompactionTodoPreserverHook, createPlanPersister, createStopContinuationGuardHook, createTodoContinuationEnforcer } from "../../hooks";
3
+ import { createArchitectHook, createBackgroundNotificationHook, createCompactionContextInjector, createCompactionTodoPreserverHook, createEvolutionCompressorHook, createEvolutionHitlHook, createPlanPersister, createStopContinuationGuardHook, createTodoContinuationEnforcer } from "../../hooks";
4
4
  import type { PluginContext } from "../types";
5
5
  import { createUnstableAgentBabysitter } from "../unstable-agent-babysitter";
6
6
  export type ContinuationHooks = {
@@ -12,6 +12,8 @@ export type ContinuationHooks = {
12
12
  backgroundNotificationHook: ReturnType<typeof createBackgroundNotificationHook> | null;
13
13
  architectHook: ReturnType<typeof createArchitectHook> | null;
14
14
  planPersister: ReturnType<typeof createPlanPersister> | null;
15
+ evolutionCompressor: ReturnType<typeof createEvolutionCompressorHook> | null;
16
+ evolutionHitl: ReturnType<typeof createEvolutionHitlHook> | null;
15
17
  };
16
18
  type SessionRecovery = {
17
19
  setOnAbortCallback: (callback: (sessionID: string) => void) => void;
@@ -31,6 +31,8 @@ export declare function createCoreHooks(args: {
31
31
  hashlineEditDiffEnhancer: ReturnType<typeof import("../../hooks").createHashlineEditDiffEnhancerHook> | null;
32
32
  qualityGate: ReturnType<typeof import("../../hooks").createQualityGateHook> | null;
33
33
  taskNotepad: ReturnType<typeof import("../../hooks").createTaskNotepadHook> | null;
34
+ evolutionWatcher: ReturnType<typeof import("../../hooks").createEvolutionWatcherHook> | null;
35
+ taskTodoMirror: ReturnType<typeof import("../../hooks").createTaskTodoMirrorHook> | null;
34
36
  contextWindowMonitor: ReturnType<typeof import("../../hooks").createContextWindowMonitorHook> | null;
35
37
  preemptiveCompaction: ReturnType<typeof import("../../hooks").createPreemptiveCompactionHook> | null;
36
38
  sessionRecovery: ReturnType<typeof import("../../hooks").createSessionRecoveryHook> | null;
@@ -45,11 +47,12 @@ export declare function createCoreHooks(args: {
45
47
  editErrorRecovery: ReturnType<typeof import("../../hooks").createEditErrorRecoveryHook> | null;
46
48
  delegateTaskRetry: ReturnType<typeof import("../../hooks").createDelegateTaskRetryHook> | null;
47
49
  startWork: ReturnType<typeof import("../../hooks").createStartWorkHook> | null;
48
- prometheusMdOnly: ReturnType<typeof import("../../hooks").createOracleMdOnlyHook> | null;
50
+ oracleMdOnly: ReturnType<typeof import("../../hooks").createOracleMdOnlyHook> | null;
49
51
  mouseNotepad: ReturnType<typeof import("../../hooks").createMouseNotepadHook> | null;
50
52
  questionLabelTruncator: ReturnType<typeof import("../../hooks").createQuestionLabelTruncatorHook>;
51
53
  taskResumeInfo: ReturnType<typeof import("../../hooks").createTaskResumeInfoHook>;
52
54
  anthropicEffort: ReturnType<typeof import("../../hooks/anthropic-effort").createAnthropicEffortHook> | null;
53
55
  runtimeFallback: ReturnType<typeof import("../../hooks").createRuntimeFallbackHook> | null;
54
56
  rtkBashRewriter: ReturnType<typeof import("../../hooks").createRtkBashRewriterHook> | null;
57
+ mcpStartupNotification: ReturnType<typeof import("../../hooks").createMcpStartupNotificationHook> | null;
55
58
  };
@@ -1,5 +1,5 @@
1
1
  import type { HookName, MatrixxConfig } from "../../config";
2
- import { createAgentUsageReminderHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createContextWindowMonitorHook, createDelegateTaskRetryHook, createEditErrorRecoveryHook, createInteractiveBashSessionHook, createMatrixLoopHook, createMouseNotepadHook, createNonInteractiveEnvHook, createOracleMdOnlyHook, createPreemptiveCompactionHook, createQuestionLabelTruncatorHook, createRtkBashRewriterHook, createRuntimeFallbackHook, createSessionNotification, createSessionRecoveryHook, createStartWorkHook, createTaskResumeInfoHook, createThinkModeHook } from "../../hooks";
2
+ import { createAgentUsageReminderHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createContextWindowMonitorHook, createDelegateTaskRetryHook, createEditErrorRecoveryHook, createInteractiveBashSessionHook, createMatrixLoopHook, createMcpStartupNotificationHook, createMouseNotepadHook, createNonInteractiveEnvHook, createOracleMdOnlyHook, createPreemptiveCompactionHook, createQuestionLabelTruncatorHook, createRtkBashRewriterHook, createRuntimeFallbackHook, createSessionNotification, createSessionRecoveryHook, createStartWorkHook, createTaskResumeInfoHook, createThinkModeHook } from "../../hooks";
3
3
  import { createAnthropicEffortHook } from "../../hooks/anthropic-effort";
4
4
  import type { PluginContext } from "../types";
5
5
  export type SessionHooks = {
@@ -17,13 +17,14 @@ export type SessionHooks = {
17
17
  editErrorRecovery: ReturnType<typeof createEditErrorRecoveryHook> | null;
18
18
  delegateTaskRetry: ReturnType<typeof createDelegateTaskRetryHook> | null;
19
19
  startWork: ReturnType<typeof createStartWorkHook> | null;
20
- prometheusMdOnly: ReturnType<typeof createOracleMdOnlyHook> | null;
20
+ oracleMdOnly: ReturnType<typeof createOracleMdOnlyHook> | null;
21
21
  mouseNotepad: ReturnType<typeof createMouseNotepadHook> | null;
22
22
  questionLabelTruncator: ReturnType<typeof createQuestionLabelTruncatorHook>;
23
23
  taskResumeInfo: ReturnType<typeof createTaskResumeInfoHook>;
24
24
  anthropicEffort: ReturnType<typeof createAnthropicEffortHook> | null;
25
25
  runtimeFallback: ReturnType<typeof createRuntimeFallbackHook> | null;
26
26
  rtkBashRewriter: ReturnType<typeof createRtkBashRewriterHook> | null;
27
+ mcpStartupNotification: ReturnType<typeof createMcpStartupNotificationHook> | null;
27
28
  };
28
29
  export declare function createSessionHooks(args: {
29
30
  ctx: PluginContext;
@@ -1,6 +1,6 @@
1
1
  import type { AvailableSkill } from "../../agents/dynamic-agent-prompt-builder";
2
2
  import type { HookName } from "../../config";
3
- import type { LoadedSkill } from "../../features/opencode-skill-loader/types";
3
+ import type { BuiltinSkill } from "../../features/builtin-skills";
4
4
  import { createAutoSlashCommandHook, createCategorySkillReminderHook } from "../../hooks";
5
5
  import type { PluginContext } from "../types";
6
6
  export type SkillHooks = {
@@ -11,6 +11,6 @@ export declare function createSkillHooks(args: {
11
11
  ctx: PluginContext;
12
12
  isHookEnabled: (hookName: HookName) => boolean;
13
13
  safeHookEnabled: boolean;
14
- mergedSkills: LoadedSkill[];
14
+ builtinSkills: BuiltinSkill[];
15
15
  availableSkills: AvailableSkill[];
16
16
  }): SkillHooks;
@@ -1,5 +1,5 @@
1
1
  import type { HookName, MatrixxConfig } from "../../config";
2
- import { createBashFileReadGuardHook, createCommentCheckerHooks, createDirectoryAgentsInjectorHook, createDirectoryReadmeInjectorHook, createEmptyTaskResponseDetectorHook, createEnvFileWriteGuardHook, createHashlineEditDiffEnhancerHook, createHashlineReadEnhancerHook, createJsonErrorRecoveryHook, createQualityGateHook, createReadImageResizerHook, createRulesInjectorHook, createSecretLeakGuardHook, createTaskNotepadHook, createTasksTodowriteDisablerHook, createTodoDescriptionOverrideHook, createToolOutputTruncatorHook, createWebFetchRedirectGuardHook, createWriteExistingFileGuardHook } from "../../hooks";
2
+ import { createBashFileReadGuardHook, createCommentCheckerHooks, createDirectoryAgentsInjectorHook, createDirectoryReadmeInjectorHook, createEmptyTaskResponseDetectorHook, createEnvFileWriteGuardHook, createEvolutionWatcherHook, createHashlineEditDiffEnhancerHook, createHashlineReadEnhancerHook, createJsonErrorRecoveryHook, createQualityGateHook, createReadImageResizerHook, createRulesInjectorHook, createSecretLeakGuardHook, createTaskNotepadHook, createTasksTodowriteDisablerHook, createTaskTodoMirrorHook, createTodoDescriptionOverrideHook, createToolOutputTruncatorHook, createWebFetchRedirectGuardHook, createWriteExistingFileGuardHook } from "../../hooks";
3
3
  import type { PluginContext } from "../types";
4
4
  export type ToolGuardHooks = {
5
5
  commentChecker: ReturnType<typeof createCommentCheckerHooks> | null;
@@ -21,6 +21,8 @@ export type ToolGuardHooks = {
21
21
  hashlineEditDiffEnhancer: ReturnType<typeof createHashlineEditDiffEnhancerHook> | null;
22
22
  qualityGate: ReturnType<typeof createQualityGateHook> | null;
23
23
  taskNotepad: ReturnType<typeof createTaskNotepadHook> | null;
24
+ evolutionWatcher: ReturnType<typeof createEvolutionWatcherHook> | null;
25
+ taskTodoMirror: ReturnType<typeof createTaskTodoMirrorHook> | null;
24
26
  };
25
27
  export declare function createToolGuardHooks(args: {
26
28
  ctx: PluginContext;
@@ -1,9 +1,9 @@
1
1
  import type { AvailableSkill } from "../agents/dynamic-agent-prompt-builder";
2
2
  import type { MatrixxConfig } from "../config";
3
3
  import type { BrowserAutomationProvider } from "../config/schema/browser-automation";
4
- import type { LoadedSkill } from "../features/opencode-skill-loader/types";
4
+ import { type BuiltinSkill } from "../features/builtin-skills";
5
5
  export type SkillContext = {
6
- mergedSkills: LoadedSkill[];
6
+ builtinSkills: BuiltinSkill[];
7
7
  availableSkills: AvailableSkill[];
8
8
  browserProvider: BrowserAutomationProvider;
9
9
  disabledSkills: Set<string>;
@@ -10,7 +10,7 @@ export type ToolRegistryResult = {
10
10
  export declare function createToolRegistry(args: {
11
11
  ctx: PluginContext;
12
12
  pluginConfig: MatrixxConfig;
13
- managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager" | "skillMcpManager">;
13
+ managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager">;
14
14
  skillContext: SkillContext;
15
15
  availableCategories: AvailableCategory[];
16
16
  }): ToolRegistryResult;
@@ -2,6 +2,7 @@ import type { MatrixxConfig } from "../config";
2
2
  import type { PluginComponents } from "./plugin-components-loader";
3
3
  export declare function setAvailableToolNames(names: string[]): void;
4
4
  export declare function getAvailableToolNames(): string[];
5
+ export declare function injectContextDiscipline(availableToolNames: string[], agents: Record<string, Record<string, unknown>>): void;
5
6
  export declare function applyAgentConfig(params: {
6
7
  config: Record<string, unknown>;
7
8
  pluginConfig: MatrixxConfig;
@@ -4,7 +4,7 @@ export * from "./category-config-resolver";
4
4
  export * from "./command-config-handler";
5
5
  export { type ConfigHandlerDeps, createConfigHandler } from "./config-handler";
6
6
  export * from "./mcp-config-handler";
7
+ export * from "./oracle-agent-config-builder";
7
8
  export * from "./plugin-components-loader";
8
- export * from "./prometheus-agent-config-builder";
9
9
  export * from "./provider-config-handler";
10
10
  export * from "./tool-config-handler";
@@ -1 +1 @@
1
- export declare function buildPlanDemoteConfig(prometheusConfig: Record<string, unknown> | undefined, planOverride: Record<string, unknown> | undefined): Record<string, unknown>;
1
+ export declare function buildPlanDemoteConfig(oracleConfig: Record<string, unknown> | undefined, planOverride: Record<string, unknown> | undefined): Record<string, unknown>;
@@ -0,0 +1 @@
1
+ export declare function delay(ms: number): Promise<void>;
@@ -25,3 +25,4 @@ export interface ErrorContext {
25
25
  * Replaces the `?? "pending"` anti-pattern across matrixx background task tools.
26
26
  */
27
27
  export declare function formatDetailedError(error: unknown, ctx: ErrorContext): string;
28
+ export declare function getErrorMessage(error: unknown): string;
@@ -0,0 +1 @@
1
+ export declare function formatBytes(bytes: number): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,34 +1,30 @@
1
1
  export * from "./agent-tool-restrictions";
2
2
  export * from "./agent-variant";
3
3
  export * from "./binary-downloader";
4
- export * from "./code-patterns";
5
- export * from "./code-patterns";
6
4
  export * from "./command-executor";
7
5
  export * from "./config-errors";
8
6
  export * from "./connected-providers-cache";
9
7
  export * from "./data-path";
10
8
  export * from "./deep-merge";
9
+ export * from "./delay";
11
10
  export * from "./dynamic-truncator";
12
11
  export * from "./external-plugin-detector";
13
12
  export * from "./file-reference-resolver";
14
13
  export * from "./file-utils";
14
+ export * from "./format-bytes";
15
15
  export * from "./format-duration";
16
16
  export * from "./frontmatter";
17
17
  export * from "./git-worktree";
18
- export * from "./is-object";
18
+ export * from "./is-abort-error";
19
19
  export * from "./jsonc-parser";
20
20
  export * from "./logger";
21
21
  export * from "./migration";
22
22
  export * from "./model-availability";
23
23
  export * from "./model-requirements";
24
- export { resolveModelPipeline } from "./model-resolution-pipeline";
25
- export type { ModelResolutionProvenance, ModelResolutionRequest, ModelResolutionResult, } from "./model-resolution-types";
26
- export * from "./model-resolver";
27
- export * from "./model-sanitizer";
24
+ export { type ModelResolutionProvenance, type ModelResolutionRequest, type ModelResolutionResult, normalizeModel, resolveModelPipeline, } from "./model-resolution-pipeline";
28
25
  export * from "./model-suggestion-retry";
29
26
  export * from "./normalize-sdk-response";
30
27
  export * from "./opencode-config-dir";
31
- export type { OpenCodeBinaryType, OpenCodeConfigDirOptions, OpenCodeConfigPaths, } from "./opencode-config-dir-types";
32
28
  export * from "./opencode-http-api";
33
29
  export * from "./opencode-message-dir";
34
30
  export * from "./opencode-server-auth";
@@ -38,14 +34,16 @@ export * from "./opencode-version";
38
34
  export * from "./permission-compat";
39
35
  export * from "./port-utils";
40
36
  export * from "./safe-create-hook";
37
+ export * from "./sentinels";
41
38
  export * from "./session-cursor";
42
39
  export * from "./session-directory-resolver";
43
40
  export * from "./session-utils";
44
41
  export * from "./shell-env";
42
+ export * from "./status-types";
45
43
  export * from "./system-directive";
46
44
  export * from "./tmux";
47
45
  export * from "./token-cache";
48
- export * from "./tool-guards";
49
46
  export * from "./transcript-path";
50
47
  export * from "./truncate-description";
48
+ export * from "./with-timeout";
51
49
  export * from "./zip-extractor";
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,27 @@
1
- import type { ModelResolutionRequest, ModelResolutionResult } from "./model-resolution-types";
1
+ import type { FallbackEntry } from "./model-requirements";
2
+ export type ModelResolutionRequest = {
3
+ intent?: {
4
+ globalOverrideModel?: string;
5
+ uiSelectedModel?: string;
6
+ userModel?: string;
7
+ categoryDefaultModel?: string;
8
+ };
9
+ constraints: {
10
+ availableModels: Set<string>;
11
+ connectedProviders?: string[];
12
+ };
13
+ policy?: {
14
+ fallbackChain?: FallbackEntry[];
15
+ systemDefaultModel?: string;
16
+ };
17
+ };
18
+ export type ModelResolutionProvenance = "override" | "category-default" | "provider-fallback" | "system-default";
19
+ export type ModelResolutionResult = {
20
+ model: string;
21
+ provenance: ModelResolutionProvenance;
22
+ variant?: string;
23
+ attempted?: string[];
24
+ reason?: string;
25
+ };
26
+ export declare function normalizeModel(model?: string): string | undefined;
2
27
  export declare function resolveModelPipeline(request: ModelResolutionRequest): ModelResolutionResult | undefined;
@@ -1,5 +1,16 @@
1
- import type { OpenCodeConfigDirOptions, OpenCodeConfigPaths } from "./opencode-config-dir-types";
2
- export type { OpenCodeBinaryType, OpenCodeConfigDirOptions, OpenCodeConfigPaths, } from "./opencode-config-dir-types";
1
+ export type OpenCodeBinaryType = "opencode" | "opencode-desktop";
2
+ export type OpenCodeConfigDirOptions = {
3
+ binary: OpenCodeBinaryType;
4
+ version?: string | null;
5
+ checkExisting?: boolean;
6
+ };
7
+ export type OpenCodeConfigPaths = {
8
+ configDir: string;
9
+ configJson: string;
10
+ configJsonc: string;
11
+ packageJson: string;
12
+ matrixxConfig: string;
13
+ };
3
14
  export declare const TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
4
15
  export declare const TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
5
16
  export declare function isDevBuild(version: string | null | undefined): boolean;
@@ -0,0 +1,2 @@
1
+ export declare const NOT_CACHED: unique symbol;
2
+ export declare const FALSE_PENDING_RETRY: unique symbol;
@@ -0,0 +1,15 @@
1
+ export declare function setSessionTemperature(sessionID: string, temperature: number): void;
2
+ export declare function getSessionTemperature(sessionID: string): number | undefined;
3
+ export declare function clearSessionTemperature(sessionID: string): void;
4
+ export declare function setSessionTools(sessionID: string, tools: Record<string, boolean>): void;
5
+ export declare function getSessionTools(sessionID: string): Record<string, boolean> | undefined;
6
+ export declare function clearSessionTools(): void;
7
+ /**
8
+ * Per-session model tracking.
9
+ */
10
+ type SessionModel = {
11
+ providerID: string;
12
+ modelID: string;
13
+ };
14
+ export declare function getSessionModel(sessionID: string): SessionModel | undefined;
15
+ export {};
@@ -0,0 +1 @@
1
+ export type TaskStatus = "pending" | "running" | "completed" | "error";
@@ -40,5 +40,5 @@ export declare const SystemDirectiveTypes: {
40
40
  readonly SINGLE_TASK_ONLY: "SINGLE TASK ONLY";
41
41
  readonly COMPACTION_CONTEXT: "COMPACTION CONTEXT";
42
42
  readonly CONTEXT_WINDOW_MONITOR: "CONTEXT WINDOW MONITOR";
43
- readonly PROMETHEUS_READ_ONLY: "PROMETHEUS READ-ONLY";
43
+ readonly ORACLE_READ_ONLY: "ORACLE READ-ONLY";
44
44
  };
@@ -0,0 +1 @@
1
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, errorMessage?: string): Promise<T>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export declare function delay(ms: number): Promise<void>;
1
+ export { delay } from "../../shared/delay";
@@ -0,0 +1 @@
1
+ export { createDcpSwitchProfileTool } from "./tools";
@@ -0,0 +1,8 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin/tool";
2
+ import type { DcpConfig } from "../../config/schema/dcp";
3
+ export interface DcpSwitchProfileOptions {
4
+ pluginConfig?: {
5
+ dcp?: DcpConfig;
6
+ };
7
+ }
8
+ export declare function createDcpSwitchProfileTool(options?: DcpSwitchProfileOptions): Record<string, ToolDefinition>;
@@ -1,2 +1,2 @@
1
- export declare const ALLOWED_AGENTS: readonly ["trinity", "operator", "oracle", "hephaestus", "metis", "momus", "construct"];
1
+ export declare const ALLOWED_AGENTS: readonly ["trinity", "operator", "oracle", "construct"];
2
2
  export declare const CALL_DELEGATE_AGENT_DESCRIPTION = "Spawn explore/librarian agent. run_in_background REQUIRED (true=async with task_id, false=sync).\n\nAvailable: {agents}\n\nPass `session_id=<id>` to continue previous agent with full context. Prompts MUST be in English. Use `background_output` for async results.";
@@ -14,7 +14,7 @@ export declare const PLAN_AGENT_NAMES: string[];
14
14
  */
15
15
  export declare function isPlanAgent(agentName: string | undefined): boolean;
16
16
  /**
17
- * Plan family: plan + prometheus. Shares mutual delegation blocking and task tool permission.
17
+ * Plan family: plan + oracle. Shares mutual delegation blocking and task tool permission.
18
18
  * Does NOT share system prompt (only isPlanAgent controls that).
19
19
  */
20
20
  export declare const PLAN_FAMILY_NAMES: string[];
@@ -2,7 +2,7 @@ import type { BrowserAutomationProvider } from "../../config/schema";
2
2
  export declare function resolveSkillContent(skills: string[], options: {
3
3
  browserProvider?: BrowserAutomationProvider;
4
4
  disabledSkills?: Set<string>;
5
- }): Promise<{
5
+ }): {
6
6
  content: string | undefined;
7
7
  error: string | null;
8
- }>;
8
+ };
@@ -8,16 +8,17 @@ export { createGlobTools } from "./glob";
8
8
  export { createGrepTools } from "./grep";
9
9
  export { createHandoffTools } from "./handoff";
10
10
  export { interactive_bash, startBackgroundCheck as startTmuxCheck } from "./interactive-bash";
11
+ export { createPdfExtractFiguresTool } from "./pdf-extract-figures";
11
12
  export { createSessionManagerTools } from "./session-manager";
12
13
  export { sessionExists } from "./session-manager/storage";
13
14
  export { createSkillTool } from "./skill";
14
- export { createSkillMcpTool } from "./skill-mcp";
15
15
  export { createSlashcommandTool, discoverCommandsSync } from "./slashcommand";
16
16
  export { lspManager };
17
17
  import type { PluginInput, ToolDefinition } from "@opencode-ai/plugin";
18
18
  import type { BackgroundManager } from "../features/background-agent";
19
19
  type OpencodeClient = PluginInput["client"];
20
20
  export { createAssemblyTool } from "./assembly";
21
+ export { createDcpSwitchProfileTool } from "./dcp-switch-profile";
21
22
  export { createDelegateAgent } from "./delegate-agent";
22
23
  export { createDelegateTask } from "./delegate-task";
23
24
  export { createHashlineEditTool } from "./hashline-edit";
@@ -0,0 +1 @@
1
+ export { createPdfExtractFiguresTool } from "./tools";
@@ -0,0 +1,11 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin/tool";
2
+ export interface PdfExtractFiguresArgs {
3
+ file_path: string;
4
+ output_dir?: string;
5
+ page?: number;
6
+ min_width?: number;
7
+ min_height?: number;
8
+ min_area?: number;
9
+ json_only?: boolean;
10
+ }
11
+ export declare function createPdfExtractFiguresTool(): Record<string, ToolDefinition>;
@@ -1,5 +1,4 @@
1
- import type { LoadedSkill, SkillScope } from "../../features/opencode-skill-loader/types";
2
- import type { SkillMcpManager } from "../../features/skill-mcp-manager";
1
+ import type { BuiltinSkill } from "../../features/builtin-skills";
3
2
  export interface SkillArgs {
4
3
  name: string;
5
4
  }
@@ -7,19 +6,16 @@ export interface SkillInfo {
7
6
  name: string;
8
7
  description: string;
9
8
  location?: string;
10
- scope: SkillScope;
11
9
  license?: string;
12
10
  compatibility?: string;
13
11
  metadata?: Record<string, string>;
14
12
  allowedTools?: string[];
15
13
  }
16
14
  export interface SkillLoadOptions {
17
- /** When true, only load from OpenCode paths (.opencode/skills/, ~/.config/opencode/skills/) */
18
- opencodeOnly?: boolean;
19
15
  /** Pre-merged skills to use instead of discovering */
20
- skills?: LoadedSkill[];
16
+ skills?: BuiltinSkill[];
21
17
  /** MCP manager for querying skill-embedded MCP servers */
22
- mcpManager?: SkillMcpManager;
18
+ mcpManager?: never;
23
19
  /** Session ID getter for MCP client identification */
24
20
  getSessionID?: () => string;
25
21
  disabledSkills?: Set<string>;
@@ -1,3 +1,3 @@
1
- import type { LoadedSkill } from "../../features/opencode-skill-loader";
1
+ import type { BuiltinSkill } from "../../features/builtin-skills";
2
2
  import type { CommandInfo } from "./types";
3
- export declare function skillToCommandInfo(skill: LoadedSkill): CommandInfo;
3
+ export declare function skillToCommandInfo(skill: BuiltinSkill): CommandInfo;
@@ -1,5 +1,10 @@
1
- import type { LazyContentLoader, LoadedSkill } from "../../features/opencode-skill-loader";
2
- export type CommandScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project";
1
+ import type { BuiltinSkill } from "../../features/builtin-skills";
2
+ export interface LazyContentLoader {
3
+ loaded: boolean;
4
+ content?: string;
5
+ load: () => Promise<string>;
6
+ }
7
+ export type CommandScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project" | "plugin";
3
8
  export interface CommandMetadata {
4
9
  name: string;
5
10
  description: string;
@@ -20,5 +25,7 @@ export interface SlashcommandToolOptions {
20
25
  /** Pre-loaded commands (skip discovery if provided) */
21
26
  commands?: CommandInfo[];
22
27
  /** Pre-loaded skills (skip discovery if provided) */
23
- skills?: LoadedSkill[];
28
+ skills?: BuiltinSkill[];
29
+ /** OpenCode SDK client for discovering plugin-registered commands */
30
+ client?: ReturnType<typeof import("@opencode-ai/sdk").createOpencodeClient>;
24
31
  }
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { Task } from "../../features/task-storage/types.ts";
2
+ import type { Task } from "../../features/task-storage/types";
3
3
  export interface TodoInfo {
4
4
  id?: string;
5
5
  content: string;
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
2
  export declare const TaskStatusSchema: z.ZodEnum<{
3
3
  deleted: "deleted";
4
- completed: "completed";
5
4
  pending: "pending";
5
+ completed: "completed";
6
6
  in_progress: "in_progress";
7
7
  }>;
8
8
  export type TaskStatus = z.infer<typeof TaskStatusSchema>;
@@ -12,8 +12,8 @@ export declare const TaskObjectSchema: z.ZodObject<{
12
12
  description: z.ZodString;
13
13
  status: z.ZodEnum<{
14
14
  deleted: "deleted";
15
- completed: "completed";
16
15
  pending: "pending";
16
+ completed: "completed";
17
17
  in_progress: "in_progress";
18
18
  }>;
19
19
  activeForm: z.ZodOptional<z.ZodString>;
@@ -32,8 +32,8 @@ export declare const TaskSchema: z.ZodObject<{
32
32
  description: z.ZodString;
33
33
  status: z.ZodEnum<{
34
34
  deleted: "deleted";
35
- completed: "completed";
36
35
  pending: "pending";
36
+ completed: "completed";
37
37
  in_progress: "in_progress";
38
38
  }>;
39
39
  activeForm: z.ZodOptional<z.ZodString>;
@@ -61,8 +61,8 @@ export type TaskCreateInput = z.infer<typeof TaskCreateInputSchema>;
61
61
  export declare const TaskListInputSchema: z.ZodObject<{
62
62
  status: z.ZodOptional<z.ZodEnum<{
63
63
  deleted: "deleted";
64
- completed: "completed";
65
64
  pending: "pending";
65
+ completed: "completed";
66
66
  in_progress: "in_progress";
67
67
  }>>;
68
68
  parentID: z.ZodOptional<z.ZodString>;
@@ -78,8 +78,8 @@ export declare const TaskUpdateInputSchema: z.ZodObject<{
78
78
  description: z.ZodOptional<z.ZodString>;
79
79
  status: z.ZodOptional<z.ZodEnum<{
80
80
  deleted: "deleted";
81
- completed: "completed";
82
81
  pending: "pending";
82
+ completed: "completed";
83
83
  in_progress: "in_progress";
84
84
  }>>;
85
85
  activeForm: z.ZodOptional<z.ZodString>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-matrixx",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,6 +8,10 @@
8
8
  "files": [
9
9
  "dist"
10
10
  ],
11
+ "bin": {
12
+ "opencode-matrixx": "dist/cli.js",
13
+ "matrixx": "dist/cli.js"
14
+ },
11
15
  "exports": {
12
16
  ".": {
13
17
  "types": "./dist/index.d.ts",
@@ -16,7 +20,9 @@
16
20
  "./schema.json": "./dist/matrixx.schema.json"
17
21
  },
18
22
  "scripts": {
19
- "build": "bun build src/index.ts --outdir dist --target bun --format esm --external @ast-grep/napi && tsc --emitDeclarationOnly && bun run build:schema",
23
+ "build": "bun run build:plugin && bun run build:cli && tsc --emitDeclarationOnly && bun run build:schema",
24
+ "build:plugin": "bun build src/index.ts --outdir dist --target bun --format esm --external @ast-grep/napi --external \"opencode/*\" --external \"@opencode-ai/core/*\"",
25
+ "build:cli": "bun build src/cli/index.ts --outfile dist/cli.js --target bun --format esm && chmod +x dist/cli.js",
20
26
  "build:schema": "bun run script/build-schema.ts",
21
27
  "clean": "rm -rf dist",
22
28
  "prepublishOnly": "bun run clean && bun run build",
@@ -24,7 +30,8 @@
24
30
  "lint": "biome check src/",
25
31
  "lint:fix": "biome check --write src/",
26
32
  "ci": "bash script/run-ci.sh",
27
- "test": "bun test"
33
+ "test": "bash script/run-ci.sh",
34
+ "matrixx": "bun run bin/matrixx.ts"
28
35
  },
29
36
  "keywords": [
30
37
  "opencode",
@@ -94,5 +101,9 @@
94
101
  "@ast-grep/cli",
95
102
  "@ast-grep/napi",
96
103
  "@code-yeongyu/comment-checker"
97
- ]
104
+ ],
105
+ "publishConfig": {
106
+ "access": "public",
107
+ "provenance": true
108
+ }
98
109
  }
@@ -1,8 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ModelCapabilitiesConfigSchema: z.ZodObject<{
3
- enabled: z.ZodOptional<z.ZodBoolean>;
4
- auto_refresh_on_start: z.ZodOptional<z.ZodBoolean>;
5
- refresh_timeout_ms: z.ZodOptional<z.ZodNumber>;
6
- source_url: z.ZodOptional<z.ZodString>;
7
- }, z.core.$strip>;
8
- export type ModelCapabilitiesConfig = z.infer<typeof ModelCapabilitiesConfigSchema>;
@@ -1,2 +0,0 @@
1
- export * from "./loader";
2
- export * from "./types";
@@ -1,3 +0,0 @@
1
- import type { AgentConfig } from "@opencode-ai/sdk";
2
- export declare function loadUserAgents(): Record<string, AgentConfig>;
3
- export declare function loadProjectAgents(directory?: string): Record<string, AgentConfig>;