agent-switchboard 0.1.27 → 0.1.28

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 (88) hide show
  1. package/README.md +26 -1
  2. package/dist/commands/distribution.js +2 -2
  3. package/dist/commands/distribution.js.map +1 -1
  4. package/dist/commands/library.d.ts +1 -1
  5. package/dist/commands/library.js +5 -5
  6. package/dist/commands/library.js.map +1 -1
  7. package/dist/config/application-config.d.ts +37 -0
  8. package/dist/config/application-config.js +83 -0
  9. package/dist/config/application-config.js.map +1 -0
  10. package/dist/config/layered-config.js +43 -2
  11. package/dist/config/layered-config.js.map +1 -1
  12. package/dist/config/paths.d.ts +7 -2
  13. package/dist/config/paths.js +12 -3
  14. package/dist/config/paths.js.map +1 -1
  15. package/dist/config/schemas.d.ts +103 -22
  16. package/dist/config/schemas.js +22 -18
  17. package/dist/config/schemas.js.map +1 -1
  18. package/dist/config/switchboard-config.d.ts +3 -6
  19. package/dist/config/switchboard-config.js +3 -6
  20. package/dist/config/switchboard-config.js.map +1 -1
  21. package/dist/hooks/distribution.d.ts +27 -0
  22. package/dist/hooks/distribution.js +235 -0
  23. package/dist/hooks/distribution.js.map +1 -0
  24. package/dist/hooks/library.d.ts +40 -0
  25. package/dist/hooks/library.js +143 -0
  26. package/dist/hooks/library.js.map +1 -0
  27. package/dist/hooks/schema.d.ts +542 -0
  28. package/dist/hooks/schema.js +49 -0
  29. package/dist/hooks/schema.js.map +1 -0
  30. package/dist/index.js +608 -146
  31. package/dist/index.js.map +1 -1
  32. package/dist/library/fs.d.ts +1 -3
  33. package/dist/library/fs.js +24 -7
  34. package/dist/library/fs.js.map +1 -1
  35. package/dist/library/schema.d.ts +1 -1
  36. package/dist/library/schema.js +1 -1
  37. package/dist/library/sources.d.ts +3 -0
  38. package/dist/library/sources.js +8 -2
  39. package/dist/library/sources.js.map +1 -1
  40. package/dist/library/state.d.ts +4 -5
  41. package/dist/library/state.js +15 -31
  42. package/dist/library/state.js.map +1 -1
  43. package/dist/marketplace/plugin-loader.d.ts +30 -0
  44. package/dist/marketplace/plugin-loader.js +178 -0
  45. package/dist/marketplace/plugin-loader.js.map +1 -0
  46. package/dist/marketplace/reader.d.ts +36 -0
  47. package/dist/marketplace/reader.js +90 -0
  48. package/dist/marketplace/reader.js.map +1 -0
  49. package/dist/marketplace/schemas.d.ts +467 -0
  50. package/dist/marketplace/schemas.js +57 -0
  51. package/dist/marketplace/schemas.js.map +1 -0
  52. package/dist/marketplace/source-loader.d.ts +32 -0
  53. package/dist/marketplace/source-loader.js +45 -0
  54. package/dist/marketplace/source-loader.js.map +1 -0
  55. package/dist/rules/composer.d.ts +2 -2
  56. package/dist/rules/composer.js +5 -5
  57. package/dist/rules/composer.js.map +1 -1
  58. package/dist/rules/distribution.js +2 -2
  59. package/dist/rules/distribution.js.map +1 -1
  60. package/dist/skills/distribution.js +6 -6
  61. package/dist/skills/distribution.js.map +1 -1
  62. package/dist/skills/library.d.ts +1 -2
  63. package/dist/skills/library.js +6 -6
  64. package/dist/skills/library.js.map +1 -1
  65. package/dist/subagents/distribution.d.ts +1 -1
  66. package/dist/subagents/distribution.js +319 -20
  67. package/dist/subagents/distribution.js.map +1 -1
  68. package/dist/subagents/importer.d.ts +1 -1
  69. package/dist/subagents/importer.js +61 -1
  70. package/dist/subagents/importer.js.map +1 -1
  71. package/dist/subagents/inventory.js +3 -3
  72. package/dist/subagents/inventory.js.map +1 -1
  73. package/dist/subagents/library.d.ts +2 -2
  74. package/dist/subagents/library.js +14 -19
  75. package/dist/subagents/library.js.map +1 -1
  76. package/dist/ui/hook-ui.d.ts +8 -0
  77. package/dist/ui/hook-ui.js +17 -0
  78. package/dist/ui/hook-ui.js.map +1 -0
  79. package/dist/ui/library-selector.d.ts +1 -1
  80. package/dist/ui/subagent-ui.js +3 -3
  81. package/dist/ui/subagent-ui.js.map +1 -1
  82. package/dist/util/cli.d.ts +20 -0
  83. package/dist/util/cli.js +107 -14
  84. package/dist/util/cli.js.map +1 -1
  85. package/package.json +3 -2
  86. package/dist/config/agent-config.d.ts +0 -35
  87. package/dist/config/agent-config.js +0 -88
  88. package/dist/config/agent-config.js.map +0 -1
@@ -0,0 +1,467 @@
1
+ /**
2
+ * Zod schemas for Claude Code marketplace and plugin manifests.
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const pluginSourceSchema: z.ZodObject<{
6
+ github: z.ZodOptional<z.ZodString>;
7
+ git: z.ZodOptional<z.ZodString>;
8
+ npm: z.ZodOptional<z.ZodString>;
9
+ pip: z.ZodOptional<z.ZodString>;
10
+ path: z.ZodOptional<z.ZodString>;
11
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
12
+ github: z.ZodOptional<z.ZodString>;
13
+ git: z.ZodOptional<z.ZodString>;
14
+ npm: z.ZodOptional<z.ZodString>;
15
+ pip: z.ZodOptional<z.ZodString>;
16
+ path: z.ZodOptional<z.ZodString>;
17
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
18
+ github: z.ZodOptional<z.ZodString>;
19
+ git: z.ZodOptional<z.ZodString>;
20
+ npm: z.ZodOptional<z.ZodString>;
21
+ pip: z.ZodOptional<z.ZodString>;
22
+ path: z.ZodOptional<z.ZodString>;
23
+ }, z.ZodTypeAny, "passthrough">>;
24
+ export declare const pluginEntrySchema: z.ZodObject<{
25
+ name: z.ZodString;
26
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
27
+ github: z.ZodOptional<z.ZodString>;
28
+ git: z.ZodOptional<z.ZodString>;
29
+ npm: z.ZodOptional<z.ZodString>;
30
+ pip: z.ZodOptional<z.ZodString>;
31
+ path: z.ZodOptional<z.ZodString>;
32
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
33
+ github: z.ZodOptional<z.ZodString>;
34
+ git: z.ZodOptional<z.ZodString>;
35
+ npm: z.ZodOptional<z.ZodString>;
36
+ pip: z.ZodOptional<z.ZodString>;
37
+ path: z.ZodOptional<z.ZodString>;
38
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
39
+ github: z.ZodOptional<z.ZodString>;
40
+ git: z.ZodOptional<z.ZodString>;
41
+ npm: z.ZodOptional<z.ZodString>;
42
+ pip: z.ZodOptional<z.ZodString>;
43
+ path: z.ZodOptional<z.ZodString>;
44
+ }, z.ZodTypeAny, "passthrough">>]>;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ version: z.ZodOptional<z.ZodString>;
47
+ strict: z.ZodDefault<z.ZodBoolean>;
48
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
49
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
50
+ hooks: z.ZodOptional<z.ZodUnknown>;
51
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
52
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
53
+ name: z.ZodString;
54
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
55
+ github: z.ZodOptional<z.ZodString>;
56
+ git: z.ZodOptional<z.ZodString>;
57
+ npm: z.ZodOptional<z.ZodString>;
58
+ pip: z.ZodOptional<z.ZodString>;
59
+ path: z.ZodOptional<z.ZodString>;
60
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
61
+ github: z.ZodOptional<z.ZodString>;
62
+ git: z.ZodOptional<z.ZodString>;
63
+ npm: z.ZodOptional<z.ZodString>;
64
+ pip: z.ZodOptional<z.ZodString>;
65
+ path: z.ZodOptional<z.ZodString>;
66
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
67
+ github: z.ZodOptional<z.ZodString>;
68
+ git: z.ZodOptional<z.ZodString>;
69
+ npm: z.ZodOptional<z.ZodString>;
70
+ pip: z.ZodOptional<z.ZodString>;
71
+ path: z.ZodOptional<z.ZodString>;
72
+ }, z.ZodTypeAny, "passthrough">>]>;
73
+ description: z.ZodOptional<z.ZodString>;
74
+ version: z.ZodOptional<z.ZodString>;
75
+ strict: z.ZodDefault<z.ZodBoolean>;
76
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
77
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
78
+ hooks: z.ZodOptional<z.ZodUnknown>;
79
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
80
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
81
+ name: z.ZodString;
82
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
83
+ github: z.ZodOptional<z.ZodString>;
84
+ git: z.ZodOptional<z.ZodString>;
85
+ npm: z.ZodOptional<z.ZodString>;
86
+ pip: z.ZodOptional<z.ZodString>;
87
+ path: z.ZodOptional<z.ZodString>;
88
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
89
+ github: z.ZodOptional<z.ZodString>;
90
+ git: z.ZodOptional<z.ZodString>;
91
+ npm: z.ZodOptional<z.ZodString>;
92
+ pip: z.ZodOptional<z.ZodString>;
93
+ path: z.ZodOptional<z.ZodString>;
94
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
95
+ github: z.ZodOptional<z.ZodString>;
96
+ git: z.ZodOptional<z.ZodString>;
97
+ npm: z.ZodOptional<z.ZodString>;
98
+ pip: z.ZodOptional<z.ZodString>;
99
+ path: z.ZodOptional<z.ZodString>;
100
+ }, z.ZodTypeAny, "passthrough">>]>;
101
+ description: z.ZodOptional<z.ZodString>;
102
+ version: z.ZodOptional<z.ZodString>;
103
+ strict: z.ZodDefault<z.ZodBoolean>;
104
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
105
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
106
+ hooks: z.ZodOptional<z.ZodUnknown>;
107
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
108
+ }, z.ZodTypeAny, "passthrough">>;
109
+ export declare const marketplaceOwnerSchema: z.ZodObject<{
110
+ name: z.ZodString;
111
+ email: z.ZodOptional<z.ZodString>;
112
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
113
+ name: z.ZodString;
114
+ email: z.ZodOptional<z.ZodString>;
115
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
116
+ name: z.ZodString;
117
+ email: z.ZodOptional<z.ZodString>;
118
+ }, z.ZodTypeAny, "passthrough">>;
119
+ export declare const marketplaceMetadataSchema: z.ZodObject<{
120
+ pluginRoot: z.ZodOptional<z.ZodString>;
121
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
122
+ pluginRoot: z.ZodOptional<z.ZodString>;
123
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
124
+ pluginRoot: z.ZodOptional<z.ZodString>;
125
+ }, z.ZodTypeAny, "passthrough">>;
126
+ export declare const marketplaceManifestSchema: z.ZodObject<{
127
+ name: z.ZodString;
128
+ owner: z.ZodObject<{
129
+ name: z.ZodString;
130
+ email: z.ZodOptional<z.ZodString>;
131
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
132
+ name: z.ZodString;
133
+ email: z.ZodOptional<z.ZodString>;
134
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
135
+ name: z.ZodString;
136
+ email: z.ZodOptional<z.ZodString>;
137
+ }, z.ZodTypeAny, "passthrough">>;
138
+ metadata: z.ZodOptional<z.ZodObject<{
139
+ pluginRoot: z.ZodOptional<z.ZodString>;
140
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
141
+ pluginRoot: z.ZodOptional<z.ZodString>;
142
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
143
+ pluginRoot: z.ZodOptional<z.ZodString>;
144
+ }, z.ZodTypeAny, "passthrough">>>;
145
+ plugins: z.ZodDefault<z.ZodArray<z.ZodObject<{
146
+ name: z.ZodString;
147
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
148
+ github: z.ZodOptional<z.ZodString>;
149
+ git: z.ZodOptional<z.ZodString>;
150
+ npm: z.ZodOptional<z.ZodString>;
151
+ pip: z.ZodOptional<z.ZodString>;
152
+ path: z.ZodOptional<z.ZodString>;
153
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
154
+ github: z.ZodOptional<z.ZodString>;
155
+ git: z.ZodOptional<z.ZodString>;
156
+ npm: z.ZodOptional<z.ZodString>;
157
+ pip: z.ZodOptional<z.ZodString>;
158
+ path: z.ZodOptional<z.ZodString>;
159
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
160
+ github: z.ZodOptional<z.ZodString>;
161
+ git: z.ZodOptional<z.ZodString>;
162
+ npm: z.ZodOptional<z.ZodString>;
163
+ pip: z.ZodOptional<z.ZodString>;
164
+ path: z.ZodOptional<z.ZodString>;
165
+ }, z.ZodTypeAny, "passthrough">>]>;
166
+ description: z.ZodOptional<z.ZodString>;
167
+ version: z.ZodOptional<z.ZodString>;
168
+ strict: z.ZodDefault<z.ZodBoolean>;
169
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
170
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
171
+ hooks: z.ZodOptional<z.ZodUnknown>;
172
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
173
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
174
+ name: z.ZodString;
175
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
176
+ github: z.ZodOptional<z.ZodString>;
177
+ git: z.ZodOptional<z.ZodString>;
178
+ npm: z.ZodOptional<z.ZodString>;
179
+ pip: z.ZodOptional<z.ZodString>;
180
+ path: z.ZodOptional<z.ZodString>;
181
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
182
+ github: z.ZodOptional<z.ZodString>;
183
+ git: z.ZodOptional<z.ZodString>;
184
+ npm: z.ZodOptional<z.ZodString>;
185
+ pip: z.ZodOptional<z.ZodString>;
186
+ path: z.ZodOptional<z.ZodString>;
187
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
188
+ github: z.ZodOptional<z.ZodString>;
189
+ git: z.ZodOptional<z.ZodString>;
190
+ npm: z.ZodOptional<z.ZodString>;
191
+ pip: z.ZodOptional<z.ZodString>;
192
+ path: z.ZodOptional<z.ZodString>;
193
+ }, z.ZodTypeAny, "passthrough">>]>;
194
+ description: z.ZodOptional<z.ZodString>;
195
+ version: z.ZodOptional<z.ZodString>;
196
+ strict: z.ZodDefault<z.ZodBoolean>;
197
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
198
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
199
+ hooks: z.ZodOptional<z.ZodUnknown>;
200
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
201
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
202
+ name: z.ZodString;
203
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
204
+ github: z.ZodOptional<z.ZodString>;
205
+ git: z.ZodOptional<z.ZodString>;
206
+ npm: z.ZodOptional<z.ZodString>;
207
+ pip: z.ZodOptional<z.ZodString>;
208
+ path: z.ZodOptional<z.ZodString>;
209
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
210
+ github: z.ZodOptional<z.ZodString>;
211
+ git: z.ZodOptional<z.ZodString>;
212
+ npm: z.ZodOptional<z.ZodString>;
213
+ pip: z.ZodOptional<z.ZodString>;
214
+ path: z.ZodOptional<z.ZodString>;
215
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
216
+ github: z.ZodOptional<z.ZodString>;
217
+ git: z.ZodOptional<z.ZodString>;
218
+ npm: z.ZodOptional<z.ZodString>;
219
+ pip: z.ZodOptional<z.ZodString>;
220
+ path: z.ZodOptional<z.ZodString>;
221
+ }, z.ZodTypeAny, "passthrough">>]>;
222
+ description: z.ZodOptional<z.ZodString>;
223
+ version: z.ZodOptional<z.ZodString>;
224
+ strict: z.ZodDefault<z.ZodBoolean>;
225
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
226
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
227
+ hooks: z.ZodOptional<z.ZodUnknown>;
228
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
229
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
230
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
231
+ name: z.ZodString;
232
+ owner: z.ZodObject<{
233
+ name: z.ZodString;
234
+ email: z.ZodOptional<z.ZodString>;
235
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
236
+ name: z.ZodString;
237
+ email: z.ZodOptional<z.ZodString>;
238
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
239
+ name: z.ZodString;
240
+ email: z.ZodOptional<z.ZodString>;
241
+ }, z.ZodTypeAny, "passthrough">>;
242
+ metadata: z.ZodOptional<z.ZodObject<{
243
+ pluginRoot: z.ZodOptional<z.ZodString>;
244
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
245
+ pluginRoot: z.ZodOptional<z.ZodString>;
246
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
247
+ pluginRoot: z.ZodOptional<z.ZodString>;
248
+ }, z.ZodTypeAny, "passthrough">>>;
249
+ plugins: z.ZodDefault<z.ZodArray<z.ZodObject<{
250
+ name: z.ZodString;
251
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
252
+ github: z.ZodOptional<z.ZodString>;
253
+ git: z.ZodOptional<z.ZodString>;
254
+ npm: z.ZodOptional<z.ZodString>;
255
+ pip: z.ZodOptional<z.ZodString>;
256
+ path: z.ZodOptional<z.ZodString>;
257
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
258
+ github: z.ZodOptional<z.ZodString>;
259
+ git: z.ZodOptional<z.ZodString>;
260
+ npm: z.ZodOptional<z.ZodString>;
261
+ pip: z.ZodOptional<z.ZodString>;
262
+ path: z.ZodOptional<z.ZodString>;
263
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
264
+ github: z.ZodOptional<z.ZodString>;
265
+ git: z.ZodOptional<z.ZodString>;
266
+ npm: z.ZodOptional<z.ZodString>;
267
+ pip: z.ZodOptional<z.ZodString>;
268
+ path: z.ZodOptional<z.ZodString>;
269
+ }, z.ZodTypeAny, "passthrough">>]>;
270
+ description: z.ZodOptional<z.ZodString>;
271
+ version: z.ZodOptional<z.ZodString>;
272
+ strict: z.ZodDefault<z.ZodBoolean>;
273
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
274
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
275
+ hooks: z.ZodOptional<z.ZodUnknown>;
276
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
277
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
278
+ name: z.ZodString;
279
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
280
+ github: z.ZodOptional<z.ZodString>;
281
+ git: z.ZodOptional<z.ZodString>;
282
+ npm: z.ZodOptional<z.ZodString>;
283
+ pip: z.ZodOptional<z.ZodString>;
284
+ path: z.ZodOptional<z.ZodString>;
285
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
286
+ github: z.ZodOptional<z.ZodString>;
287
+ git: z.ZodOptional<z.ZodString>;
288
+ npm: z.ZodOptional<z.ZodString>;
289
+ pip: z.ZodOptional<z.ZodString>;
290
+ path: z.ZodOptional<z.ZodString>;
291
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
292
+ github: z.ZodOptional<z.ZodString>;
293
+ git: z.ZodOptional<z.ZodString>;
294
+ npm: z.ZodOptional<z.ZodString>;
295
+ pip: z.ZodOptional<z.ZodString>;
296
+ path: z.ZodOptional<z.ZodString>;
297
+ }, z.ZodTypeAny, "passthrough">>]>;
298
+ description: z.ZodOptional<z.ZodString>;
299
+ version: z.ZodOptional<z.ZodString>;
300
+ strict: z.ZodDefault<z.ZodBoolean>;
301
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
302
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
303
+ hooks: z.ZodOptional<z.ZodUnknown>;
304
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
305
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
306
+ name: z.ZodString;
307
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
308
+ github: z.ZodOptional<z.ZodString>;
309
+ git: z.ZodOptional<z.ZodString>;
310
+ npm: z.ZodOptional<z.ZodString>;
311
+ pip: z.ZodOptional<z.ZodString>;
312
+ path: z.ZodOptional<z.ZodString>;
313
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
314
+ github: z.ZodOptional<z.ZodString>;
315
+ git: z.ZodOptional<z.ZodString>;
316
+ npm: z.ZodOptional<z.ZodString>;
317
+ pip: z.ZodOptional<z.ZodString>;
318
+ path: z.ZodOptional<z.ZodString>;
319
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
320
+ github: z.ZodOptional<z.ZodString>;
321
+ git: z.ZodOptional<z.ZodString>;
322
+ npm: z.ZodOptional<z.ZodString>;
323
+ pip: z.ZodOptional<z.ZodString>;
324
+ path: z.ZodOptional<z.ZodString>;
325
+ }, z.ZodTypeAny, "passthrough">>]>;
326
+ description: z.ZodOptional<z.ZodString>;
327
+ version: z.ZodOptional<z.ZodString>;
328
+ strict: z.ZodDefault<z.ZodBoolean>;
329
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
330
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
331
+ hooks: z.ZodOptional<z.ZodUnknown>;
332
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
333
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
334
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
335
+ name: z.ZodString;
336
+ owner: z.ZodObject<{
337
+ name: z.ZodString;
338
+ email: z.ZodOptional<z.ZodString>;
339
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
340
+ name: z.ZodString;
341
+ email: z.ZodOptional<z.ZodString>;
342
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
343
+ name: z.ZodString;
344
+ email: z.ZodOptional<z.ZodString>;
345
+ }, z.ZodTypeAny, "passthrough">>;
346
+ metadata: z.ZodOptional<z.ZodObject<{
347
+ pluginRoot: z.ZodOptional<z.ZodString>;
348
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
349
+ pluginRoot: z.ZodOptional<z.ZodString>;
350
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
351
+ pluginRoot: z.ZodOptional<z.ZodString>;
352
+ }, z.ZodTypeAny, "passthrough">>>;
353
+ plugins: z.ZodDefault<z.ZodArray<z.ZodObject<{
354
+ name: z.ZodString;
355
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
356
+ github: z.ZodOptional<z.ZodString>;
357
+ git: z.ZodOptional<z.ZodString>;
358
+ npm: z.ZodOptional<z.ZodString>;
359
+ pip: z.ZodOptional<z.ZodString>;
360
+ path: z.ZodOptional<z.ZodString>;
361
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
362
+ github: z.ZodOptional<z.ZodString>;
363
+ git: z.ZodOptional<z.ZodString>;
364
+ npm: z.ZodOptional<z.ZodString>;
365
+ pip: z.ZodOptional<z.ZodString>;
366
+ path: z.ZodOptional<z.ZodString>;
367
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
368
+ github: z.ZodOptional<z.ZodString>;
369
+ git: z.ZodOptional<z.ZodString>;
370
+ npm: z.ZodOptional<z.ZodString>;
371
+ pip: z.ZodOptional<z.ZodString>;
372
+ path: z.ZodOptional<z.ZodString>;
373
+ }, z.ZodTypeAny, "passthrough">>]>;
374
+ description: z.ZodOptional<z.ZodString>;
375
+ version: z.ZodOptional<z.ZodString>;
376
+ strict: z.ZodDefault<z.ZodBoolean>;
377
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
378
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
379
+ hooks: z.ZodOptional<z.ZodUnknown>;
380
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
381
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
382
+ name: z.ZodString;
383
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
384
+ github: z.ZodOptional<z.ZodString>;
385
+ git: z.ZodOptional<z.ZodString>;
386
+ npm: z.ZodOptional<z.ZodString>;
387
+ pip: z.ZodOptional<z.ZodString>;
388
+ path: z.ZodOptional<z.ZodString>;
389
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
390
+ github: z.ZodOptional<z.ZodString>;
391
+ git: z.ZodOptional<z.ZodString>;
392
+ npm: z.ZodOptional<z.ZodString>;
393
+ pip: z.ZodOptional<z.ZodString>;
394
+ path: z.ZodOptional<z.ZodString>;
395
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
396
+ github: z.ZodOptional<z.ZodString>;
397
+ git: z.ZodOptional<z.ZodString>;
398
+ npm: z.ZodOptional<z.ZodString>;
399
+ pip: z.ZodOptional<z.ZodString>;
400
+ path: z.ZodOptional<z.ZodString>;
401
+ }, z.ZodTypeAny, "passthrough">>]>;
402
+ description: z.ZodOptional<z.ZodString>;
403
+ version: z.ZodOptional<z.ZodString>;
404
+ strict: z.ZodDefault<z.ZodBoolean>;
405
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
406
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
407
+ hooks: z.ZodOptional<z.ZodUnknown>;
408
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
409
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
410
+ name: z.ZodString;
411
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
412
+ github: z.ZodOptional<z.ZodString>;
413
+ git: z.ZodOptional<z.ZodString>;
414
+ npm: z.ZodOptional<z.ZodString>;
415
+ pip: z.ZodOptional<z.ZodString>;
416
+ path: z.ZodOptional<z.ZodString>;
417
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
418
+ github: z.ZodOptional<z.ZodString>;
419
+ git: z.ZodOptional<z.ZodString>;
420
+ npm: z.ZodOptional<z.ZodString>;
421
+ pip: z.ZodOptional<z.ZodString>;
422
+ path: z.ZodOptional<z.ZodString>;
423
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
424
+ github: z.ZodOptional<z.ZodString>;
425
+ git: z.ZodOptional<z.ZodString>;
426
+ npm: z.ZodOptional<z.ZodString>;
427
+ pip: z.ZodOptional<z.ZodString>;
428
+ path: z.ZodOptional<z.ZodString>;
429
+ }, z.ZodTypeAny, "passthrough">>]>;
430
+ description: z.ZodOptional<z.ZodString>;
431
+ version: z.ZodOptional<z.ZodString>;
432
+ strict: z.ZodDefault<z.ZodBoolean>;
433
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
434
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
435
+ hooks: z.ZodOptional<z.ZodUnknown>;
436
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
437
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
438
+ }, z.ZodTypeAny, "passthrough">>;
439
+ export declare const pluginManifestSchema: z.ZodObject<{
440
+ name: z.ZodString;
441
+ description: z.ZodOptional<z.ZodString>;
442
+ version: z.ZodOptional<z.ZodString>;
443
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
444
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
445
+ hooks: z.ZodOptional<z.ZodUnknown>;
446
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
447
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
448
+ name: z.ZodString;
449
+ description: z.ZodOptional<z.ZodString>;
450
+ version: z.ZodOptional<z.ZodString>;
451
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
452
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
453
+ hooks: z.ZodOptional<z.ZodUnknown>;
454
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
455
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
456
+ name: z.ZodString;
457
+ description: z.ZodOptional<z.ZodString>;
458
+ version: z.ZodOptional<z.ZodString>;
459
+ commands: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
460
+ agents: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
461
+ hooks: z.ZodOptional<z.ZodUnknown>;
462
+ mcpServers: z.ZodOptional<z.ZodUnknown>;
463
+ }, z.ZodTypeAny, "passthrough">>;
464
+ export type PluginSource = z.infer<typeof pluginSourceSchema>;
465
+ export type PluginEntry = z.infer<typeof pluginEntrySchema>;
466
+ export type MarketplaceManifest = z.infer<typeof marketplaceManifestSchema>;
467
+ export type PluginManifest = z.infer<typeof pluginManifestSchema>;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Zod schemas for Claude Code marketplace and plugin manifests.
3
+ */
4
+ import { z } from 'zod';
5
+ export const pluginSourceSchema = z
6
+ .object({
7
+ github: z.string().optional(),
8
+ git: z.string().optional(),
9
+ npm: z.string().optional(),
10
+ pip: z.string().optional(),
11
+ path: z.string().optional(),
12
+ })
13
+ .passthrough();
14
+ export const pluginEntrySchema = z
15
+ .object({
16
+ name: z.string().min(1),
17
+ source: z.union([z.string(), pluginSourceSchema]),
18
+ description: z.string().optional(),
19
+ version: z.string().optional(),
20
+ strict: z.boolean().default(true),
21
+ commands: z.union([z.string(), z.array(z.string())]).optional(),
22
+ agents: z.union([z.string(), z.array(z.string())]).optional(),
23
+ hooks: z.unknown().optional(),
24
+ mcpServers: z.unknown().optional(),
25
+ })
26
+ .passthrough();
27
+ export const marketplaceOwnerSchema = z
28
+ .object({
29
+ name: z.string(),
30
+ email: z.string().optional(),
31
+ })
32
+ .passthrough();
33
+ export const marketplaceMetadataSchema = z
34
+ .object({
35
+ pluginRoot: z.string().optional(),
36
+ })
37
+ .passthrough();
38
+ export const marketplaceManifestSchema = z
39
+ .object({
40
+ name: z.string().min(1),
41
+ owner: marketplaceOwnerSchema,
42
+ metadata: marketplaceMetadataSchema.optional(),
43
+ plugins: z.array(pluginEntrySchema).default([]),
44
+ })
45
+ .passthrough();
46
+ export const pluginManifestSchema = z
47
+ .object({
48
+ name: z.string().min(1),
49
+ description: z.string().optional(),
50
+ version: z.string().optional(),
51
+ commands: z.union([z.string(), z.array(z.string())]).optional(),
52
+ agents: z.union([z.string(), z.array(z.string())]).optional(),
53
+ hooks: z.unknown().optional(),
54
+ mcpServers: z.unknown().optional(),
55
+ })
56
+ .passthrough();
57
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/marketplace/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Marketplace-aware source loading. For each configured source, detects whether
3
+ * it's a Claude Code marketplace or a flat library directory, and loads the
4
+ * appropriate components from each.
5
+ */
6
+ import type { CommandEntry } from '../commands/library.js';
7
+ import type { HookEntry } from '../hooks/library.js';
8
+ import type { SubagentEntry } from '../subagents/library.js';
9
+ import { type SkillEntryFromPlugin } from './plugin-loader.js';
10
+ export interface MarketplaceSourceEntries {
11
+ commands: CommandEntry[];
12
+ agents: SubagentEntry[];
13
+ skills: SkillEntryFromPlugin[];
14
+ hooks: HookEntry[];
15
+ }
16
+ /**
17
+ * Load library entries from all configured sources, handling both flat directory
18
+ * sources and marketplace sources transparently.
19
+ *
20
+ * For flat sources: returns `{ namespace, basePath, isMarketplace: false }` so the
21
+ * caller can load from `basePath/<type>/`.
22
+ *
23
+ * For marketplace sources: parses the marketplace, loads all plugin components,
24
+ * and returns them directly.
25
+ */
26
+ export declare function loadEntriesFromSources(): {
27
+ flatSources: Array<{
28
+ namespace: string;
29
+ basePath: string;
30
+ }>;
31
+ marketplaceEntries: MarketplaceSourceEntries;
32
+ };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Marketplace-aware source loading. For each configured source, detects whether
3
+ * it's a Claude Code marketplace or a flat library directory, and loads the
4
+ * appropriate components from each.
5
+ */
6
+ import { getSourcesRecord } from '../library/sources.js';
7
+ import { loadPluginComponents } from './plugin-loader.js';
8
+ import { isMarketplace, readMarketplace } from './reader.js';
9
+ /**
10
+ * Load library entries from all configured sources, handling both flat directory
11
+ * sources and marketplace sources transparently.
12
+ *
13
+ * For flat sources: returns `{ namespace, basePath, isMarketplace: false }` so the
14
+ * caller can load from `basePath/<type>/`.
15
+ *
16
+ * For marketplace sources: parses the marketplace, loads all plugin components,
17
+ * and returns them directly.
18
+ */
19
+ export function loadEntriesFromSources() {
20
+ const sources = getSourcesRecord();
21
+ const flatSources = [];
22
+ const marketplaceEntries = {
23
+ commands: [],
24
+ agents: [],
25
+ skills: [],
26
+ hooks: [],
27
+ };
28
+ for (const [namespace, basePath] of Object.entries(sources)) {
29
+ if (isMarketplace(basePath)) {
30
+ const result = readMarketplace(basePath);
31
+ for (const plugin of result.plugins) {
32
+ const components = loadPluginComponents(plugin);
33
+ marketplaceEntries.commands.push(...components.commands);
34
+ marketplaceEntries.agents.push(...components.agents);
35
+ marketplaceEntries.skills.push(...components.skills);
36
+ marketplaceEntries.hooks.push(...components.hooks);
37
+ }
38
+ }
39
+ else {
40
+ flatSources.push({ namespace, basePath });
41
+ }
42
+ }
43
+ return { flatSources, marketplaceEntries };
44
+ }
45
+ //# sourceMappingURL=source-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-loader.js","sourceRoot":"","sources":["../../src/marketplace/source-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS7D;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IAIpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAmD,EAAE,CAAC;IACvE,MAAM,kBAAkB,GAA6B;QACnD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAChD,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACzD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC7C,CAAC"}
@@ -16,7 +16,7 @@ interface ComposeOptions {
16
16
  export declare function composeRules(activeIds: string[], rules: RuleSnippet[], options?: ComposeOptions): ComposedRules;
17
17
  export declare function composeActiveRules(scope?: ConfigScope): ComposedRules;
18
18
  /**
19
- * Compose active rules for a specific agent, applying per-agent overrides
19
+ * Compose active rules for a specific application, applying per-application overrides
20
20
  */
21
- export declare function composeActiveRulesForAgent(agentId: string, scope?: ConfigScope): ComposedRules;
21
+ export declare function composeActiveRulesForApplication(appId: string, scope?: ConfigScope): ComposedRules;
22
22
  export {};
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { resolveAgentSectionConfig } from '../config/agent-config.js';
2
+ import { resolveApplicationSectionConfig } from '../config/application-config.js';
3
3
  import { loadSwitchboardConfig } from '../config/switchboard-config.js';
4
4
  import { loadRuleLibrary } from './library.js';
5
5
  import { loadRuleState } from './state.js';
@@ -76,11 +76,11 @@ export function composeActiveRules(scope) {
76
76
  });
77
77
  }
78
78
  /**
79
- * Compose active rules for a specific agent, applying per-agent overrides
79
+ * Compose active rules for a specific application, applying per-application overrides
80
80
  */
81
- export function composeActiveRulesForAgent(agentId, scope) {
81
+ export function composeActiveRulesForApplication(appId, scope) {
82
82
  const rules = loadRuleLibrary();
83
- const agentConfig = resolveAgentSectionConfig('rules', agentId, scope);
83
+ const appConfig = resolveApplicationSectionConfig('rules', appId, scope);
84
84
  const loadOptions = scope
85
85
  ? {
86
86
  profile: scope.profile ?? undefined,
@@ -88,7 +88,7 @@ export function composeActiveRulesForAgent(agentId, scope) {
88
88
  }
89
89
  : undefined;
90
90
  const config = loadSwitchboardConfig(loadOptions);
91
- return composeRules(agentConfig.active, rules, {
91
+ return composeRules(appConfig.active, rules, {
92
92
  includeDelimiters: config.rules?.includeDelimiters === true,
93
93
  });
94
94
  }