ocmm 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/.codex/agents/dw-builder.toml +3 -3
  2. package/.codex/agents/dw-clarifier.toml +2 -2
  3. package/.codex/agents/dw-code-search.toml +2 -2
  4. package/.codex/agents/dw-coding.toml +2 -2
  5. package/.codex/agents/dw-complex.toml +2 -2
  6. package/.codex/agents/dw-creative.toml +2 -2
  7. package/.codex/agents/dw-deep.toml +3 -3
  8. package/.codex/agents/dw-doc-search.toml +2 -2
  9. package/.codex/agents/dw-documenting.toml +2 -2
  10. package/.codex/agents/dw-explore.toml +2 -2
  11. package/.codex/agents/dw-frontend.toml +2 -2
  12. package/.codex/agents/dw-hard-reasoning.toml +2 -2
  13. package/.codex/agents/dw-media-reader.toml +2 -2
  14. package/.codex/agents/dw-normal-task.toml +2 -2
  15. package/.codex/agents/dw-oracle-2nd.toml +8 -0
  16. package/.codex/agents/dw-oracle.toml +3 -3
  17. package/.codex/agents/dw-orchestrator.toml +2 -2
  18. package/.codex/agents/dw-plan-critic.toml +2 -2
  19. package/.codex/agents/dw-planner.toml +3 -3
  20. package/.codex/agents/dw-quick.toml +2 -2
  21. package/.codex/agents/dw-research.toml +2 -2
  22. package/.codex/agents/dw-reviewer.toml +2 -2
  23. package/README.md +193 -46
  24. package/dist/cli/shim.d.ts +4 -2
  25. package/dist/cli/shim.js +26 -11
  26. package/dist/cli/shim.js.map +1 -1
  27. package/dist/codex/plugin-generator.js +121 -96
  28. package/dist/codex/plugin-generator.js.map +1 -1
  29. package/dist/config/load.d.ts +32 -23
  30. package/dist/config/load.js +384 -90
  31. package/dist/config/load.js.map +1 -1
  32. package/dist/config/merge.d.ts +18 -0
  33. package/dist/config/merge.js +46 -0
  34. package/dist/config/merge.js.map +1 -0
  35. package/dist/config/normalize.d.ts +1 -0
  36. package/dist/config/normalize.js +22 -16
  37. package/dist/config/normalize.js.map +1 -1
  38. package/dist/config/profile-aliases.d.ts +12 -0
  39. package/dist/config/profile-aliases.js +127 -0
  40. package/dist/config/profile-aliases.js.map +1 -0
  41. package/dist/config/profile-types.d.ts +13 -0
  42. package/dist/config/profile-types.js +2 -0
  43. package/dist/config/profile-types.js.map +1 -0
  44. package/dist/config/review-agent-migration.d.ts +89 -0
  45. package/dist/config/review-agent-migration.js +237 -0
  46. package/dist/config/review-agent-migration.js.map +1 -0
  47. package/dist/config/schema.d.ts +1364 -219
  48. package/dist/config/schema.js +169 -36
  49. package/dist/config/schema.js.map +1 -1
  50. package/dist/config/tolerant-parse.d.ts +41 -0
  51. package/dist/config/tolerant-parse.js +164 -0
  52. package/dist/config/tolerant-parse.js.map +1 -0
  53. package/dist/data/agents.d.ts +2 -1
  54. package/dist/data/agents.js +25 -10
  55. package/dist/data/agents.js.map +1 -1
  56. package/dist/data/categories.js +2 -1
  57. package/dist/data/categories.js.map +1 -1
  58. package/dist/hooks/chat-params.d.ts +2 -0
  59. package/dist/hooks/chat-params.js +182 -16
  60. package/dist/hooks/chat-params.js.map +1 -1
  61. package/dist/hooks/config.d.ts +14 -2
  62. package/dist/hooks/config.js +538 -60
  63. package/dist/hooks/config.js.map +1 -1
  64. package/dist/hooks/event.d.ts +3 -11
  65. package/dist/hooks/event.js +5 -9
  66. package/dist/hooks/event.js.map +1 -1
  67. package/dist/index.js +21 -14
  68. package/dist/index.js.map +1 -1
  69. package/dist/intent/model-family.d.ts +2 -0
  70. package/dist/intent/model-family.js +11 -0
  71. package/dist/intent/model-family.js.map +1 -1
  72. package/dist/intent/prompt-loader.d.ts +3 -3
  73. package/dist/intent/prompt-loader.js +3 -3
  74. package/dist/permissions/index.d.ts +3 -0
  75. package/dist/permissions/index.js +43 -28
  76. package/dist/permissions/index.js.map +1 -1
  77. package/dist/review-agents/expand.d.ts +36 -0
  78. package/dist/review-agents/expand.js +157 -0
  79. package/dist/review-agents/expand.js.map +1 -0
  80. package/dist/review-agents/names.d.ts +16 -0
  81. package/dist/review-agents/names.js +55 -0
  82. package/dist/review-agents/names.js.map +1 -0
  83. package/dist/routing/effective-route.d.ts +19 -0
  84. package/dist/routing/effective-route.js +133 -0
  85. package/dist/routing/effective-route.js.map +1 -0
  86. package/dist/routing/model-upgrades.d.ts +5 -0
  87. package/dist/routing/model-upgrades.js +59 -11
  88. package/dist/routing/model-upgrades.js.map +1 -1
  89. package/dist/routing/resolver.d.ts +8 -1
  90. package/dist/routing/resolver.js +29 -9
  91. package/dist/routing/resolver.js.map +1 -1
  92. package/dist/routing/route-registry.d.ts +13 -0
  93. package/dist/routing/route-registry.js +84 -0
  94. package/dist/routing/route-registry.js.map +1 -0
  95. package/dist/routing/variant-translator.js +7 -4
  96. package/dist/routing/variant-translator.js.map +1 -1
  97. package/dist/runtime-fallback/dispatcher.d.ts +1 -0
  98. package/dist/runtime-fallback/dispatcher.js +7 -5
  99. package/dist/runtime-fallback/dispatcher.js.map +1 -1
  100. package/dist/runtime-fallback/error-classifier.d.ts +3 -1
  101. package/dist/runtime-fallback/error-classifier.js +135 -1
  102. package/dist/runtime-fallback/error-classifier.js.map +1 -1
  103. package/dist/runtime-fallback/event-handler-generic-fallback.d.ts +26 -0
  104. package/dist/runtime-fallback/event-handler-generic-fallback.js +54 -0
  105. package/dist/runtime-fallback/event-handler-generic-fallback.js.map +1 -0
  106. package/dist/runtime-fallback/event-handler-idle-continuation.d.ts +9 -0
  107. package/dist/runtime-fallback/event-handler-idle-continuation.js +48 -0
  108. package/dist/runtime-fallback/event-handler-idle-continuation.js.map +1 -0
  109. package/dist/runtime-fallback/event-handler-support.d.ts +39 -0
  110. package/dist/runtime-fallback/event-handler-support.js +194 -0
  111. package/dist/runtime-fallback/event-handler-support.js.map +1 -0
  112. package/dist/runtime-fallback/event-handler-test-fixtures.d.ts +874 -0
  113. package/dist/runtime-fallback/event-handler-test-fixtures.js +150 -0
  114. package/dist/runtime-fallback/event-handler-test-fixtures.js.map +1 -0
  115. package/dist/runtime-fallback/event-handler.d.ts +13 -1
  116. package/dist/runtime-fallback/event-handler.js +334 -192
  117. package/dist/runtime-fallback/event-handler.js.map +1 -1
  118. package/dist/runtime-fallback/fallback-state.d.ts +8 -5
  119. package/dist/runtime-fallback/fallback-state.js +9 -6
  120. package/dist/runtime-fallback/fallback-state.js.map +1 -1
  121. package/dist/runtime-fallback/index.d.ts +21 -1
  122. package/dist/runtime-fallback/index.js +7 -1
  123. package/dist/runtime-fallback/index.js.map +1 -1
  124. package/dist/runtime-fallback/interruption-output-adapter.d.ts +7 -0
  125. package/dist/runtime-fallback/interruption-output-adapter.js +91 -0
  126. package/dist/runtime-fallback/interruption-output-adapter.js.map +1 -0
  127. package/dist/runtime-fallback/subagent-429-controller-fixture.d.ts +105 -0
  128. package/dist/runtime-fallback/subagent-429-controller-fixture.js +116 -0
  129. package/dist/runtime-fallback/subagent-429-controller-fixture.js.map +1 -0
  130. package/dist/runtime-fallback/subagent-429-controller.d.ts +167 -0
  131. package/dist/runtime-fallback/subagent-429-controller.js +334 -0
  132. package/dist/runtime-fallback/subagent-429-controller.js.map +1 -0
  133. package/dist/runtime-fallback/subagent-429-policy.d.ts +13 -0
  134. package/dist/runtime-fallback/subagent-429-policy.js +37 -0
  135. package/dist/runtime-fallback/subagent-429-policy.js.map +1 -0
  136. package/dist/runtime-fallback/subagent-429-session.d.ts +48 -0
  137. package/dist/runtime-fallback/subagent-429-session.js +316 -0
  138. package/dist/runtime-fallback/subagent-429-session.js.map +1 -0
  139. package/dist/shared/opencode-events.d.ts +22 -0
  140. package/dist/shared/opencode-events.js +75 -0
  141. package/dist/shared/opencode-events.js.map +1 -0
  142. package/dist/shared/types.d.ts +12 -1
  143. package/package.json +1 -1
  144. package/plugins/deepwork/.codex-plugin/plugin.json +1 -1
  145. package/plugins/deepwork/README.md +3 -2
  146. package/plugins/deepwork/agents/dw-builder.toml +3 -3
  147. package/plugins/deepwork/agents/dw-clarifier.toml +2 -2
  148. package/plugins/deepwork/agents/dw-code-search.toml +2 -2
  149. package/plugins/deepwork/agents/dw-coding.toml +2 -2
  150. package/plugins/deepwork/agents/dw-complex.toml +2 -2
  151. package/plugins/deepwork/agents/dw-creative.toml +2 -2
  152. package/plugins/deepwork/agents/dw-deep.toml +3 -3
  153. package/plugins/deepwork/agents/dw-doc-search.toml +2 -2
  154. package/plugins/deepwork/agents/dw-documenting.toml +2 -2
  155. package/plugins/deepwork/agents/dw-explore.toml +2 -2
  156. package/plugins/deepwork/agents/dw-frontend.toml +2 -2
  157. package/plugins/deepwork/agents/dw-hard-reasoning.toml +2 -2
  158. package/plugins/deepwork/agents/dw-media-reader.toml +2 -2
  159. package/plugins/deepwork/agents/dw-normal-task.toml +2 -2
  160. package/plugins/deepwork/agents/dw-oracle-2nd.toml +8 -0
  161. package/plugins/deepwork/agents/dw-oracle.toml +3 -3
  162. package/plugins/deepwork/agents/dw-orchestrator.toml +2 -2
  163. package/plugins/deepwork/agents/dw-plan-critic.toml +2 -2
  164. package/plugins/deepwork/agents/dw-planner.toml +3 -3
  165. package/plugins/deepwork/agents/dw-quick.toml +2 -2
  166. package/plugins/deepwork/agents/dw-research.toml +2 -2
  167. package/plugins/deepwork/agents/dw-reviewer.toml +2 -2
  168. package/plugins/deepwork/dist/cli/shim.d.ts +4 -2
  169. package/plugins/deepwork/dist/cli/shim.js +26 -11
  170. package/plugins/deepwork/dist/cli/shim.js.map +1 -1
  171. package/plugins/deepwork/dist/shared/opencode-events.d.ts +22 -0
  172. package/plugins/deepwork/dist/shared/opencode-events.js +75 -0
  173. package/plugins/deepwork/dist/shared/opencode-events.js.map +1 -0
  174. package/plugins/deepwork/dist/shared/types.d.ts +12 -1
  175. package/plugins/deepwork/package.json +1 -1
  176. package/plugins/deepwork/skills/deepwork/SKILL.md +74 -58
  177. package/plugins/deepwork/skills/deepwork-requesting-code-review/SKILL.md +53 -27
  178. package/plugins/deepwork/skills/deepwork-requesting-code-review/code-reviewer.md +11 -7
  179. package/plugins/deepwork/skills/deepwork-subagent-driven-development/SKILL.md +34 -21
  180. package/plugins/deepwork/skills/deepwork-subagent-driven-development/implementer-prompt.md +10 -3
  181. package/prompts/codex/agents/clarifier.md +4 -0
  182. package/prompts/codex/agents/orchestrator.md +12 -2
  183. package/prompts/codex/agents/plan-critic.md +4 -0
  184. package/prompts/codex/agents/planner.md +15 -10
  185. package/prompts/codex/agents/reviewer.md +8 -2
  186. package/prompts/codex/deepwork/gpt-5.6.md +20 -37
  187. package/prompts/omo/agents/clarifier.md +4 -0
  188. package/prompts/omo/agents/orchestrator.md +11 -0
  189. package/prompts/omo/agents/plan-critic.md +4 -0
  190. package/prompts/omo/agents/planner.md +15 -3
  191. package/prompts/omo/agents/reviewer.md +8 -2
  192. package/prompts/omo/deepwork/gpt-5.6.md +20 -37
  193. package/prompts/v1/agents/clarifier.md +4 -0
  194. package/prompts/v1/agents/orchestrator.md +12 -2
  195. package/prompts/v1/agents/plan-critic.md +4 -0
  196. package/prompts/v1/agents/planner.md +15 -10
  197. package/prompts/v1/agents/reviewer.md +8 -2
  198. package/prompts/v1/deepwork/gpt-5.6.md +20 -37
  199. package/skills/v1/requesting-code-review/SKILL.md +53 -27
  200. package/skills/v1/requesting-code-review/code-reviewer.md +11 -7
  201. package/skills/v1/subagent-driven-development/SKILL.md +34 -21
  202. package/skills/v1/subagent-driven-development/implementer-prompt.md +10 -3
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
- const VariantEnum = z.enum([
2
+ import { isReservedReviewAgentName, parseReviewAgentName } from "../review-agents/names.js";
3
+ export const VariantEnum = z.enum([
3
4
  "low",
4
5
  "medium",
5
6
  "high",
@@ -88,6 +89,7 @@ const HOOK_NAMES = [
88
89
  "commit-guard-injector",
89
90
  "subagent-git-guard",
90
91
  "subagent-depth-guard",
92
+ "subagent-interruption-recovery",
91
93
  ];
92
94
  const HookNameSchema = z.enum(HOOK_NAMES);
93
95
  const AGENT_NAMES = [
@@ -95,6 +97,14 @@ const AGENT_NAMES = [
95
97
  "builder",
96
98
  "reviewer",
97
99
  "oracle",
100
+ "oracle-2nd",
101
+ "oracle-3rd",
102
+ "oracle-4th",
103
+ "oracle-5th",
104
+ "oracle-6th",
105
+ "oracle-7th",
106
+ "oracle-8th",
107
+ "oracle-9th",
98
108
  "doc-search",
99
109
  "code-search",
100
110
  "planner",
@@ -132,6 +142,12 @@ const defaultSkillsConfig = () => ({
132
142
  enable: [],
133
143
  disable: [],
134
144
  });
145
+ const Subagent429ScopeSchema = z.enum(["model", "provider"]);
146
+ const defaultSubagent429Config = () => ({
147
+ enabled: true,
148
+ maxRetries: 5,
149
+ providerScopes: {},
150
+ });
135
151
  const defaultRuntimeFallbackConfig = () => ({
136
152
  enabled: true,
137
153
  dispatch: true,
@@ -149,6 +165,7 @@ const defaultRuntimeFallbackConfig = () => ({
149
165
  "capacity",
150
166
  "try again",
151
167
  ],
168
+ subagent429: defaultSubagent429Config(),
152
169
  });
153
170
  const defaultIdleContinuationConfig = () => ({
154
171
  enabled: false,
@@ -173,6 +190,27 @@ const defaultMcpConfig = () => ({
173
190
  const defaultSubagentConfig = () => ({
174
191
  maxDepth: 3,
175
192
  });
193
+ const defaultFastModelsConfig = () => ({
194
+ providers: [],
195
+ mappings: {},
196
+ });
197
+ const FastModelMappingKeySchema = z.string().regex(/^[^/]+\/.+$/);
198
+ const FastModelMappingValueSchema = z.string().refine((value) => /\S/.test(value), {
199
+ message: "Fast model mapping values must contain non-whitespace text.",
200
+ });
201
+ export const FastModelsConfigSchema = z
202
+ .object({
203
+ providers: z.array(z.string().min(1)).default([]),
204
+ mappings: z.record(FastModelMappingKeySchema, FastModelMappingValueSchema).default({}),
205
+ })
206
+ .strict()
207
+ .default(defaultFastModelsConfig);
208
+ const ProfileFastModelsConfigSchema = z
209
+ .object({
210
+ providers: z.array(z.string().min(1)).optional(),
211
+ mappings: z.record(FastModelMappingKeySchema, FastModelMappingValueSchema).optional(),
212
+ })
213
+ .strict();
176
214
  export const SkillSourceEntrySchema = z.union([
177
215
  z.string().min(1),
178
216
  z
@@ -180,8 +218,7 @@ export const SkillSourceEntrySchema = z.union([
180
218
  path: z.string().min(1),
181
219
  recursive: z.boolean().default(true),
182
220
  glob: z.string().optional(),
183
- })
184
- .strict(),
221
+ }),
185
222
  ]);
186
223
  export const SkillsConfigSchema = z
187
224
  .object({
@@ -189,23 +226,117 @@ export const SkillsConfigSchema = z
189
226
  enable: z.array(z.string()).default([]),
190
227
  disable: z.array(z.string()).default([]),
191
228
  })
192
- .strict()
193
229
  .default(defaultSkillsConfig);
194
230
  const ProfileSkillsConfigSchema = z
195
231
  .object({
196
232
  sources: z.array(SkillSourceEntrySchema).optional(),
197
233
  enable: z.array(z.string()).optional(),
198
234
  disable: z.array(z.string()).optional(),
235
+ });
236
+ export const CategoryEntrySchema = z.object(ShorthandFields);
237
+ /**
238
+ * Logical review-tier override for a canonical Oracle/Reviewer normal slot.
239
+ *
240
+ * - A string materializes the native variant for that tier.
241
+ * - An object may override `model` and/or `variant`; at least one is required.
242
+ * `normal` is not a tier key (the unsuffixed slot IS normal).
243
+ */
244
+ export const ReviewVariantOverrideSchema = z.union([
245
+ VariantEnum,
246
+ z
247
+ .object({
248
+ model: z.string().min(1),
249
+ variant: VariantEnum.optional(),
250
+ })
251
+ .strict(),
252
+ z
253
+ .object({
254
+ variant: VariantEnum,
255
+ })
256
+ .strict(),
257
+ ]);
258
+ export const ReviewVariantsSchema = z
259
+ .object({
260
+ low: ReviewVariantOverrideSchema.optional(),
261
+ high: ReviewVariantOverrideSchema.optional(),
262
+ max: ReviewVariantOverrideSchema.optional(),
199
263
  })
200
264
  .strict();
201
- export const CategoryEntrySchema = z.object(ShorthandFields).strict();
202
- export const AgentEntrySchema = z
203
- .object({
265
+ export const AgentEntrySchema = z.object({
204
266
  ...ShorthandFields,
205
267
  ...AgentOverrideFields,
268
+ variants: ReviewVariantsSchema.optional(),
206
269
  disabled: z.boolean().optional(),
207
- })
208
- .strict();
270
+ });
271
+ const LATER_ORACLE_SLOT_NAMES = new Set([
272
+ "oracle-3rd",
273
+ "oracle-4th",
274
+ "oracle-5th",
275
+ "oracle-6th",
276
+ "oracle-7th",
277
+ "oracle-8th",
278
+ "oracle-9th",
279
+ ]);
280
+ function hasDirectNormalRequirement(entry) {
281
+ return entry.requirement !== undefined
282
+ || (typeof entry.model === "string" && entry.model.trim().length > 0)
283
+ || (Array.isArray(entry.fallbackModels) && entry.fallbackModels.length > 0);
284
+ }
285
+ function resolvesNormalRequirement(name, agents, visited = new Set()) {
286
+ if (visited.has(name))
287
+ return false;
288
+ const entry = agents[name];
289
+ if (!entry)
290
+ return false;
291
+ if (hasDirectNormalRequirement(entry))
292
+ return true;
293
+ const alias = entry.alias?.trim();
294
+ if (!alias)
295
+ return false;
296
+ return resolvesNormalRequirement(alias, agents, new Set([...visited, name]));
297
+ }
298
+ /**
299
+ * Declarative `agents` map schema used for JSON-schema generation. The
300
+ * runtime schema below adds cross-entry review-agent constraints that JSON
301
+ * Schema cannot express.
302
+ */
303
+ export const AgentsConfigSchemaForJsonSchema = z.record(z.string(), AgentEntrySchema);
304
+ /**
305
+ * Strict configuration boundary for every agent map. Generic runtime loading
306
+ * applies `tolerantParse` before this schema, but direct callers must receive
307
+ * errors for any malformed entry or invalid review-agent declaration.
308
+ */
309
+ export const AgentsConfigSchema = z.record(z.string(), AgentEntrySchema).superRefine((agents, ctx) => {
310
+ for (const [name, entry] of Object.entries(agents)) {
311
+ const identity = parseReviewAgentName(name);
312
+ const canonicalNormal = identity?.logicalTier === "normal" && identity.canonicalName === name;
313
+ if (isReservedReviewAgentName(name) && !canonicalNormal) {
314
+ ctx.addIssue({
315
+ code: "custom",
316
+ path: [name],
317
+ message: "review-agent config keys must be canonical unsuffixed slots",
318
+ });
319
+ }
320
+ if (entry.variants !== undefined && !canonicalNormal) {
321
+ ctx.addIssue({
322
+ code: "custom",
323
+ path: [name, "variants"],
324
+ message: "variants is allowed only on canonical Oracle or Reviewer normal-slot entries",
325
+ });
326
+ }
327
+ }
328
+ for (const name of Object.keys(agents)) {
329
+ const entry = agents[name];
330
+ const hasDeferredQualifiedRequirement = entry?.alias?.includes(":") === true;
331
+ if (LATER_ORACLE_SLOT_NAMES.has(name) && !hasDeferredQualifiedRequirement && !resolvesNormalRequirement(name, agents)) {
332
+ ctx.addIssue({
333
+ code: "custom",
334
+ path: [name],
335
+ message: "later Oracle slots must resolve a normal model requirement through model, fallbackModels, requirement, or alias",
336
+ });
337
+ }
338
+ }
339
+ });
209
340
  /**
210
341
  * Reactive runtime-fallback config.
211
342
  *
@@ -215,12 +346,25 @@ export const AgentEntrySchema = z
215
346
  *
216
347
  * `dispatch: false` makes the hook observe-only (classify + log, no retry).
217
348
  */
349
+ export const Subagent429ConfigSchema = z
350
+ .object({
351
+ enabled: z.boolean().default(true),
352
+ maxRetries: z.number().int().min(0).default(5),
353
+ providerScopes: z.record(z.string(), Subagent429ScopeSchema).default({}),
354
+ })
355
+ .default(defaultSubagent429Config);
356
+ const ProfileSubagent429ConfigSchema = z
357
+ .object({
358
+ enabled: z.boolean().optional(),
359
+ maxRetries: z.number().int().min(0).optional(),
360
+ providerScopes: z.record(z.string(), Subagent429ScopeSchema).optional(),
361
+ });
218
362
  export const RuntimeFallbackConfigSchema = z
219
363
  .object({
220
364
  enabled: z.boolean().default(true),
221
365
  /** When false, only classify + log; never call ctx.client.session.prompt. */
222
366
  dispatch: z.boolean().default(true),
223
- /** Max retries per session before giving up. */
367
+ /** Max committed fallback model switches per session. Same-model retries do not count. */
224
368
  maxAttempts: z.number().int().positive().default(3),
225
369
  /** Per-model cooldown window in seconds. */
226
370
  cooldownSeconds: z.number().int().positive().default(60),
@@ -242,6 +386,7 @@ export const RuntimeFallbackConfigSchema = z
242
386
  "capacity",
243
387
  "try again",
244
388
  ]),
389
+ subagent429: Subagent429ConfigSchema,
245
390
  })
246
391
  .default(defaultRuntimeFallbackConfig);
247
392
  export const IdleContinuationConfigSchema = z
@@ -255,26 +400,22 @@ export const HashlineConfigSchema = z
255
400
  .object({
256
401
  enabled: z.boolean().default(false),
257
402
  })
258
- .strict()
259
403
  .default(defaultHashlineConfig);
260
404
  const ProfileHashlineConfigSchema = z
261
405
  .object({
262
406
  enabled: z.boolean().optional(),
263
- })
264
- .strict();
407
+ });
265
408
  export const RulesConfigSchema = z
266
409
  .object({
267
410
  enabled: z.boolean().default(false),
268
411
  skipClaudeUserRules: z.boolean().default(false),
269
412
  })
270
- .strict()
271
413
  .default(defaultRulesConfig);
272
414
  const ProfileRulesConfigSchema = z
273
415
  .object({
274
416
  enabled: z.boolean().optional(),
275
417
  skipClaudeUserRules: z.boolean().optional(),
276
- })
277
- .strict();
418
+ });
278
419
  const McpLocalServerConfigSchema = z
279
420
  .object({
280
421
  type: z.literal("local"),
@@ -283,8 +424,7 @@ const McpLocalServerConfigSchema = z
283
424
  env: z.record(z.string(), z.string()).optional(),
284
425
  environment: z.record(z.string(), z.string()).optional(),
285
426
  enabled: z.boolean().default(true),
286
- })
287
- .strict();
427
+ });
288
428
  const McpRemoteServerConfigSchema = z
289
429
  .object({
290
430
  type: z.literal("remote"),
@@ -292,8 +432,7 @@ const McpRemoteServerConfigSchema = z
292
432
  headers: z.record(z.string(), z.string()).optional(),
293
433
  oauth: z.boolean().optional(),
294
434
  enabled: z.boolean().default(true),
295
- })
296
- .strict();
435
+ });
297
436
  export const McpServerConfigSchema = z.discriminatedUnion("type", [
298
437
  McpLocalServerConfigSchema,
299
438
  McpRemoteServerConfigSchema,
@@ -306,23 +445,19 @@ export const McpConfigSchema = z
306
445
  .object({
307
446
  provider: z.enum(["exa", "tavily"]).default("exa"),
308
447
  })
309
- .strict()
310
448
  .default(defaultMcpWebsearchConfig),
311
449
  servers: z.record(z.string(), McpServerConfigSchema).default({}),
312
450
  })
313
- .strict()
314
451
  .default(defaultMcpConfig);
315
452
  export const SubagentConfigSchema = z
316
453
  .object({
317
454
  maxDepth: z.number().int().min(0).max(20).default(3),
318
455
  })
319
- .strict()
320
456
  .default(defaultSubagentConfig);
321
457
  const ProfileSubagentConfigSchema = z
322
458
  .object({
323
459
  maxDepth: z.number().int().min(0).max(20).optional(),
324
- })
325
- .strict();
460
+ });
326
461
  const ProfileMcpConfigSchema = z
327
462
  .object({
328
463
  enabled: z.boolean().optional(),
@@ -331,11 +466,9 @@ const ProfileMcpConfigSchema = z
331
466
  .object({
332
467
  provider: z.enum(["exa", "tavily"]).optional(),
333
468
  })
334
- .strict()
335
469
  .optional(),
336
470
  servers: z.record(z.string(), McpServerConfigSchema).optional(),
337
- })
338
- .strict();
471
+ });
339
472
  /**
340
473
  * A profile is a partial config overlay. It may carry any top-level field
341
474
  * EXCEPT `profiles` and `activeProfile` themselves (nested profiles are not
@@ -347,7 +480,7 @@ const ProfileMcpConfigSchema = z
347
480
  export const ProfileEntrySchema = z
348
481
  .object({
349
482
  categories: z.record(z.string(), CategoryEntrySchema).optional(),
350
- agents: z.record(z.string(), AgentEntrySchema).optional(),
483
+ agents: AgentsConfigSchema.optional(),
351
484
  disabledAgents: z.array(z.union([AgentNameSchema, z.string()])).optional(),
352
485
  ...FeatureGateArrayFields,
353
486
  skills: ProfileSkillsConfigSchema.optional(),
@@ -371,6 +504,7 @@ export const ProfileEntrySchema = z
371
504
  cooldownSeconds: z.number().int().positive().optional(),
372
505
  retryOnStatusCodes: z.array(z.number().int()).optional(),
373
506
  retryOnPatterns: z.array(z.string()).optional(),
507
+ subagent429: ProfileSubagent429ConfigSchema.optional(),
374
508
  })
375
509
  .optional(),
376
510
  idleContinuation: z
@@ -384,11 +518,11 @@ export const ProfileEntrySchema = z
384
518
  rules: ProfileRulesConfigSchema.optional(),
385
519
  mcp: ProfileMcpConfigSchema.optional(),
386
520
  subagent: ProfileSubagentConfigSchema.optional(),
521
+ fastModels: ProfileFastModelsConfigSchema.optional(),
387
522
  registerBuiltinAgents: z.boolean().optional(),
388
523
  promptsRoot: z.string().optional(),
389
524
  debug: z.boolean().optional(),
390
- })
391
- .strict();
525
+ });
392
526
  export const IsolationModeSchema = z.enum(["none", "inline", "config-file", "config-dir", "xdg"]);
393
527
  export const ShimConfigSchema = z
394
528
  .object({
@@ -399,13 +533,12 @@ export const ShimConfigSchema = z
399
533
  keepOmo: z.boolean().optional(),
400
534
  noProviders: z.boolean().optional(),
401
535
  noPlugins: z.boolean().optional(),
402
- })
403
- .strict();
536
+ });
404
537
  export const OcmmConfigSchema = z
405
538
  .object({
406
539
  $schema: z.string().optional(),
407
540
  categories: z.record(z.string(), CategoryEntrySchema).optional(),
408
- agents: z.record(z.string(), AgentEntrySchema).optional(),
541
+ agents: AgentsConfigSchema.optional(),
409
542
  disabledAgents: z.array(z.union([AgentNameSchema, z.string()])).optional(),
410
543
  ...FeatureGateArrayFields,
411
544
  skills: SkillsConfigSchema,
@@ -426,6 +559,7 @@ export const OcmmConfigSchema = z
426
559
  rules: RulesConfigSchema,
427
560
  mcp: McpConfigSchema,
428
561
  subagent: SubagentConfigSchema,
562
+ fastModels: FastModelsConfigSchema,
429
563
  /** Named partial overlays selectable via `activeProfile` or OCMM_PROFILE. */
430
564
  profiles: z.record(z.string(), ProfileEntrySchema).default({}),
431
565
  /**
@@ -441,8 +575,7 @@ export const OcmmConfigSchema = z
441
575
  debug: z.boolean().default(false),
442
576
  /** Defaults for the `ocmm` shim binary. CLI flags override these. */
443
577
  shim: ShimConfigSchema.optional(),
444
- })
445
- .strict();
578
+ });
446
579
  export function defaultConfig() {
447
580
  return OcmmConfigSchema.parse({});
448
581
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAE3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;IAChC,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;CACX,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,qCAAqC,EAAE;IAC5C,OAAO,EAAE,sFAAsF;CAChG,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACrD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAA;AAElF,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IAC5D,WAAW,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC/C,CAAA;AAED,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7E,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACrD,CAAC;SACD,QAAQ,EAAE;IACb,eAAe,EAAE,CAAC;SACf,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SAClE,QAAQ,EAAE;CACd,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,2BAA2B;IAC3B,2BAA2B;IAC3B,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,0BAA0B;IAC1B,yBAAyB;IACzB,8BAA8B;IAC9B,iBAAiB;IACjB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;IACvB,2BAA2B;IAC3B,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,gCAAgC;CACxB,CAAA;AAMV,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAEzC,MAAM,WAAW,GAAG;IAClB,cAAc;IACd,SAAS;IACT,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,SAAS;IACT,WAAW;IACX,aAAa;IACb,cAAc;IACd,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,OAAO;IACP,QAAQ;IACR,aAAa;IACb,SAAS;IACT,MAAM;IACN,aAAa;CACL,CAAA;AAEV,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAE3C,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,mBAAmB;CACX,CAAA;AAEV,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AAE/C,MAAM,sBAAsB,GAAG;IAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACpG,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAA;AAED,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACZ,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;AAE5D,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,EAAE;IACnB,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7C,eAAe,EAAE;QACf,YAAY;QACZ,YAAY;QACZ,yBAAyB;QACzB,qBAAqB;QACrB,uBAAuB;QACvB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,WAAW;KACZ;IACD,WAAW,EAAE,wBAAwB,EAAE;CACxC,CAAC,CAAA;AAEF,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,KAAK;IACd,gBAAgB,EAAE,EAAE;CACrB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,KAAK;CACf,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,KAAK;IACd,mBAAmB,EAAE,KAAK;CAC3B,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAc;CACzB,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,yBAAyB,EAAE;IACtC,OAAO,EAAE,EAAE;CACZ,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC;IACrC,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;CACb,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;AAEjE,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACjF,OAAO,EAAE,6DAA6D;CACvE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvF,CAAC;KACD,MAAM,EAAE;KACR,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAEnC,MAAM,6BAA6B,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC,QAAQ,EAAE;CACtF,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjB,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;CACL,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC;KACD,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAE/B,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IACnD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,WAAW;IACX,CAAC;SACE,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,WAAW;KACrB,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,GAAG,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IAC3C,IAAI,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IAC5C,GAAG,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,MAAM,EAAE,CAAA;AAKX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,eAAe;IAClB,GAAG,mBAAmB;IACtB,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC,CAAA;AAEF,SAAS,0BAA0B,CAAC,KAAuC;IACzE,OAAO,KAAK,CAAC,WAAW,KAAK,SAAS;WACjC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;WAClE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAY,EACZ,MAAwD,EACxD,UAA+B,IAAI,GAAG,EAAE;IAExC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,0BAA0B,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,OAAO,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAErF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACnG,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,eAAe,GAAG,QAAQ,EAAE,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAA;QAC7F,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,6DAA6D;aACvE,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACrD,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;gBACxB,OAAO,EAAE,8EAA8E;aACxF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,+BAA+B,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;QAC5E,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACtH,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,iHAAiH;aAC3H,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzE,CAAC;KACD,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEpC,MAAM,8BAA8B,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CACxE,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,0FAA0F;IAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,4CAA4C;IAC5C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,8CAA8C;IAC9C,kBAAkB,EAAE,CAAC;SAClB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;SACvB,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,4EAA4E;IAC5E,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC;QACP,YAAY;QACZ,YAAY;QACZ,yBAAyB;QACzB,qBAAqB;QACrB,uBAAuB;QACvB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,WAAW;KACZ,CAAC;IACJ,WAAW,EAAE,uBAAuB;CACrC,CAAC;KACD,OAAO,CAAC,4BAA4B,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,OAAO,CAAC,6BAA6B,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpC,CAAC;KACD,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAEjC,MAAM,2BAA2B,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAChD,CAAC;KACD,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE9B,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAA;AAEJ,MAAM,0BAA0B,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAA;AAEJ,MAAM,2BAA2B,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAChE,0BAA0B;IAC1B,2BAA2B;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KACnD,CAAC;SACD,OAAO,CAAC,yBAAyB,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACjE,CAAC;KACD,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;KACD,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAEjC,MAAM,2BAA2B,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAA;AAEJ,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC/C,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAA;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,GAAG,sBAAsB;IACzB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE;IACb,0EAA0E;IAC1E,qEAAqE;IACrE,uEAAuE;IACvE,eAAe,EAAE,CAAC;SACf,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACnD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACvD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE;KACvD,CAAC;SACD,QAAQ,EAAE;IACb,gBAAgB,EAAE,CAAC;SAChB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IAChD,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC1C,GAAG,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,6BAA6B,CAAC,QAAQ,EAAE;IACpD,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAKJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,GAAG,sBAAsB;IACzB,MAAM,EAAE,kBAAkB;IAC1B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnC,qJAAqJ;IACrJ,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAC5C,CAAC;SACD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7C,eAAe,EAAE,2BAA2B;IAC5C,gBAAgB,EAAE,4BAA4B;IAC9C,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,oBAAoB;IAC9B,UAAU,EAAE,sBAAsB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACxE,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,qEAAqE;IACrE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAoBJ,MAAM,UAAU,aAAa;IAC3B,OAAO,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { ZodType } from "zod";
2
+ type Issue = {
3
+ path: readonly PropertyKey[];
4
+ code?: string;
5
+ errors?: readonly (readonly Issue[])[];
6
+ };
7
+ export type TolerantParseLayer = {
8
+ value: unknown;
9
+ profileOverlay?: boolean;
10
+ };
11
+ export type TolerantParseResult<T> = {
12
+ success: true;
13
+ data: T;
14
+ } | {
15
+ success: false;
16
+ issues: readonly Issue[];
17
+ };
18
+ export type TolerantParseLayersResult<T> = {
19
+ success: true;
20
+ data: T;
21
+ layers: TolerantParseLayer[];
22
+ } | {
23
+ success: false;
24
+ issues: readonly Issue[];
25
+ };
26
+ /**
27
+ * Parse a JSON-object-like config value while retaining valid siblings.
28
+ *
29
+ * Each retry removes the deepest invalid field or array element identified
30
+ * by Zod. If that terminal field was already removed, the closest surviving
31
+ * parent entry is removed instead. Zod applies defaults on the successful
32
+ * parse after the invalid input has been discarded.
33
+ */
34
+ export declare function tolerantParse<T>(schema: ZodType<T>, value: unknown): TolerantParseResult<T>;
35
+ /**
36
+ * Parse layered config inputs without letting an invalid override erase a
37
+ * valid lower-priority value. The merge callback is invoked again after every
38
+ * removal, so each discarded value behaves exactly as if its layer omitted it.
39
+ */
40
+ export declare function tolerantParseLayers<T>(schema: ZodType<T>, layers: readonly TolerantParseLayer[], merge: (layers: readonly TolerantParseLayer[]) => unknown): TolerantParseLayersResult<T>;
41
+ export {};
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Parse a JSON-object-like config value while retaining valid siblings.
3
+ *
4
+ * Each retry removes the deepest invalid field or array element identified
5
+ * by Zod. If that terminal field was already removed, the closest surviving
6
+ * parent entry is removed instead. Zod applies defaults on the successful
7
+ * parse after the invalid input has been discarded.
8
+ */
9
+ export function tolerantParse(schema, value) {
10
+ let result = schema.safeParse(value);
11
+ if (result.success)
12
+ return result;
13
+ if (!isPlainObject(value))
14
+ return { success: false, issues: result.error.issues };
15
+ const candidate = cloneValue(value);
16
+ while (!result.success) {
17
+ if (!discardIssues([candidate], result.error.issues)) {
18
+ return { success: false, issues: result.error.issues };
19
+ }
20
+ result = schema.safeParse(candidate);
21
+ }
22
+ return result;
23
+ }
24
+ /**
25
+ * Parse layered config inputs without letting an invalid override erase a
26
+ * valid lower-priority value. The merge callback is invoked again after every
27
+ * removal, so each discarded value behaves exactly as if its layer omitted it.
28
+ */
29
+ export function tolerantParseLayers(schema, layers, merge) {
30
+ const candidates = layers.map((layer) => ({ ...layer, value: cloneValue(layer.value) }));
31
+ let result = schema.safeParse(merge(candidates));
32
+ while (!result.success) {
33
+ if (discardIssues(candidates.map(({ value }) => value), result.error.issues)) {
34
+ result = schema.safeParse(merge(candidates));
35
+ continue;
36
+ }
37
+ if (!hasRootIssue(result.error.issues) || !clearHighestPriorityLayer(candidates)) {
38
+ return { success: false, issues: result.error.issues };
39
+ }
40
+ result = schema.safeParse(merge(candidates));
41
+ }
42
+ return { success: true, data: result.data, layers: candidates };
43
+ }
44
+ function isPlainObject(value) {
45
+ return typeof value === "object" && value !== null && !Array.isArray(value);
46
+ }
47
+ function cloneValue(value) {
48
+ if (Array.isArray(value))
49
+ return value.map(cloneValue);
50
+ if (!isPlainObject(value))
51
+ return value;
52
+ return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, cloneValue(child)]));
53
+ }
54
+ function discardIssues(values, issues) {
55
+ const paths = issues
56
+ .flatMap((issue) => issuePaths(issue))
57
+ .sort((left, right) => right.length - left.length);
58
+ for (const path of paths) {
59
+ for (let index = values.length - 1; index >= 0; index--) {
60
+ if (discardAtPath(values[index], path))
61
+ return true;
62
+ }
63
+ }
64
+ let fallback;
65
+ for (const path of paths) {
66
+ for (let length = path.length - 1; length > 0; length--) {
67
+ const parentPath = path.slice(0, length);
68
+ for (let index = values.length - 1; index >= 0; index--) {
69
+ if (!canDiscardAtPath(values[index], parentPath))
70
+ continue;
71
+ if (!fallback
72
+ || parentPath.length > fallback.path.length
73
+ || (parentPath.length === fallback.path.length && index > fallback.layer)) {
74
+ fallback = { value: values[index], path: parentPath, layer: index };
75
+ }
76
+ }
77
+ }
78
+ }
79
+ if (fallback)
80
+ return discardAtPath(fallback.value, fallback.path);
81
+ return false;
82
+ }
83
+ function hasRootIssue(issues) {
84
+ return issues.some((issue) => issue.path.length === 0);
85
+ }
86
+ function clearHighestPriorityLayer(layers) {
87
+ for (let index = layers.length - 1; index >= 0; index--) {
88
+ if (isEmptyLayer(layers[index].value))
89
+ continue;
90
+ layers[index].value = undefined;
91
+ return true;
92
+ }
93
+ return false;
94
+ }
95
+ function isEmptyLayer(value) {
96
+ if (value === undefined)
97
+ return true;
98
+ return isPlainObject(value) && Object.keys(value).length === 0;
99
+ }
100
+ function isPathSegment(segment) {
101
+ return typeof segment === "string" || typeof segment === "number";
102
+ }
103
+ function issuePaths(issue, prefix = []) {
104
+ const path = asPath(issue.path);
105
+ if (!path)
106
+ return [];
107
+ const fullPath = [...prefix, ...path];
108
+ if (issue.code === "invalid_union" && issue.errors) {
109
+ const nested = issue.errors.flatMap((branch) => branch.flatMap((child) => issuePaths(child, fullPath)));
110
+ if (nested.length > 0)
111
+ return nested;
112
+ }
113
+ return [fullPath];
114
+ }
115
+ function asPath(path) {
116
+ if (!path.every(isPathSegment))
117
+ return undefined;
118
+ return path;
119
+ }
120
+ function canDiscardAtPath(value, path) {
121
+ return parentAtPath(value, path) !== undefined;
122
+ }
123
+ function discardAtPath(value, path) {
124
+ const parentAndTarget = parentAtPath(value, path);
125
+ if (!parentAndTarget)
126
+ return false;
127
+ if (typeof parentAndTarget.target === "number") {
128
+ const parent = parentAndTarget.parent;
129
+ parent.splice(parentAndTarget.target, 1);
130
+ return true;
131
+ }
132
+ delete parentAndTarget.parent[parentAndTarget.target];
133
+ return true;
134
+ }
135
+ function parentAtPath(value, path) {
136
+ const target = path.at(-1);
137
+ if (target === undefined)
138
+ return undefined;
139
+ let parent = value;
140
+ for (const segment of path.slice(0, -1)) {
141
+ parent = getChild(parent, segment);
142
+ if (parent === undefined)
143
+ return undefined;
144
+ }
145
+ if (Array.isArray(parent)) {
146
+ if (typeof target !== "number" || !Number.isInteger(target) || target < 0 || target >= parent.length)
147
+ return undefined;
148
+ return { parent, target };
149
+ }
150
+ if (!isPlainObject(parent) || !Object.hasOwn(parent, String(target)))
151
+ return undefined;
152
+ return { parent, target: String(target) };
153
+ }
154
+ function getChild(value, segment) {
155
+ if (Array.isArray(value)) {
156
+ if (typeof segment !== "number" || !Number.isInteger(segment) || segment < 0 || segment >= value.length)
157
+ return undefined;
158
+ return value[segment];
159
+ }
160
+ if (!isPlainObject(value) || !Object.hasOwn(value, String(segment)))
161
+ return undefined;
162
+ return value[String(segment)];
163
+ }
164
+ //# sourceMappingURL=tolerant-parse.js.map