@moxxy/config 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/config-writer.d.ts +30 -0
- package/dist/config-writer.d.ts.map +1 -0
- package/dist/config-writer.js +57 -0
- package/dist/config-writer.js.map +1 -0
- package/dist/define.d.ts +17 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +18 -0
- package/dist/define.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/loader.d.ts +28 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +210 -0
- package/dist/loader.js.map +1 -0
- package/dist/merge.d.ts +9 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +45 -0
- package/dist/merge.js.map +1 -0
- package/dist/plugin-settings-schema.d.ts +24 -0
- package/dist/plugin-settings-schema.d.ts.map +1 -0
- package/dist/plugin-settings-schema.js +17 -0
- package/dist/plugin-settings-schema.js.map +1 -0
- package/dist/plugin.d.ts +21 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +329 -0
- package/dist/plugin.js.map +1 -0
- package/dist/plugins-tree-schema.d.ts +444 -0
- package/dist/plugins-tree-schema.d.ts.map +1 -0
- package/dist/plugins-tree-schema.js +93 -0
- package/dist/plugins-tree-schema.js.map +1 -0
- package/dist/schema.d.ts +1200 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +198 -0
- package/dist/schema.js.map +1 -0
- package/dist/user-config.d.ts +77 -0
- package/dist/user-config.d.ts.map +1 -0
- package/dist/user-config.js +265 -0
- package/dist/user-config.js.map +1 -0
- package/package.json +56 -0
- package/src/config-writer.test.ts +52 -0
- package/src/config-writer.ts +88 -0
- package/src/define.ts +19 -0
- package/src/index.ts +64 -0
- package/src/loader.test.ts +122 -0
- package/src/loader.ts +232 -0
- package/src/loader.yaml.test.ts +149 -0
- package/src/merge.test.ts +78 -0
- package/src/merge.ts +44 -0
- package/src/plugin-settings-schema.ts +18 -0
- package/src/plugin.test.ts +310 -0
- package/src/plugin.ts +360 -0
- package/src/plugins-tree-schema.test.ts +25 -0
- package/src/plugins-tree-schema.ts +103 -0
- package/src/schema.ts +218 -0
- package/src/security-config.test.ts +30 -0
- package/src/user-config.test.ts +113 -0
- package/src/user-config.ts +359 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The unified `plugins:` tree — the single source of truth for what's
|
|
4
|
+
* installed/enabled and what's the active default per category. Two axes:
|
|
5
|
+
*
|
|
6
|
+
* - `packages` — the install/enable ledger, keyed by **npm package name**.
|
|
7
|
+
* Enabling a package makes all of its contributions available at once.
|
|
8
|
+
* - per-category slots — the swap axis, keyed by **contribution name**
|
|
9
|
+
* (`provider.default: anthropic`). The no-package core floors
|
|
10
|
+
* (markdown/localhost/tfidf/jsonl/none) can only be named this way, and a
|
|
11
|
+
* multi-contribution package needs to say *which* one is active. A package
|
|
12
|
+
* name is also accepted as a `default` alias and resolved to its sole
|
|
13
|
+
* contribution of the kind (ambiguous when the package contributes several).
|
|
14
|
+
*
|
|
15
|
+
* Clean slate: this fully replaces the legacy flat `provider`/`mode`/`compactor`/
|
|
16
|
+
* `workflowExecutor` keys, the old package-keyed `plugins:` map, and
|
|
17
|
+
* `preferences.json`. There is no back-compat normalizer.
|
|
18
|
+
*/
|
|
19
|
+
/** Per-item options for a provider contribution. */
|
|
20
|
+
export declare const providerItemSchema: z.ZodObject<{
|
|
21
|
+
/** Default model id for this provider. */
|
|
22
|
+
model: z.ZodOptional<z.ZodString>;
|
|
23
|
+
/** Provider-specific client config (baseURL, headers, …). */
|
|
24
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
25
|
+
/** Disable this specific provider contribution without removing the package. */
|
|
26
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
}, "strict", z.ZodTypeAny, {
|
|
28
|
+
enabled?: boolean | undefined;
|
|
29
|
+
model?: string | undefined;
|
|
30
|
+
config?: Record<string, unknown> | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
enabled?: boolean | undefined;
|
|
33
|
+
model?: string | undefined;
|
|
34
|
+
config?: Record<string, unknown> | undefined;
|
|
35
|
+
}>;
|
|
36
|
+
export type ProviderItem = z.infer<typeof providerItemSchema>;
|
|
37
|
+
/** The provider category slot (special: ordered credential fallbacks + typed items). */
|
|
38
|
+
export declare const providerSlotSchema: z.ZodObject<{
|
|
39
|
+
/** Active provider contribution name (or a package-name alias). */
|
|
40
|
+
default: z.ZodOptional<z.ZodString>;
|
|
41
|
+
/** Ordered provider names to fall back to when the primary's key fails. */
|
|
42
|
+
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
43
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
44
|
+
/** Default model id for this provider. */
|
|
45
|
+
model: z.ZodOptional<z.ZodString>;
|
|
46
|
+
/** Provider-specific client config (baseURL, headers, …). */
|
|
47
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
48
|
+
/** Disable this specific provider contribution without removing the package. */
|
|
49
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
50
|
+
}, "strict", z.ZodTypeAny, {
|
|
51
|
+
enabled?: boolean | undefined;
|
|
52
|
+
model?: string | undefined;
|
|
53
|
+
config?: Record<string, unknown> | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
enabled?: boolean | undefined;
|
|
56
|
+
model?: string | undefined;
|
|
57
|
+
config?: Record<string, unknown> | undefined;
|
|
58
|
+
}>>>;
|
|
59
|
+
}, "strict", z.ZodTypeAny, {
|
|
60
|
+
default?: string | undefined;
|
|
61
|
+
fallbacks?: string[] | undefined;
|
|
62
|
+
items?: Record<string, {
|
|
63
|
+
enabled?: boolean | undefined;
|
|
64
|
+
model?: string | undefined;
|
|
65
|
+
config?: Record<string, unknown> | undefined;
|
|
66
|
+
}> | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
default?: string | undefined;
|
|
69
|
+
fallbacks?: string[] | undefined;
|
|
70
|
+
items?: Record<string, {
|
|
71
|
+
enabled?: boolean | undefined;
|
|
72
|
+
model?: string | undefined;
|
|
73
|
+
config?: Record<string, unknown> | undefined;
|
|
74
|
+
}> | undefined;
|
|
75
|
+
}>;
|
|
76
|
+
export type ProviderSlot = z.infer<typeof providerSlotSchema>;
|
|
77
|
+
/** A generic active-def category slot: which contribution is the default + per-item options. */
|
|
78
|
+
export declare const categorySlotSchema: z.ZodObject<{
|
|
79
|
+
/** Active contribution name (or a package-name alias). */
|
|
80
|
+
default: z.ZodOptional<z.ZodString>;
|
|
81
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
82
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
83
|
+
}, "strict", z.ZodTypeAny, {
|
|
84
|
+
default?: string | undefined;
|
|
85
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
default?: string | undefined;
|
|
88
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
89
|
+
}>;
|
|
90
|
+
export type CategorySlot = z.infer<typeof categorySlotSchema>;
|
|
91
|
+
/**
|
|
92
|
+
* The `plugins:` tree. Reserved keys = `packages` + the active-def category
|
|
93
|
+
* names; the schema is closed (`.strict()`) so a typo'd key is a clear error
|
|
94
|
+
* rather than a silently-ignored setting.
|
|
95
|
+
*/
|
|
96
|
+
export declare const pluginsTreeSchema: z.ZodObject<{
|
|
97
|
+
/** Install/enable ledger keyed by npm package name. */
|
|
98
|
+
packages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
99
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
100
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
101
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
102
|
+
}, "strict", z.ZodTypeAny, {
|
|
103
|
+
enabled?: boolean | undefined;
|
|
104
|
+
options?: Record<string, unknown> | undefined;
|
|
105
|
+
exclude?: string[] | undefined;
|
|
106
|
+
}, {
|
|
107
|
+
enabled?: boolean | undefined;
|
|
108
|
+
options?: Record<string, unknown> | undefined;
|
|
109
|
+
exclude?: string[] | undefined;
|
|
110
|
+
}>>>;
|
|
111
|
+
provider: z.ZodOptional<z.ZodObject<{
|
|
112
|
+
/** Active provider contribution name (or a package-name alias). */
|
|
113
|
+
default: z.ZodOptional<z.ZodString>;
|
|
114
|
+
/** Ordered provider names to fall back to when the primary's key fails. */
|
|
115
|
+
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
116
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
117
|
+
/** Default model id for this provider. */
|
|
118
|
+
model: z.ZodOptional<z.ZodString>;
|
|
119
|
+
/** Provider-specific client config (baseURL, headers, …). */
|
|
120
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
121
|
+
/** Disable this specific provider contribution without removing the package. */
|
|
122
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
123
|
+
}, "strict", z.ZodTypeAny, {
|
|
124
|
+
enabled?: boolean | undefined;
|
|
125
|
+
model?: string | undefined;
|
|
126
|
+
config?: Record<string, unknown> | undefined;
|
|
127
|
+
}, {
|
|
128
|
+
enabled?: boolean | undefined;
|
|
129
|
+
model?: string | undefined;
|
|
130
|
+
config?: Record<string, unknown> | undefined;
|
|
131
|
+
}>>>;
|
|
132
|
+
}, "strict", z.ZodTypeAny, {
|
|
133
|
+
default?: string | undefined;
|
|
134
|
+
fallbacks?: string[] | undefined;
|
|
135
|
+
items?: Record<string, {
|
|
136
|
+
enabled?: boolean | undefined;
|
|
137
|
+
model?: string | undefined;
|
|
138
|
+
config?: Record<string, unknown> | undefined;
|
|
139
|
+
}> | undefined;
|
|
140
|
+
}, {
|
|
141
|
+
default?: string | undefined;
|
|
142
|
+
fallbacks?: string[] | undefined;
|
|
143
|
+
items?: Record<string, {
|
|
144
|
+
enabled?: boolean | undefined;
|
|
145
|
+
model?: string | undefined;
|
|
146
|
+
config?: Record<string, unknown> | undefined;
|
|
147
|
+
}> | undefined;
|
|
148
|
+
}>>;
|
|
149
|
+
mode: z.ZodOptional<z.ZodObject<{
|
|
150
|
+
/** Active contribution name (or a package-name alias). */
|
|
151
|
+
default: z.ZodOptional<z.ZodString>;
|
|
152
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
153
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
154
|
+
}, "strict", z.ZodTypeAny, {
|
|
155
|
+
default?: string | undefined;
|
|
156
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
157
|
+
}, {
|
|
158
|
+
default?: string | undefined;
|
|
159
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
160
|
+
}>>;
|
|
161
|
+
compactor: z.ZodOptional<z.ZodObject<{
|
|
162
|
+
/** Active contribution name (or a package-name alias). */
|
|
163
|
+
default: z.ZodOptional<z.ZodString>;
|
|
164
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
165
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
166
|
+
}, "strict", z.ZodTypeAny, {
|
|
167
|
+
default?: string | undefined;
|
|
168
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
169
|
+
}, {
|
|
170
|
+
default?: string | undefined;
|
|
171
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
172
|
+
}>>;
|
|
173
|
+
cacheStrategy: z.ZodOptional<z.ZodObject<{
|
|
174
|
+
/** Active contribution name (or a package-name alias). */
|
|
175
|
+
default: z.ZodOptional<z.ZodString>;
|
|
176
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
177
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
178
|
+
}, "strict", z.ZodTypeAny, {
|
|
179
|
+
default?: string | undefined;
|
|
180
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
181
|
+
}, {
|
|
182
|
+
default?: string | undefined;
|
|
183
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
184
|
+
}>>;
|
|
185
|
+
workflowExecutor: z.ZodOptional<z.ZodObject<{
|
|
186
|
+
/** Active contribution name (or a package-name alias). */
|
|
187
|
+
default: z.ZodOptional<z.ZodString>;
|
|
188
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
189
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
190
|
+
}, "strict", z.ZodTypeAny, {
|
|
191
|
+
default?: string | undefined;
|
|
192
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
193
|
+
}, {
|
|
194
|
+
default?: string | undefined;
|
|
195
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
196
|
+
}>>;
|
|
197
|
+
transcriber: z.ZodOptional<z.ZodObject<{
|
|
198
|
+
/** Active contribution name (or a package-name alias). */
|
|
199
|
+
default: z.ZodOptional<z.ZodString>;
|
|
200
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
201
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
202
|
+
}, "strict", z.ZodTypeAny, {
|
|
203
|
+
default?: string | undefined;
|
|
204
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
205
|
+
}, {
|
|
206
|
+
default?: string | undefined;
|
|
207
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
208
|
+
}>>;
|
|
209
|
+
synthesizer: z.ZodOptional<z.ZodObject<{
|
|
210
|
+
/** Active contribution name (or a package-name alias). */
|
|
211
|
+
default: z.ZodOptional<z.ZodString>;
|
|
212
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
213
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
214
|
+
}, "strict", z.ZodTypeAny, {
|
|
215
|
+
default?: string | undefined;
|
|
216
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
217
|
+
}, {
|
|
218
|
+
default?: string | undefined;
|
|
219
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
220
|
+
}>>;
|
|
221
|
+
embedder: z.ZodOptional<z.ZodObject<{
|
|
222
|
+
/** Active contribution name (or a package-name alias). */
|
|
223
|
+
default: z.ZodOptional<z.ZodString>;
|
|
224
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
225
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
226
|
+
}, "strict", z.ZodTypeAny, {
|
|
227
|
+
default?: string | undefined;
|
|
228
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
229
|
+
}, {
|
|
230
|
+
default?: string | undefined;
|
|
231
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
232
|
+
}>>;
|
|
233
|
+
isolator: z.ZodOptional<z.ZodObject<{
|
|
234
|
+
/** Active contribution name (or a package-name alias). */
|
|
235
|
+
default: z.ZodOptional<z.ZodString>;
|
|
236
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
237
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
238
|
+
}, "strict", z.ZodTypeAny, {
|
|
239
|
+
default?: string | undefined;
|
|
240
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
241
|
+
}, {
|
|
242
|
+
default?: string | undefined;
|
|
243
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
244
|
+
}>>;
|
|
245
|
+
viewRenderer: z.ZodOptional<z.ZodObject<{
|
|
246
|
+
/** Active contribution name (or a package-name alias). */
|
|
247
|
+
default: z.ZodOptional<z.ZodString>;
|
|
248
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
249
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
250
|
+
}, "strict", z.ZodTypeAny, {
|
|
251
|
+
default?: string | undefined;
|
|
252
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
253
|
+
}, {
|
|
254
|
+
default?: string | undefined;
|
|
255
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
256
|
+
}>>;
|
|
257
|
+
tunnelProvider: z.ZodOptional<z.ZodObject<{
|
|
258
|
+
/** Active contribution name (or a package-name alias). */
|
|
259
|
+
default: z.ZodOptional<z.ZodString>;
|
|
260
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
261
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
262
|
+
}, "strict", z.ZodTypeAny, {
|
|
263
|
+
default?: string | undefined;
|
|
264
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
265
|
+
}, {
|
|
266
|
+
default?: string | undefined;
|
|
267
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
268
|
+
}>>;
|
|
269
|
+
eventStore: z.ZodOptional<z.ZodObject<{
|
|
270
|
+
/** Active contribution name (or a package-name alias). */
|
|
271
|
+
default: z.ZodOptional<z.ZodString>;
|
|
272
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
273
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
274
|
+
}, "strict", z.ZodTypeAny, {
|
|
275
|
+
default?: string | undefined;
|
|
276
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
277
|
+
}, {
|
|
278
|
+
default?: string | undefined;
|
|
279
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
280
|
+
}>>;
|
|
281
|
+
reflector: z.ZodOptional<z.ZodObject<{
|
|
282
|
+
/** Active contribution name (or a package-name alias). */
|
|
283
|
+
default: z.ZodOptional<z.ZodString>;
|
|
284
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
285
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
286
|
+
}, "strict", z.ZodTypeAny, {
|
|
287
|
+
default?: string | undefined;
|
|
288
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
289
|
+
}, {
|
|
290
|
+
default?: string | undefined;
|
|
291
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
292
|
+
}>>;
|
|
293
|
+
channel: z.ZodOptional<z.ZodObject<{
|
|
294
|
+
/** Active contribution name (or a package-name alias). */
|
|
295
|
+
default: z.ZodOptional<z.ZodString>;
|
|
296
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
297
|
+
items: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
298
|
+
}, "strict", z.ZodTypeAny, {
|
|
299
|
+
default?: string | undefined;
|
|
300
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
301
|
+
}, {
|
|
302
|
+
default?: string | undefined;
|
|
303
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
304
|
+
}>>;
|
|
305
|
+
}, "strict", z.ZodTypeAny, {
|
|
306
|
+
packages?: Record<string, {
|
|
307
|
+
enabled?: boolean | undefined;
|
|
308
|
+
options?: Record<string, unknown> | undefined;
|
|
309
|
+
exclude?: string[] | undefined;
|
|
310
|
+
}> | undefined;
|
|
311
|
+
provider?: {
|
|
312
|
+
default?: string | undefined;
|
|
313
|
+
fallbacks?: string[] | undefined;
|
|
314
|
+
items?: Record<string, {
|
|
315
|
+
enabled?: boolean | undefined;
|
|
316
|
+
model?: string | undefined;
|
|
317
|
+
config?: Record<string, unknown> | undefined;
|
|
318
|
+
}> | undefined;
|
|
319
|
+
} | undefined;
|
|
320
|
+
mode?: {
|
|
321
|
+
default?: string | undefined;
|
|
322
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
323
|
+
} | undefined;
|
|
324
|
+
compactor?: {
|
|
325
|
+
default?: string | undefined;
|
|
326
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
327
|
+
} | undefined;
|
|
328
|
+
cacheStrategy?: {
|
|
329
|
+
default?: string | undefined;
|
|
330
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
331
|
+
} | undefined;
|
|
332
|
+
workflowExecutor?: {
|
|
333
|
+
default?: string | undefined;
|
|
334
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
335
|
+
} | undefined;
|
|
336
|
+
transcriber?: {
|
|
337
|
+
default?: string | undefined;
|
|
338
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
339
|
+
} | undefined;
|
|
340
|
+
synthesizer?: {
|
|
341
|
+
default?: string | undefined;
|
|
342
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
343
|
+
} | undefined;
|
|
344
|
+
embedder?: {
|
|
345
|
+
default?: string | undefined;
|
|
346
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
347
|
+
} | undefined;
|
|
348
|
+
isolator?: {
|
|
349
|
+
default?: string | undefined;
|
|
350
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
351
|
+
} | undefined;
|
|
352
|
+
viewRenderer?: {
|
|
353
|
+
default?: string | undefined;
|
|
354
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
355
|
+
} | undefined;
|
|
356
|
+
tunnelProvider?: {
|
|
357
|
+
default?: string | undefined;
|
|
358
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
359
|
+
} | undefined;
|
|
360
|
+
eventStore?: {
|
|
361
|
+
default?: string | undefined;
|
|
362
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
363
|
+
} | undefined;
|
|
364
|
+
reflector?: {
|
|
365
|
+
default?: string | undefined;
|
|
366
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
367
|
+
} | undefined;
|
|
368
|
+
channel?: {
|
|
369
|
+
default?: string | undefined;
|
|
370
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
371
|
+
} | undefined;
|
|
372
|
+
}, {
|
|
373
|
+
packages?: Record<string, {
|
|
374
|
+
enabled?: boolean | undefined;
|
|
375
|
+
options?: Record<string, unknown> | undefined;
|
|
376
|
+
exclude?: string[] | undefined;
|
|
377
|
+
}> | undefined;
|
|
378
|
+
provider?: {
|
|
379
|
+
default?: string | undefined;
|
|
380
|
+
fallbacks?: string[] | undefined;
|
|
381
|
+
items?: Record<string, {
|
|
382
|
+
enabled?: boolean | undefined;
|
|
383
|
+
model?: string | undefined;
|
|
384
|
+
config?: Record<string, unknown> | undefined;
|
|
385
|
+
}> | undefined;
|
|
386
|
+
} | undefined;
|
|
387
|
+
mode?: {
|
|
388
|
+
default?: string | undefined;
|
|
389
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
390
|
+
} | undefined;
|
|
391
|
+
compactor?: {
|
|
392
|
+
default?: string | undefined;
|
|
393
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
394
|
+
} | undefined;
|
|
395
|
+
cacheStrategy?: {
|
|
396
|
+
default?: string | undefined;
|
|
397
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
398
|
+
} | undefined;
|
|
399
|
+
workflowExecutor?: {
|
|
400
|
+
default?: string | undefined;
|
|
401
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
402
|
+
} | undefined;
|
|
403
|
+
transcriber?: {
|
|
404
|
+
default?: string | undefined;
|
|
405
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
406
|
+
} | undefined;
|
|
407
|
+
synthesizer?: {
|
|
408
|
+
default?: string | undefined;
|
|
409
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
410
|
+
} | undefined;
|
|
411
|
+
embedder?: {
|
|
412
|
+
default?: string | undefined;
|
|
413
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
414
|
+
} | undefined;
|
|
415
|
+
isolator?: {
|
|
416
|
+
default?: string | undefined;
|
|
417
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
418
|
+
} | undefined;
|
|
419
|
+
viewRenderer?: {
|
|
420
|
+
default?: string | undefined;
|
|
421
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
422
|
+
} | undefined;
|
|
423
|
+
tunnelProvider?: {
|
|
424
|
+
default?: string | undefined;
|
|
425
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
426
|
+
} | undefined;
|
|
427
|
+
eventStore?: {
|
|
428
|
+
default?: string | undefined;
|
|
429
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
430
|
+
} | undefined;
|
|
431
|
+
reflector?: {
|
|
432
|
+
default?: string | undefined;
|
|
433
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
434
|
+
} | undefined;
|
|
435
|
+
channel?: {
|
|
436
|
+
default?: string | undefined;
|
|
437
|
+
items?: Record<string, Record<string, unknown>> | undefined;
|
|
438
|
+
} | undefined;
|
|
439
|
+
}>;
|
|
440
|
+
export type PluginsTree = z.infer<typeof pluginsTreeSchema>;
|
|
441
|
+
/** The set of category keys that carry an active-def `default` (i.e. every key but `packages`). */
|
|
442
|
+
export declare const PLUGIN_CATEGORY_KEYS: readonly ["provider", "mode", "compactor", "cacheStrategy", "workflowExecutor", "transcriber", "synthesizer", "embedder", "isolator", "viewRenderer", "tunnelProvider", "eventStore", "reflector", "channel"];
|
|
443
|
+
export type PluginCategoryKey = (typeof PLUGIN_CATEGORY_KEYS)[number];
|
|
444
|
+
//# sourceMappingURL=plugins-tree-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-tree-schema.d.ts","sourceRoot":"","sources":["../src/plugins-tree-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;GAgBG;AAEH,oDAAoD;AACpD,eAAO,MAAM,kBAAkB;IAE3B,0CAA0C;;IAE1C,6DAA6D;;IAE7D,gFAAgF;;;;;;;;;;EAGzE,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wFAAwF;AACxF,eAAO,MAAM,kBAAkB;IAE3B,mEAAmE;;IAEnE,2EAA2E;;;QAf3E,0CAA0C;;QAE1C,6DAA6D;;QAE7D,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;EAezE,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,gGAAgG;AAChG,eAAO,MAAM,kBAAkB;IAE3B,0DAA0D;;IAE1D,gEAAgE;;;;;;;;EAGzD,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAE1B,uDAAuD;;;;;;;;;;;;;;;QA3BvD,mEAAmE;;QAEnE,2EAA2E;;;YAf3E,0CAA0C;;YAE1C,6DAA6D;;YAE7D,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqBhF,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;QAFhE,0DAA0D;;QAE1D,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BzD,CAAC;AACZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,+MAevB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pluginSettingsSchema } from './plugin-settings-schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* The unified `plugins:` tree — the single source of truth for what's
|
|
5
|
+
* installed/enabled and what's the active default per category. Two axes:
|
|
6
|
+
*
|
|
7
|
+
* - `packages` — the install/enable ledger, keyed by **npm package name**.
|
|
8
|
+
* Enabling a package makes all of its contributions available at once.
|
|
9
|
+
* - per-category slots — the swap axis, keyed by **contribution name**
|
|
10
|
+
* (`provider.default: anthropic`). The no-package core floors
|
|
11
|
+
* (markdown/localhost/tfidf/jsonl/none) can only be named this way, and a
|
|
12
|
+
* multi-contribution package needs to say *which* one is active. A package
|
|
13
|
+
* name is also accepted as a `default` alias and resolved to its sole
|
|
14
|
+
* contribution of the kind (ambiguous when the package contributes several).
|
|
15
|
+
*
|
|
16
|
+
* Clean slate: this fully replaces the legacy flat `provider`/`mode`/`compactor`/
|
|
17
|
+
* `workflowExecutor` keys, the old package-keyed `plugins:` map, and
|
|
18
|
+
* `preferences.json`. There is no back-compat normalizer.
|
|
19
|
+
*/
|
|
20
|
+
/** Per-item options for a provider contribution. */
|
|
21
|
+
export const providerItemSchema = z
|
|
22
|
+
.object({
|
|
23
|
+
/** Default model id for this provider. */
|
|
24
|
+
model: z.string().optional(),
|
|
25
|
+
/** Provider-specific client config (baseURL, headers, …). */
|
|
26
|
+
config: z.record(z.string(), z.unknown()).optional(),
|
|
27
|
+
/** Disable this specific provider contribution without removing the package. */
|
|
28
|
+
enabled: z.boolean().optional(),
|
|
29
|
+
})
|
|
30
|
+
.strict();
|
|
31
|
+
/** The provider category slot (special: ordered credential fallbacks + typed items). */
|
|
32
|
+
export const providerSlotSchema = z
|
|
33
|
+
.object({
|
|
34
|
+
/** Active provider contribution name (or a package-name alias). */
|
|
35
|
+
default: z.string().optional(),
|
|
36
|
+
/** Ordered provider names to fall back to when the primary's key fails. */
|
|
37
|
+
fallbacks: z.array(z.string()).optional(),
|
|
38
|
+
items: z.record(z.string(), providerItemSchema).optional(),
|
|
39
|
+
})
|
|
40
|
+
.strict();
|
|
41
|
+
/** A generic active-def category slot: which contribution is the default + per-item options. */
|
|
42
|
+
export const categorySlotSchema = z
|
|
43
|
+
.object({
|
|
44
|
+
/** Active contribution name (or a package-name alias). */
|
|
45
|
+
default: z.string().optional(),
|
|
46
|
+
/** Per-contribution option bags, keyed by contribution name. */
|
|
47
|
+
items: z.record(z.string(), z.record(z.string(), z.unknown())).optional(),
|
|
48
|
+
})
|
|
49
|
+
.strict();
|
|
50
|
+
/**
|
|
51
|
+
* The `plugins:` tree. Reserved keys = `packages` + the active-def category
|
|
52
|
+
* names; the schema is closed (`.strict()`) so a typo'd key is a clear error
|
|
53
|
+
* rather than a silently-ignored setting.
|
|
54
|
+
*/
|
|
55
|
+
export const pluginsTreeSchema = z
|
|
56
|
+
.object({
|
|
57
|
+
/** Install/enable ledger keyed by npm package name. */
|
|
58
|
+
packages: z.record(z.string(), pluginSettingsSchema).optional(),
|
|
59
|
+
// Swap axis — one slot per ActiveDef registry kind.
|
|
60
|
+
provider: providerSlotSchema.optional(),
|
|
61
|
+
mode: categorySlotSchema.optional(),
|
|
62
|
+
compactor: categorySlotSchema.optional(),
|
|
63
|
+
cacheStrategy: categorySlotSchema.optional(),
|
|
64
|
+
workflowExecutor: categorySlotSchema.optional(),
|
|
65
|
+
transcriber: categorySlotSchema.optional(),
|
|
66
|
+
synthesizer: categorySlotSchema.optional(),
|
|
67
|
+
embedder: categorySlotSchema.optional(),
|
|
68
|
+
isolator: categorySlotSchema.optional(),
|
|
69
|
+
viewRenderer: categorySlotSchema.optional(),
|
|
70
|
+
tunnelProvider: categorySlotSchema.optional(),
|
|
71
|
+
eventStore: categorySlotSchema.optional(),
|
|
72
|
+
reflector: categorySlotSchema.optional(),
|
|
73
|
+
channel: categorySlotSchema.optional(),
|
|
74
|
+
})
|
|
75
|
+
.strict();
|
|
76
|
+
/** The set of category keys that carry an active-def `default` (i.e. every key but `packages`). */
|
|
77
|
+
export const PLUGIN_CATEGORY_KEYS = [
|
|
78
|
+
'provider',
|
|
79
|
+
'mode',
|
|
80
|
+
'compactor',
|
|
81
|
+
'cacheStrategy',
|
|
82
|
+
'workflowExecutor',
|
|
83
|
+
'transcriber',
|
|
84
|
+
'synthesizer',
|
|
85
|
+
'embedder',
|
|
86
|
+
'isolator',
|
|
87
|
+
'viewRenderer',
|
|
88
|
+
'tunnelProvider',
|
|
89
|
+
'eventStore',
|
|
90
|
+
'reflector',
|
|
91
|
+
'channel',
|
|
92
|
+
];
|
|
93
|
+
//# sourceMappingURL=plugins-tree-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-tree-schema.js","sourceRoot":"","sources":["../src/plugins-tree-schema.ts"],"names":[],"mappings":"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"}
|