opencode-matrixx 2.4.0 → 2.5.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 (95) hide show
  1. package/dist/agents/builtin-agents/available-skills.d.ts +2 -2
  2. package/dist/agents/builtin-agents.d.ts +2 -2
  3. package/dist/agents/construct.d.ts +3 -3
  4. package/dist/agents/index.d.ts +3 -3
  5. package/dist/agents/operator.d.ts +3 -3
  6. package/dist/agents/oracle/identity-constraints.d.ts +1 -1
  7. package/dist/agents/oracle/system-prompt.d.ts +2 -2
  8. package/dist/agents/trinity.d.ts +3 -3
  9. package/dist/config/schema/dcp.d.ts +231 -2
  10. package/dist/config/schema/hooks.d.ts +1 -1
  11. package/dist/config/schema/matrixx-config.d.ts +80 -3
  12. package/dist/create-hooks.d.ts +3 -3
  13. package/dist/create-managers.d.ts +0 -2
  14. package/dist/create-tools.d.ts +3 -3
  15. package/dist/features/builtin-commands/templates/dcp-profile.d.ts +1 -1
  16. package/dist/features/builtin-skills/types.d.ts +10 -1
  17. package/dist/features/command-loader/index.d.ts +1 -1
  18. package/dist/hooks/auto-slash-command/executor.d.ts +5 -2
  19. package/dist/hooks/auto-slash-command/hook.d.ts +4 -2
  20. package/dist/hooks/index.d.ts +1 -1
  21. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +1 -1
  22. package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +1 -1
  23. package/dist/hooks/{prometheus-md-only → oracle-md-only}/constants.d.ts +2 -2
  24. package/dist/index.js +82825 -95789
  25. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -1
  26. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
  27. package/dist/plugin/hooks/create-skill-hooks.d.ts +2 -2
  28. package/dist/plugin/skill-context.d.ts +2 -2
  29. package/dist/plugin/tool-registry.d.ts +1 -1
  30. package/dist/plugin-handlers/index.d.ts +1 -1
  31. package/dist/plugin-handlers/plan-model-inheritance.d.ts +1 -1
  32. package/dist/shared/system-directive.d.ts +1 -1
  33. package/dist/tools/dcp-switch-profile/index.d.ts +1 -0
  34. package/dist/tools/dcp-switch-profile/tools.d.ts +8 -0
  35. package/dist/tools/delegate-agent/constants.d.ts +1 -1
  36. package/dist/tools/delegate-task/constants.d.ts +1 -1
  37. package/dist/tools/delegate-task/skill-resolver.d.ts +2 -2
  38. package/dist/tools/index.d.ts +1 -1
  39. package/dist/tools/skill/types.d.ts +3 -7
  40. package/dist/tools/slashcommand/skill-command-converter.d.ts +2 -2
  41. package/dist/tools/slashcommand/types.d.ts +10 -3
  42. package/package.json +2 -2
  43. package/dist/features/agent-loader/index.d.ts +0 -2
  44. package/dist/features/agent-loader/loader.d.ts +0 -3
  45. package/dist/features/agent-loader/types.d.ts +0 -14
  46. package/dist/features/command-loader/loader.d.ts +0 -3
  47. package/dist/features/mcp-oauth/callback-server.d.ts +0 -11
  48. package/dist/features/mcp-oauth/dcr.d.ts +0 -28
  49. package/dist/features/mcp-oauth/discovery.d.ts +0 -8
  50. package/dist/features/mcp-oauth/oauth-authorization-flow.d.ts +0 -26
  51. package/dist/features/mcp-oauth/provider.d.ts +0 -29
  52. package/dist/features/mcp-oauth/step-up.d.ts +0 -9
  53. package/dist/features/mcp-oauth/storage.d.ts +0 -17
  54. package/dist/features/opencode-skill-loader/allowed-tools-parser.d.ts +0 -1
  55. package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +0 -7
  56. package/dist/features/opencode-skill-loader/index.d.ts +0 -14
  57. package/dist/features/opencode-skill-loader/loaded-skill-from-path.d.ts +0 -9
  58. package/dist/features/opencode-skill-loader/loaded-skill-template-extractor.d.ts +0 -2
  59. package/dist/features/opencode-skill-loader/loader.d.ts +0 -17
  60. package/dist/features/opencode-skill-loader/merger/builtin-skill-converter.d.ts +0 -3
  61. package/dist/features/opencode-skill-loader/merger/config-skill-entry-loader.d.ts +0 -3
  62. package/dist/features/opencode-skill-loader/merger/scope-priority.d.ts +0 -2
  63. package/dist/features/opencode-skill-loader/merger/skill-definition-merger.d.ts +0 -3
  64. package/dist/features/opencode-skill-loader/merger/skills-config-normalizer.d.ts +0 -11
  65. package/dist/features/opencode-skill-loader/merger.d.ts +0 -8
  66. package/dist/features/opencode-skill-loader/skill-content.d.ts +0 -4
  67. package/dist/features/opencode-skill-loader/skill-deduplication.d.ts +0 -2
  68. package/dist/features/opencode-skill-loader/skill-definition-record.d.ts +0 -3
  69. package/dist/features/opencode-skill-loader/skill-directory-loader.d.ts +0 -8
  70. package/dist/features/opencode-skill-loader/skill-discovery.d.ts +0 -4
  71. package/dist/features/opencode-skill-loader/skill-mcp-config.d.ts +0 -3
  72. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +0 -7
  73. package/dist/features/opencode-skill-loader/skill-template-resolver.d.ts +0 -11
  74. package/dist/features/opencode-skill-loader/types.d.ts +0 -34
  75. package/dist/features/skill-mcp-manager/cleanup.d.ts +0 -7
  76. package/dist/features/skill-mcp-manager/connection-type.d.ts +0 -6
  77. package/dist/features/skill-mcp-manager/connection.d.ts +0 -14
  78. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +0 -2
  79. package/dist/features/skill-mcp-manager/env-expander.d.ts +0 -1
  80. package/dist/features/skill-mcp-manager/http-client.d.ts +0 -3
  81. package/dist/features/skill-mcp-manager/index.d.ts +0 -2
  82. package/dist/features/skill-mcp-manager/manager.d.ts +0 -20
  83. package/dist/features/skill-mcp-manager/oauth-handler.d.ts +0 -8
  84. package/dist/features/skill-mcp-manager/stdio-client.d.ts +0 -3
  85. package/dist/features/skill-mcp-manager/types.d.ts +0 -68
  86. package/dist/tools/skill-mcp/constants.d.ts +0 -1
  87. package/dist/tools/skill-mcp/index.d.ts +0 -3
  88. package/dist/tools/skill-mcp/tools.d.ts +0 -11
  89. package/dist/tools/skill-mcp/types.d.ts +0 -8
  90. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/agent-matcher.d.ts +0 -0
  91. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/agent-resolution.d.ts +0 -0
  92. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/hook.d.ts +0 -0
  93. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/index.d.ts +0 -0
  94. /package/dist/hooks/{prometheus-md-only → oracle-md-only}/path-policy.d.ts +0 -0
  95. /package/dist/plugin-handlers/{prometheus-agent-config-builder.d.ts → oracle-agent-config-builder.d.ts} +0 -0
@@ -7,10 +7,239 @@ import { z } from "zod";
7
7
  *
8
8
  * DCP must be installed as a plugin: `~/.config/opencode/node_modules/@tarquinen/opencode-dcp`
9
9
  */
10
+ export declare const DcpCompressOverrideSchema: z.ZodObject<{
11
+ maxContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
12
+ minContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
13
+ nudgeFrequency: z.ZodOptional<z.ZodNumber>;
14
+ iterationNudgeThreshold: z.ZodOptional<z.ZodNumber>;
15
+ nudgeForce: z.ZodOptional<z.ZodEnum<{
16
+ strong: "strong";
17
+ soft: "soft";
18
+ }>>;
19
+ protectTags: z.ZodOptional<z.ZodBoolean>;
20
+ protectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ protectUserMessages: z.ZodOptional<z.ZodBoolean>;
22
+ }, z.core.$strip>;
23
+ export type DcpCompressOverride = z.infer<typeof DcpCompressOverrideSchema>;
24
+ export declare const DcpStrategiesOverrideSchema: z.ZodObject<{
25
+ purgeErrors: z.ZodOptional<z.ZodObject<{
26
+ turns: z.ZodOptional<z.ZodNumber>;
27
+ }, z.core.$strip>>;
28
+ }, z.core.$strip>;
29
+ export type DcpStrategiesOverride = z.infer<typeof DcpStrategiesOverrideSchema>;
30
+ export declare const DcpTurnProtectionSchema: z.ZodObject<{
31
+ enabled: z.ZodOptional<z.ZodBoolean>;
32
+ turns: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export type DcpTurnProtection = z.infer<typeof DcpTurnProtectionSchema>;
35
+ export declare const DcpExperimentalSchema: z.ZodObject<{
36
+ allowSubAgents: z.ZodOptional<z.ZodBoolean>;
37
+ }, z.core.$strip>;
38
+ export type DcpExperimental = z.infer<typeof DcpExperimentalSchema>;
39
+ export declare const DcpProfileDefinitionSchema: z.ZodObject<{
40
+ pruneNotification: z.ZodOptional<z.ZodEnum<{
41
+ off: "off";
42
+ minimal: "minimal";
43
+ detailed: "detailed";
44
+ }>>;
45
+ compress: z.ZodOptional<z.ZodObject<{
46
+ maxContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
47
+ minContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
48
+ nudgeFrequency: z.ZodOptional<z.ZodNumber>;
49
+ iterationNudgeThreshold: z.ZodOptional<z.ZodNumber>;
50
+ nudgeForce: z.ZodOptional<z.ZodEnum<{
51
+ strong: "strong";
52
+ soft: "soft";
53
+ }>>;
54
+ protectTags: z.ZodOptional<z.ZodBoolean>;
55
+ protectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
+ protectUserMessages: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$strip>>;
58
+ turnProtection: z.ZodOptional<z.ZodObject<{
59
+ enabled: z.ZodOptional<z.ZodBoolean>;
60
+ turns: z.ZodOptional<z.ZodNumber>;
61
+ }, z.core.$strip>>;
62
+ experimental: z.ZodOptional<z.ZodObject<{
63
+ allowSubAgents: z.ZodOptional<z.ZodBoolean>;
64
+ }, z.core.$strip>>;
65
+ strategies: z.ZodOptional<z.ZodObject<{
66
+ purgeErrors: z.ZodOptional<z.ZodObject<{
67
+ turns: z.ZodOptional<z.ZodNumber>;
68
+ }, z.core.$strip>>;
69
+ }, z.core.$strip>>;
70
+ }, z.core.$strip>;
71
+ export type DcpProfileDefinition = z.infer<typeof DcpProfileDefinitionSchema>;
72
+ export declare const BUILTIN_DCP_PROFILES: {
73
+ readonly economy: {
74
+ readonly pruneNotification: "off";
75
+ readonly compress: {
76
+ readonly maxContextLimit: "30%";
77
+ readonly minContextLimit: "20%";
78
+ readonly nudgeFrequency: 2;
79
+ readonly nudgeForce: "strong";
80
+ readonly iterationNudgeThreshold: 7;
81
+ };
82
+ readonly turnProtection: {
83
+ readonly enabled: false;
84
+ };
85
+ readonly experimental: {
86
+ readonly allowSubAgents: false;
87
+ };
88
+ readonly strategies: {
89
+ readonly purgeErrors: {
90
+ readonly turns: 1;
91
+ };
92
+ };
93
+ };
94
+ readonly balanced: {
95
+ readonly pruneNotification: "minimal";
96
+ readonly compress: {
97
+ readonly maxContextLimit: "60%";
98
+ readonly minContextLimit: "30%";
99
+ readonly nudgeFrequency: 3;
100
+ readonly nudgeForce: "strong";
101
+ readonly iterationNudgeThreshold: 10;
102
+ };
103
+ readonly turnProtection: {
104
+ readonly enabled: true;
105
+ readonly turns: 2;
106
+ };
107
+ readonly experimental: {
108
+ readonly allowSubAgents: true;
109
+ };
110
+ readonly strategies: {
111
+ readonly purgeErrors: {
112
+ readonly turns: 2;
113
+ };
114
+ };
115
+ };
116
+ readonly performance: {
117
+ readonly pruneNotification: "minimal";
118
+ readonly compress: {
119
+ readonly maxContextLimit: "80%";
120
+ readonly minContextLimit: "35%";
121
+ readonly nudgeFrequency: 4;
122
+ readonly nudgeForce: "strong";
123
+ readonly iterationNudgeThreshold: 12;
124
+ };
125
+ readonly turnProtection: {
126
+ readonly enabled: true;
127
+ readonly turns: 3;
128
+ };
129
+ readonly experimental: {
130
+ readonly allowSubAgents: true;
131
+ };
132
+ readonly strategies: {
133
+ readonly purgeErrors: {
134
+ readonly turns: 2;
135
+ };
136
+ };
137
+ };
138
+ readonly ultimate: {
139
+ readonly pruneNotification: "detailed";
140
+ readonly compress: {
141
+ readonly maxContextLimit: "85%";
142
+ readonly minContextLimit: "40%";
143
+ readonly nudgeFrequency: 5;
144
+ readonly nudgeForce: "strong";
145
+ readonly iterationNudgeThreshold: 15;
146
+ readonly protectTags: true;
147
+ };
148
+ readonly turnProtection: {
149
+ readonly enabled: true;
150
+ readonly turns: 5;
151
+ };
152
+ readonly experimental: {
153
+ readonly allowSubAgents: true;
154
+ };
155
+ readonly strategies: {
156
+ readonly purgeErrors: {
157
+ readonly turns: 4;
158
+ };
159
+ };
160
+ };
161
+ };
10
162
  export declare const DcpConfigSchema: z.ZodObject<{
11
163
  enabled: z.ZodDefault<z.ZodBoolean>;
12
- switch_script: z.ZodOptional<z.ZodString>;
13
- profiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
164
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
165
+ pruneNotification: z.ZodOptional<z.ZodEnum<{
166
+ off: "off";
167
+ minimal: "minimal";
168
+ detailed: "detailed";
169
+ }>>;
170
+ compress: z.ZodOptional<z.ZodObject<{
171
+ maxContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
172
+ minContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
173
+ nudgeFrequency: z.ZodOptional<z.ZodNumber>;
174
+ iterationNudgeThreshold: z.ZodOptional<z.ZodNumber>;
175
+ nudgeForce: z.ZodOptional<z.ZodEnum<{
176
+ strong: "strong";
177
+ soft: "soft";
178
+ }>>;
179
+ protectTags: z.ZodOptional<z.ZodBoolean>;
180
+ protectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
181
+ protectUserMessages: z.ZodOptional<z.ZodBoolean>;
182
+ }, z.core.$strip>>;
183
+ turnProtection: z.ZodOptional<z.ZodObject<{
184
+ enabled: z.ZodOptional<z.ZodBoolean>;
185
+ turns: z.ZodOptional<z.ZodNumber>;
186
+ }, z.core.$strip>>;
187
+ experimental: z.ZodOptional<z.ZodObject<{
188
+ allowSubAgents: z.ZodOptional<z.ZodBoolean>;
189
+ }, z.core.$strip>>;
190
+ strategies: z.ZodOptional<z.ZodObject<{
191
+ purgeErrors: z.ZodOptional<z.ZodObject<{
192
+ turns: z.ZodOptional<z.ZodNumber>;
193
+ }, z.core.$strip>>;
194
+ }, z.core.$strip>>;
195
+ }, z.core.$strip>>>;
14
196
  default_profile: z.ZodOptional<z.ZodString>;
197
+ base: z.ZodDefault<z.ZodObject<{
198
+ autoUpdate: z.ZodDefault<z.ZodBoolean>;
199
+ debug: z.ZodDefault<z.ZodBoolean>;
200
+ pruneNotificationType: z.ZodDefault<z.ZodEnum<{
201
+ chat: "chat";
202
+ toast: "toast";
203
+ }>>;
204
+ compress: z.ZodDefault<z.ZodObject<{
205
+ mode: z.ZodDefault<z.ZodEnum<{
206
+ message: "message";
207
+ range: "range";
208
+ }>>;
209
+ permission: z.ZodDefault<z.ZodEnum<{
210
+ ask: "ask";
211
+ allow: "allow";
212
+ deny: "deny";
213
+ }>>;
214
+ showCompression: z.ZodDefault<z.ZodBoolean>;
215
+ summaryBuffer: z.ZodDefault<z.ZodBoolean>;
216
+ nudgeForce: z.ZodDefault<z.ZodEnum<{
217
+ strong: "strong";
218
+ soft: "soft";
219
+ }>>;
220
+ iterationNudgeThreshold: z.ZodDefault<z.ZodNumber>;
221
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
222
+ protectUserMessages: z.ZodDefault<z.ZodBoolean>;
223
+ }, z.core.$strip>>;
224
+ strategies: z.ZodDefault<z.ZodObject<{
225
+ deduplication: z.ZodDefault<z.ZodObject<{
226
+ enabled: z.ZodDefault<z.ZodBoolean>;
227
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
228
+ }, z.core.$strip>>;
229
+ purgeErrors: z.ZodDefault<z.ZodObject<{
230
+ enabled: z.ZodDefault<z.ZodBoolean>;
231
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
232
+ }, z.core.$strip>>;
233
+ }, z.core.$strip>>;
234
+ commands: z.ZodDefault<z.ZodObject<{
235
+ enabled: z.ZodDefault<z.ZodBoolean>;
236
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
237
+ }, z.core.$strip>>;
238
+ manualMode: z.ZodDefault<z.ZodObject<{
239
+ enabled: z.ZodDefault<z.ZodBoolean>;
240
+ automaticStrategies: z.ZodDefault<z.ZodBoolean>;
241
+ }, z.core.$strip>>;
242
+ protectedFilePatterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
243
+ }, z.core.$strip>>;
15
244
  }, z.core.$strip>;
16
245
  export type DcpConfig = z.infer<typeof DcpConfigSchema>;
@@ -33,7 +33,7 @@ export declare const HookNameSchema: z.ZodEnum<{
33
33
  "auto-slash-command": "auto-slash-command";
34
34
  "edit-error-recovery": "edit-error-recovery";
35
35
  "delegate-task-retry": "delegate-task-retry";
36
- "prometheus-md-only": "prometheus-md-only";
36
+ "oracle-md-only": "oracle-md-only";
37
37
  "plan-persister": "plan-persister";
38
38
  "mouse-notepad": "mouse-notepad";
39
39
  "unstable-agent-babysitter": "unstable-agent-babysitter";
@@ -101,7 +101,7 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
101
101
  "auto-slash-command": "auto-slash-command";
102
102
  "edit-error-recovery": "edit-error-recovery";
103
103
  "delegate-task-retry": "delegate-task-retry";
104
- "prometheus-md-only": "prometheus-md-only";
104
+ "oracle-md-only": "oracle-md-only";
105
105
  "plan-persister": "plan-persister";
106
106
  "mouse-notepad": "mouse-notepad";
107
107
  "unstable-agent-babysitter": "unstable-agent-babysitter";
@@ -1689,9 +1689,86 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
1689
1689
  }, z.core.$strip>>;
1690
1690
  dcp: z.ZodOptional<z.ZodObject<{
1691
1691
  enabled: z.ZodDefault<z.ZodBoolean>;
1692
- switch_script: z.ZodOptional<z.ZodString>;
1693
- profiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
1692
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1693
+ pruneNotification: z.ZodOptional<z.ZodEnum<{
1694
+ off: "off";
1695
+ minimal: "minimal";
1696
+ detailed: "detailed";
1697
+ }>>;
1698
+ compress: z.ZodOptional<z.ZodObject<{
1699
+ maxContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
1700
+ minContextLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
1701
+ nudgeFrequency: z.ZodOptional<z.ZodNumber>;
1702
+ iterationNudgeThreshold: z.ZodOptional<z.ZodNumber>;
1703
+ nudgeForce: z.ZodOptional<z.ZodEnum<{
1704
+ strong: "strong";
1705
+ soft: "soft";
1706
+ }>>;
1707
+ protectTags: z.ZodOptional<z.ZodBoolean>;
1708
+ protectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
1709
+ protectUserMessages: z.ZodOptional<z.ZodBoolean>;
1710
+ }, z.core.$strip>>;
1711
+ turnProtection: z.ZodOptional<z.ZodObject<{
1712
+ enabled: z.ZodOptional<z.ZodBoolean>;
1713
+ turns: z.ZodOptional<z.ZodNumber>;
1714
+ }, z.core.$strip>>;
1715
+ experimental: z.ZodOptional<z.ZodObject<{
1716
+ allowSubAgents: z.ZodOptional<z.ZodBoolean>;
1717
+ }, z.core.$strip>>;
1718
+ strategies: z.ZodOptional<z.ZodObject<{
1719
+ purgeErrors: z.ZodOptional<z.ZodObject<{
1720
+ turns: z.ZodOptional<z.ZodNumber>;
1721
+ }, z.core.$strip>>;
1722
+ }, z.core.$strip>>;
1723
+ }, z.core.$strip>>>;
1694
1724
  default_profile: z.ZodOptional<z.ZodString>;
1725
+ base: z.ZodDefault<z.ZodObject<{
1726
+ autoUpdate: z.ZodDefault<z.ZodBoolean>;
1727
+ debug: z.ZodDefault<z.ZodBoolean>;
1728
+ pruneNotificationType: z.ZodDefault<z.ZodEnum<{
1729
+ chat: "chat";
1730
+ toast: "toast";
1731
+ }>>;
1732
+ compress: z.ZodDefault<z.ZodObject<{
1733
+ mode: z.ZodDefault<z.ZodEnum<{
1734
+ message: "message";
1735
+ range: "range";
1736
+ }>>;
1737
+ permission: z.ZodDefault<z.ZodEnum<{
1738
+ ask: "ask";
1739
+ allow: "allow";
1740
+ deny: "deny";
1741
+ }>>;
1742
+ showCompression: z.ZodDefault<z.ZodBoolean>;
1743
+ summaryBuffer: z.ZodDefault<z.ZodBoolean>;
1744
+ nudgeForce: z.ZodDefault<z.ZodEnum<{
1745
+ strong: "strong";
1746
+ soft: "soft";
1747
+ }>>;
1748
+ iterationNudgeThreshold: z.ZodDefault<z.ZodNumber>;
1749
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1750
+ protectUserMessages: z.ZodDefault<z.ZodBoolean>;
1751
+ }, z.core.$strip>>;
1752
+ strategies: z.ZodDefault<z.ZodObject<{
1753
+ deduplication: z.ZodDefault<z.ZodObject<{
1754
+ enabled: z.ZodDefault<z.ZodBoolean>;
1755
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1756
+ }, z.core.$strip>>;
1757
+ purgeErrors: z.ZodDefault<z.ZodObject<{
1758
+ enabled: z.ZodDefault<z.ZodBoolean>;
1759
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1760
+ }, z.core.$strip>>;
1761
+ }, z.core.$strip>>;
1762
+ commands: z.ZodDefault<z.ZodObject<{
1763
+ enabled: z.ZodDefault<z.ZodBoolean>;
1764
+ protectedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1765
+ }, z.core.$strip>>;
1766
+ manualMode: z.ZodDefault<z.ZodObject<{
1767
+ enabled: z.ZodDefault<z.ZodBoolean>;
1768
+ automaticStrategies: z.ZodDefault<z.ZodBoolean>;
1769
+ }, z.core.$strip>>;
1770
+ protectedFilePatterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
1771
+ }, z.core.$strip>>;
1695
1772
  }, z.core.$strip>>;
1696
1773
  auto_update: z.ZodOptional<z.ZodBoolean>;
1697
1774
  skills: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
@@ -1,7 +1,7 @@
1
1
  import type { AvailableSkill } from "./agents/dynamic-agent-prompt-builder";
2
2
  import type { HookName, MatrixxConfig } from "./config";
3
3
  import type { BackgroundManager } from "./features/background-agent";
4
- import type { LoadedSkill } from "./features/opencode-skill-loader/types";
4
+ import type { BuiltinSkill } from "./features/builtin-skills";
5
5
  import type { PluginContext } from "./plugin/types";
6
6
  export type CreatedHooks = ReturnType<typeof createHooks>;
7
7
  export declare function createHooks(args: {
@@ -10,7 +10,7 @@ export declare function createHooks(args: {
10
10
  backgroundManager: BackgroundManager;
11
11
  isHookEnabled: (hookName: HookName) => boolean;
12
12
  safeHookEnabled: boolean;
13
- mergedSkills: LoadedSkill[];
13
+ builtinSkills: BuiltinSkill[];
14
14
  availableSkills: AvailableSkill[];
15
15
  }): {
16
16
  categorySkillReminder: ReturnType<typeof import("./hooks").createCategorySkillReminderHook> | null;
@@ -62,7 +62,7 @@ export declare function createHooks(args: {
62
62
  editErrorRecovery: ReturnType<typeof import("./hooks").createEditErrorRecoveryHook> | null;
63
63
  delegateTaskRetry: ReturnType<typeof import("./hooks").createDelegateTaskRetryHook> | null;
64
64
  startWork: ReturnType<typeof import("./hooks").createStartWorkHook> | null;
65
- prometheusMdOnly: ReturnType<typeof import("./hooks").createOracleMdOnlyHook> | null;
65
+ oracleMdOnly: ReturnType<typeof import("./hooks").createOracleMdOnlyHook> | null;
66
66
  mouseNotepad: ReturnType<typeof import("./hooks").createMouseNotepadHook> | null;
67
67
  questionLabelTruncator: ReturnType<typeof import("./hooks").createQuestionLabelTruncatorHook>;
68
68
  taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook>;
@@ -1,6 +1,5 @@
1
1
  import type { MatrixxConfig } from "./config";
2
2
  import { BackgroundManager } from "./features/background-agent";
3
- import { SkillMcpManager } from "./features/skill-mcp-manager";
4
3
  import { TmuxSessionManager } from "./features/tmux-subagent";
5
4
  import type { PluginContext, TmuxConfig } from "./plugin/types";
6
5
  import { createConfigHandler } from "./plugin-handlers";
@@ -8,7 +7,6 @@ import type { ModelCacheState } from "./plugin-state";
8
7
  export type Managers = {
9
8
  tmuxSessionManager: TmuxSessionManager;
10
9
  backgroundManager: BackgroundManager;
11
- skillMcpManager: SkillMcpManager;
12
10
  configHandler: ReturnType<typeof createConfigHandler>;
13
11
  };
14
12
  export declare function createManagers(args: {
@@ -2,11 +2,11 @@ import type { AvailableCategory, AvailableSkill } from "./agents/dynamic-agent-p
2
2
  import type { MatrixxConfig } from "./config";
3
3
  import type { BrowserAutomationProvider } from "./config/schema/browser-automation";
4
4
  import type { Managers } from "./create-managers";
5
- import type { LoadedSkill } from "./features/opencode-skill-loader/types";
5
+ import type { BuiltinSkill } from "./features/builtin-skills";
6
6
  import type { PluginContext, ToolsRecord } from "./plugin/types";
7
7
  type CreateToolsResult = {
8
8
  filteredTools: ToolsRecord;
9
- mergedSkills: LoadedSkill[];
9
+ builtinSkills: BuiltinSkill[];
10
10
  availableSkills: AvailableSkill[];
11
11
  availableCategories: AvailableCategory[];
12
12
  browserProvider: BrowserAutomationProvider;
@@ -16,6 +16,6 @@ type CreateToolsResult = {
16
16
  export declare function createTools(args: {
17
17
  ctx: PluginContext;
18
18
  pluginConfig: MatrixxConfig;
19
- managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager" | "skillMcpManager">;
19
+ managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager">;
20
20
  }): Promise<CreateToolsResult>;
21
21
  export {};
@@ -1 +1 @@
1
- export declare const DCP_PROFILE_TEMPLATE = "You are switching the active DCP (Dynamic Context Pruning) profile tier.\n\nThis command is provided by the Matrixx plugin to call a user-managed shell script that swaps the active DCP configuration. The script lives in the user's home directory and is not part of the Matrixx codebase.\n\n## Step 1: Verify DCP is installed\n\nCheck whether the DCP plugin is installed at the standard OpenCode plugin location:\n\n```bash\nif [ ! -d \"$HOME/.config/opencode/node_modules/@tarquinen/opencode-dcp\" ]; then\n echo \"DCP is not installed at the standard OpenCode plugin location.\" >&2\n echo \"Install it with: npm install --prefix ~/.config/opencode @tarquinen/opencode-dcp\" >&2\n exit 1\nfi\n```\n\nIf the directory does not exist, stop immediately and report the error to the user. Do not proceed.\n\n## Step 2: Resolve the switch script path\n\nThe switch script location is configurable via the `dcp.switch_script` key in the user's `matrixx.jsonc` (read from `~/.config/opencode/matrixx.jsonc` or the project-level file). If that key is absent, use the default:\n\n```\n~/.myopencode/dcp/switch-profile.sh\n```\n\nIf the resolved script does not exist or is not executable, stop and report the path to the user.\n\n## Step 3: Determine the target profile\n\nParse the arguments passed to this command. The user invoked `/dcp-profile <arguments>` where `<arguments>` is the first positional argument.\n\n- If the argument is a known profile name (one of: economy, balanced, performance, ultimate), use it directly.\n- If the argument is empty or missing, read `dcp.default_profile` from the user's config; if absent, default to `balanced`.\n- If the argument is not a recognized profile name, list the available profiles and stop. Do NOT guess or pass invalid names to the script.\n\n## Step 4: Execute the switch script\n\nRun the script via the bash tool. Capture both stdout and stderr. If the script exits with a non-zero status, show the captured stderr output to the user verbatim and stop. Do not swallow errors.\n\n```bash\n\"<resolved-switch-script>\" \"<profile-name>\"\n```\n\n## Step 5: Confirm and instruct\n\nAfter a successful switch:\n\n1. Report the script's stdout to the user.\n2. Tell the user that the new DCP configuration will take effect after they restart their OpenCode session (the active session has already loaded the previous config into memory).\n3. Do not attempt to reload DCP in-place; a session restart is required.\n\n## Important constraints\n\n- This command is a thin wrapper. All real logic lives in the user's switch script. Never bypass the script by writing to `dcp.jsonc` directly.\n- Do not install, upgrade, or modify the DCP plugin from this command. If the user needs to install or upgrade DCP, instruct them to run `opencode plugin @tarquinen/opencode-dcp@<version>` (or use `npm install --prefix ~/.config/opencode` for cached installs).\n- Do not edit any DCP config files (`dcp-base.jsonc`, `dcp-<profile>.jsonc`, `dcp-generated-*.jsonc`) as part of switching.";
1
+ export declare const DCP_PROFILE_TEMPLATE = "You are switching the active DCP (Dynamic Context Pruning) profile tier.\n\nThis command is provided by the Matrixx plugin. It uses the built-in `dcp_switch_profile` tool to apply DCP profile configurations \u2014 no external scripts needed.\n\n## Step 1: Verify DCP is installed\n\nCheck whether the DCP plugin is installed at the standard OpenCode plugin location:\n\n```bash\nif [ ! -d \"$HOME/.config/opencode/node_modules/@tarquinen/opencode-dcp\" ]; then\n echo \"DCP is not installed at the standard OpenCode plugin location.\" >&2\n echo \"Install it with: npm install --prefix ~/.config/opencode @tarquinen/opencode-dcp\" >&2\n exit 1\nfi\n```\n\nIf the directory does not exist, stop immediately and report the error to the user. Do not proceed.\n\n## Step 2: Determine the target profile\n\nParse the arguments passed to this command. The user invoked `/dcp-profile <arguments>` where `<arguments>` is the first positional argument.\n\n- If the argument is a known profile name (one of: economy, balanced, performance, ultimate), use it directly.\n- If the argument is empty or missing, read `dcp.default_profile` from the user's `matrixx.jsonc` config; if absent, default to `balanced`.\n- If the argument is not a recognized profile name, list the available profiles and stop. Do NOT guess or pass invalid names.\n\n## Step 3: Call the built-in `dcp_switch_profile` tool\n\nUse the `dcp_switch_profile` tool with the resolved profile name. This tool reads profile parameters from the Matrixx plugin configuration and writes the full inline DCP config to `~/.config/opencode/dcp.jsonc`.\n\nThe tool will handle all file operations \u2014 you do NOT need to run any external scripts or edit DCP config files directly.\n\n## Step 4: Confirm and instruct\n\nAfter a successful switch:\n\n1. Report the tool's output to the user.\n2. Tell the user that the new DCP configuration will take effect after they restart their OpenCode session (the active session has already loaded the previous config into memory).\n3. Do not attempt to reload DCP in-place; a session restart is required.\n\n## Important constraints\n\n- Use the built-in `dcp_switch_profile` tool. Do NOT bypass it by editing DCP config files directly.\n- Do not install, upgrade, or modify the DCP plugin from this command. If the user needs to install or upgrade DCP, instruct them to run `opencode plugin @tarquinen/opencode-dcp@<version>` (or use `npm install --prefix ~/.config/opencode` for cached installs).\n";
@@ -1,4 +1,13 @@
1
- import type { SkillMcpConfig } from "../skill-mcp-manager/types";
1
+ export interface McpServerDefinition {
2
+ type?: "http" | "sse" | "stdio";
3
+ url?: string;
4
+ command?: string;
5
+ args?: string[];
6
+ env?: Record<string, string>;
7
+ headers?: Record<string, string>;
8
+ disabled?: boolean;
9
+ }
10
+ export type SkillMcpConfig = Record<string, McpServerDefinition>;
2
11
  export interface BuiltinSkill {
3
12
  name: string;
4
13
  description: string;
@@ -1,2 +1,2 @@
1
- export * from "./loader";
1
+ export * from "./types";
2
2
  export * from "./types";
@@ -1,7 +1,10 @@
1
- import { type LoadedSkill } from "../../features/opencode-skill-loader";
1
+ import type { createOpencodeClient } from "@opencode-ai/sdk";
2
+ import type { BuiltinSkill } from "../../features/builtin-skills";
2
3
  import type { ParsedSlashCommand } from "./types";
3
4
  export interface ExecutorOptions {
4
- skills?: LoadedSkill[];
5
+ skills?: BuiltinSkill[];
6
+ /** OpenCode SDK client for discovering plugin-registered commands */
7
+ client?: ReturnType<typeof createOpencodeClient>;
5
8
  }
6
9
  interface ExecuteResult {
7
10
  success: boolean;
@@ -1,7 +1,9 @@
1
- import type { LoadedSkill } from "../../features/opencode-skill-loader";
1
+ import type { BuiltinSkill } from "../../features/builtin-skills";
2
2
  import type { AutoSlashCommandHookInput, AutoSlashCommandHookOutput, CommandExecuteBeforeInput, CommandExecuteBeforeOutput } from "./types";
3
3
  export interface AutoSlashCommandHookOptions {
4
- skills?: LoadedSkill[];
4
+ skills?: BuiltinSkill[];
5
+ /** OpenCode SDK client for discovering plugin-registered commands */
6
+ client?: ReturnType<typeof import("@opencode-ai/sdk").createOpencodeClient>;
5
7
  }
6
8
  export declare function createAutoSlashCommandHook(options?: AutoSlashCommandHookOptions): {
7
9
  "chat.message": (input: AutoSlashCommandHookInput, output: AutoSlashCommandHookOutput) => Promise<void>;
@@ -26,9 +26,9 @@ export { createKeywordDetectorHook } from "./keyword-detector";
26
26
  export { createMatrixLoopHook, type MatrixLoopHook } from "./matrix-loop";
27
27
  export { createMouseNotepadHook } from "./mouse-notepad";
28
28
  export { createNonInteractiveEnvHook } from "./non-interactive-env";
29
+ export { createOracleMdOnlyHook } from "./oracle-md-only";
29
30
  export { createPlanPersister } from "./plan-persister";
30
31
  export { createPreemptiveCompactionHook } from "./preemptive-compaction";
31
- export { createOracleMdOnlyHook } from "./prometheus-md-only";
32
32
  export { createQualityGateHook } from "./quality-gate/hook";
33
33
  export { createQuestionLabelTruncatorHook } from "./question-label-truncator";
34
34
  export { createReadImageResizerHook } from "./read-image-resizer";
@@ -2,7 +2,7 @@
2
2
  * Ultrawork message module - routes to appropriate message based on agent/model.
3
3
  *
4
4
  * Routing:
5
- * 1. Planner agents (prometheus, plan) → planner.ts
5
+ * 1. Planner agents (oracle, plan) → planner.ts
6
6
  * 2. GPT 5.2 models → gpt5.2.ts
7
7
  * 3. Default (Claude, etc.) → default.ts (optimized for Claude series)
8
8
  */
@@ -2,7 +2,7 @@
2
2
  * Agent/model detection utilities for ultrawork message routing.
3
3
  *
4
4
  * Routing logic:
5
- * 1. Planner agents (prometheus, plan) → planner.ts
5
+ * 1. Planner agents (oracle, plan) → planner.ts
6
6
  * 2. GPT 5.2 models → gpt5.2.ts
7
7
  * 3. Everything else (Claude, etc.) → default.ts
8
8
  */
@@ -1,6 +1,6 @@
1
- export declare const HOOK_NAME = "prometheus-md-only";
1
+ export declare const HOOK_NAME = "oracle-md-only";
2
2
  export declare const ORACLE_AGENT = "oracle";
3
3
  export declare const ALLOWED_EXTENSIONS: string[];
4
4
  export declare const BLOCKED_TOOLS: string[];
5
5
  export declare const PLANNING_CONSULT_WARNING: string;
6
- export declare const PROMETHEUS_WORKFLOW_REMINDER: string;
6
+ export declare const ORACLE_WORKFLOW_REMINDER: string;