@uluops/core 0.8.2 → 0.10.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 (136) hide show
  1. package/README.md +84 -25
  2. package/dist/ai/AIProvider.d.ts.map +1 -1
  3. package/dist/ai/AIProvider.js +28 -12
  4. package/dist/ai/AIProvider.js.map +1 -1
  5. package/dist/ai/ModelCatalog.js +2 -2
  6. package/dist/ai/ModelCatalog.js.map +1 -1
  7. package/dist/ai/ToolAdapter.d.ts.map +1 -1
  8. package/dist/ai/ToolAdapter.js +16 -27
  9. package/dist/ai/ToolAdapter.js.map +1 -1
  10. package/dist/ai/{ShellExecutor.d.ts.map → shellExecutor.d.ts.map} +1 -1
  11. package/dist/ai/{ShellExecutor.js → shellExecutor.js} +3 -2
  12. package/dist/ai/{ShellExecutor.js.map → shellExecutor.js.map} +1 -1
  13. package/dist/analysis/AnalysisSummaryExtractor.d.ts +135 -0
  14. package/dist/analysis/AnalysisSummaryExtractor.d.ts.map +1 -0
  15. package/dist/analysis/AnalysisSummaryExtractor.js +465 -0
  16. package/dist/analysis/AnalysisSummaryExtractor.js.map +1 -0
  17. package/dist/analysis/index.d.ts +2 -0
  18. package/dist/analysis/index.d.ts.map +1 -0
  19. package/dist/analysis/index.js +2 -0
  20. package/dist/analysis/index.js.map +1 -0
  21. package/dist/client/UluOpsClient.d.ts +12 -9
  22. package/dist/client/UluOpsClient.d.ts.map +1 -1
  23. package/dist/client/UluOpsClient.js +76 -47
  24. package/dist/client/UluOpsClient.js.map +1 -1
  25. package/dist/constants.d.ts +4 -3
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +13 -3
  28. package/dist/constants.js.map +1 -1
  29. package/dist/errors/index.d.ts +38 -8
  30. package/dist/errors/index.d.ts.map +1 -1
  31. package/dist/errors/index.js +52 -7
  32. package/dist/errors/index.js.map +1 -1
  33. package/dist/executor/AgentExecutor.d.ts +2 -0
  34. package/dist/executor/AgentExecutor.d.ts.map +1 -1
  35. package/dist/executor/AgentExecutor.js +33 -16
  36. package/dist/executor/AgentExecutor.js.map +1 -1
  37. package/dist/executor/CommandExecutor.d.ts +3 -1
  38. package/dist/executor/CommandExecutor.d.ts.map +1 -1
  39. package/dist/executor/CommandExecutor.js +17 -39
  40. package/dist/executor/CommandExecutor.js.map +1 -1
  41. package/dist/executor/PipelineExecutor.d.ts +12 -4
  42. package/dist/executor/PipelineExecutor.d.ts.map +1 -1
  43. package/dist/executor/PipelineExecutor.js +127 -23
  44. package/dist/executor/PipelineExecutor.js.map +1 -1
  45. package/dist/executor/ToolHandler.d.ts +5 -0
  46. package/dist/executor/ToolHandler.d.ts.map +1 -1
  47. package/dist/executor/ToolHandler.js +23 -14
  48. package/dist/executor/ToolHandler.js.map +1 -1
  49. package/dist/executor/WorkflowExecutor.d.ts +18 -2
  50. package/dist/executor/WorkflowExecutor.d.ts.map +1 -1
  51. package/dist/executor/WorkflowExecutor.js +107 -37
  52. package/dist/executor/WorkflowExecutor.js.map +1 -1
  53. package/dist/executor/classifyDecision.d.ts +2 -1
  54. package/dist/executor/classifyDecision.d.ts.map +1 -1
  55. package/dist/executor/classifyDecision.js +4 -2
  56. package/dist/executor/classifyDecision.js.map +1 -1
  57. package/dist/executor/mapCategory.d.ts +5 -0
  58. package/dist/executor/mapCategory.d.ts.map +1 -0
  59. package/dist/executor/mapCategory.js +5 -0
  60. package/dist/executor/mapCategory.js.map +1 -0
  61. package/dist/executor/preflight.d.ts.map +1 -1
  62. package/dist/executor/preflight.js +53 -12
  63. package/dist/executor/preflight.js.map +1 -1
  64. package/dist/index.d.ts +6 -5
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +5 -3
  67. package/dist/index.js.map +1 -1
  68. package/dist/parser/OutputExtractor.d.ts +7 -25
  69. package/dist/parser/OutputExtractor.d.ts.map +1 -1
  70. package/dist/parser/OutputExtractor.js +23 -528
  71. package/dist/parser/OutputExtractor.js.map +1 -1
  72. package/dist/parser/OutputNormalizer.d.ts +45 -0
  73. package/dist/parser/OutputNormalizer.d.ts.map +1 -0
  74. package/dist/parser/OutputNormalizer.js +572 -0
  75. package/dist/parser/OutputNormalizer.js.map +1 -0
  76. package/dist/parser/outputSchemas.d.ts +266 -36
  77. package/dist/parser/outputSchemas.d.ts.map +1 -1
  78. package/dist/parser/outputSchemas.js +109 -0
  79. package/dist/parser/outputSchemas.js.map +1 -1
  80. package/dist/registry/RegistryClient.d.ts +9 -7
  81. package/dist/registry/RegistryClient.d.ts.map +1 -1
  82. package/dist/registry/RegistryClient.js +82 -51
  83. package/dist/registry/RegistryClient.js.map +1 -1
  84. package/dist/submission/SubmissionClient.d.ts +81 -0
  85. package/dist/submission/SubmissionClient.d.ts.map +1 -0
  86. package/dist/submission/SubmissionClient.js +266 -0
  87. package/dist/submission/SubmissionClient.js.map +1 -0
  88. package/dist/types/agent.d.ts +13 -1
  89. package/dist/types/agent.d.ts.map +1 -1
  90. package/dist/types/command.d.ts +1 -1
  91. package/dist/types/command.d.ts.map +1 -1
  92. package/dist/types/config.d.ts +21 -7
  93. package/dist/types/config.d.ts.map +1 -1
  94. package/dist/types/execution.d.ts +7 -0
  95. package/dist/types/execution.d.ts.map +1 -1
  96. package/dist/types/index.d.ts +1 -1
  97. package/dist/types/pipeline.d.ts +18 -6
  98. package/dist/types/pipeline.d.ts.map +1 -1
  99. package/dist/types/registry.d.ts +11 -4
  100. package/dist/types/registry.d.ts.map +1 -1
  101. package/dist/types/submission.d.ts +116 -0
  102. package/dist/types/submission.d.ts.map +1 -0
  103. package/dist/types/submission.js +2 -0
  104. package/dist/types/submission.js.map +1 -0
  105. package/dist/types/validation.d.ts +4 -0
  106. package/dist/types/validation.d.ts.map +1 -1
  107. package/dist/types/workflow.d.ts +7 -1
  108. package/dist/types/workflow.d.ts.map +1 -1
  109. package/dist/utils/aggregateScores.d.ts +26 -0
  110. package/dist/utils/aggregateScores.d.ts.map +1 -0
  111. package/dist/utils/aggregateScores.js +45 -0
  112. package/dist/utils/aggregateScores.js.map +1 -0
  113. package/dist/utils/parseRef.d.ts.map +1 -1
  114. package/dist/utils/parseRef.js +3 -1
  115. package/dist/utils/parseRef.js.map +1 -1
  116. package/dist/utils/topoSort.d.ts.map +1 -1
  117. package/dist/utils/topoSort.js +5 -2
  118. package/dist/utils/topoSort.js.map +1 -1
  119. package/dist/validation/ValidationClient.d.ts +30 -0
  120. package/dist/validation/ValidationClient.d.ts.map +1 -1
  121. package/dist/validation/ValidationClient.js +106 -18
  122. package/dist/validation/ValidationClient.js.map +1 -1
  123. package/package.json +6 -6
  124. package/dist/ai/index.d.ts +0 -6
  125. package/dist/ai/index.d.ts.map +0 -1
  126. package/dist/ai/index.js +0 -4
  127. package/dist/ai/index.js.map +0 -1
  128. package/dist/registry/index.d.ts +0 -2
  129. package/dist/registry/index.d.ts.map +0 -1
  130. package/dist/registry/index.js +0 -2
  131. package/dist/registry/index.js.map +0 -1
  132. package/dist/validation/index.d.ts +0 -2
  133. package/dist/validation/index.d.ts.map +0 -1
  134. package/dist/validation/index.js +0 -2
  135. package/dist/validation/index.js.map +0 -1
  136. /package/dist/ai/{ShellExecutor.d.ts → shellExecutor.d.ts} +0 -0
@@ -17,20 +17,20 @@ declare const issueSchema: z.ZodObject<{
17
17
  failureCode: z.ZodNullable<z.ZodString>;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  description: string | null;
20
+ priority: "critical" | "suggested" | "backlog" | null;
21
+ filePath: string | null;
22
+ lineNumber: number | null;
20
23
  title: string;
21
24
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
22
- filePath: string | null;
23
25
  failureCode: string | null;
24
- priority: "critical" | "suggested" | "backlog" | null;
25
- lineNumber: number | null;
26
26
  }, {
27
27
  description: string | null;
28
+ priority: "critical" | "suggested" | "backlog" | null;
29
+ filePath: string | null;
30
+ lineNumber: number | null;
28
31
  title: string;
29
32
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
30
- filePath: string | null;
31
33
  failureCode: string | null;
32
- priority: "critical" | "suggested" | "backlog" | null;
33
- lineNumber: number | null;
34
34
  }>;
35
35
  /**
36
36
  * Universal agent output schema — used by all 6 agent types.
@@ -41,6 +41,14 @@ declare const issueSchema: z.ZodObject<{
41
41
  *
42
42
  * Categories and artifacts are both nullable — validators and analysts
43
43
  * produce categories; executors produce artifacts; some agents produce both.
44
+ *
45
+ * DESIGN TRADE-OFF (2026-04-16): one universal schema is intentionally lossy.
46
+ * It erases distinctions between agent families (a validator's score categories
47
+ * vs an executor's task artifacts vs a forecaster's scenario analysis) in
48
+ * exchange for a uniform pipeline. The alternative — per-agentType schemas —
49
+ * would be more faithful but would fork the extraction, tracking, and
50
+ * aggregation paths. The loss is acceptable because downstream processing
51
+ * (tracker, analytics, RAH) already branches on agentType when it matters.
44
52
  */
45
53
  export declare const agentOutputSchema: z.ZodObject<{
46
54
  decision: z.ZodString;
@@ -65,30 +73,30 @@ export declare const agentOutputSchema: z.ZodObject<{
65
73
  failureCode: z.ZodNullable<z.ZodString>;
66
74
  }, "strip", z.ZodTypeAny, {
67
75
  description: string | null;
76
+ priority: "critical" | "suggested" | "backlog" | null;
77
+ filePath: string | null;
78
+ lineNumber: number | null;
68
79
  title: string;
69
80
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
70
- filePath: string | null;
71
81
  failureCode: string | null;
72
- priority: "critical" | "suggested" | "backlog" | null;
73
- lineNumber: number | null;
74
82
  }, {
75
83
  description: string | null;
84
+ priority: "critical" | "suggested" | "backlog" | null;
85
+ filePath: string | null;
86
+ lineNumber: number | null;
76
87
  title: string;
77
88
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
78
- filePath: string | null;
79
89
  failureCode: string | null;
80
- priority: "critical" | "suggested" | "backlog" | null;
81
- lineNumber: number | null;
82
90
  }>, "many">;
83
91
  }, "strip", z.ZodTypeAny, {
84
92
  issues: {
85
93
  description: string | null;
94
+ priority: "critical" | "suggested" | "backlog" | null;
95
+ filePath: string | null;
96
+ lineNumber: number | null;
86
97
  title: string;
87
98
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
88
- filePath: string | null;
89
99
  failureCode: string | null;
90
- priority: "critical" | "suggested" | "backlog" | null;
91
- lineNumber: number | null;
92
100
  }[];
93
101
  criterion: string;
94
102
  pointsEarned: number;
@@ -96,12 +104,12 @@ export declare const agentOutputSchema: z.ZodObject<{
96
104
  }, {
97
105
  issues: {
98
106
  description: string | null;
107
+ priority: "critical" | "suggested" | "backlog" | null;
108
+ filePath: string | null;
109
+ lineNumber: number | null;
99
110
  title: string;
100
111
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
101
- filePath: string | null;
102
112
  failureCode: string | null;
103
- priority: "critical" | "suggested" | "backlog" | null;
104
- lineNumber: number | null;
105
113
  }[];
106
114
  criterion: string;
107
115
  pointsEarned: number;
@@ -110,39 +118,39 @@ export declare const agentOutputSchema: z.ZodObject<{
110
118
  }, "strip", z.ZodTypeAny, {
111
119
  name: string;
112
120
  maxScore: number;
113
- score: number;
114
121
  findings: {
115
122
  issues: {
116
123
  description: string | null;
124
+ priority: "critical" | "suggested" | "backlog" | null;
125
+ filePath: string | null;
126
+ lineNumber: number | null;
117
127
  title: string;
118
128
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
119
- filePath: string | null;
120
129
  failureCode: string | null;
121
- priority: "critical" | "suggested" | "backlog" | null;
122
- lineNumber: number | null;
123
130
  }[];
124
131
  criterion: string;
125
132
  pointsEarned: number;
126
133
  pointsPossible: number;
127
134
  }[];
135
+ score: number;
128
136
  }, {
129
137
  name: string;
130
138
  maxScore: number;
131
- score: number;
132
139
  findings: {
133
140
  issues: {
134
141
  description: string | null;
142
+ priority: "critical" | "suggested" | "backlog" | null;
143
+ filePath: string | null;
144
+ lineNumber: number | null;
135
145
  title: string;
136
146
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
137
- filePath: string | null;
138
147
  failureCode: string | null;
139
- priority: "critical" | "suggested" | "backlog" | null;
140
- lineNumber: number | null;
141
148
  }[];
142
149
  criterion: string;
143
150
  pointsEarned: number;
144
151
  pointsPossible: number;
145
152
  }[];
153
+ score: number;
146
154
  }>, "many">>;
147
155
  artifacts: z.ZodNullable<z.ZodArray<z.ZodObject<{
148
156
  type: z.ZodString;
@@ -157,30 +165,208 @@ export declare const agentOutputSchema: z.ZodObject<{
157
165
  type: string;
158
166
  path: string | null;
159
167
  }>, "many">>;
168
+ explorationMaps: z.ZodNullable<z.ZodArray<z.ZodObject<{
169
+ metadata: z.ZodObject<{
170
+ explorerName: z.ZodString;
171
+ framework: z.ZodString;
172
+ artifactPath: z.ZodNullable<z.ZodString>;
173
+ }, "strip", z.ZodTypeAny, {
174
+ explorerName: string;
175
+ framework: string;
176
+ artifactPath: string | null;
177
+ }, {
178
+ explorerName: string;
179
+ framework: string;
180
+ artifactPath: string | null;
181
+ }>;
182
+ sections: z.ZodArray<z.ZodObject<{
183
+ type: z.ZodEnum<["inventory", "topology", "landscape", "classification", "mapping", "synthesis", "limitation", "agenda"]>;
184
+ label: z.ZodString;
185
+ summary: z.ZodNullable<z.ZodString>;
186
+ entries: z.ZodArray<z.ZodObject<{
187
+ key: z.ZodString;
188
+ value: z.ZodString;
189
+ }, "strip", z.ZodTypeAny, {
190
+ key: string;
191
+ value: string;
192
+ }, {
193
+ key: string;
194
+ value: string;
195
+ }>, "many">;
196
+ }, "strip", z.ZodTypeAny, {
197
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
198
+ entries: {
199
+ key: string;
200
+ value: string;
201
+ }[];
202
+ label: string;
203
+ summary: string | null;
204
+ }, {
205
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
206
+ entries: {
207
+ key: string;
208
+ value: string;
209
+ }[];
210
+ label: string;
211
+ summary: string | null;
212
+ }>, "many">;
213
+ }, "strip", z.ZodTypeAny, {
214
+ metadata: {
215
+ explorerName: string;
216
+ framework: string;
217
+ artifactPath: string | null;
218
+ };
219
+ sections: {
220
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
221
+ entries: {
222
+ key: string;
223
+ value: string;
224
+ }[];
225
+ label: string;
226
+ summary: string | null;
227
+ }[];
228
+ }, {
229
+ metadata: {
230
+ explorerName: string;
231
+ framework: string;
232
+ artifactPath: string | null;
233
+ };
234
+ sections: {
235
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
236
+ entries: {
237
+ key: string;
238
+ value: string;
239
+ }[];
240
+ label: string;
241
+ summary: string | null;
242
+ }[];
243
+ }>, "many">>;
244
+ epistemicAssessment: z.ZodNullable<z.ZodObject<{
245
+ confidence: z.ZodEnum<["high", "medium", "low"]>;
246
+ groundingRatio: z.ZodNullable<z.ZodNumber>;
247
+ keyUncertainties: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
248
+ methodology: z.ZodNullable<z.ZodString>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ confidence: "high" | "medium" | "low";
251
+ groundingRatio: number | null;
252
+ keyUncertainties: string[] | null;
253
+ methodology: string | null;
254
+ }, {
255
+ confidence: "high" | "medium" | "low";
256
+ groundingRatio: number | null;
257
+ keyUncertainties: string[] | null;
258
+ methodology: string | null;
259
+ }>>;
260
+ auditImplications: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
261
+ analysisRecords: z.ZodNullable<z.ZodArray<z.ZodObject<{
262
+ recordType: z.ZodString;
263
+ recordId: z.ZodString;
264
+ title: z.ZodString;
265
+ classification: z.ZodNullable<z.ZodString>;
266
+ severity: z.ZodNullable<z.ZodString>;
267
+ data: z.ZodArray<z.ZodObject<{
268
+ key: z.ZodString;
269
+ value: z.ZodString;
270
+ }, "strip", z.ZodTypeAny, {
271
+ key: string;
272
+ value: string;
273
+ }, {
274
+ key: string;
275
+ value: string;
276
+ }>, "many">;
277
+ }, "strip", z.ZodTypeAny, {
278
+ classification: string | null;
279
+ recordType: string;
280
+ recordId: string;
281
+ title: string;
282
+ severity: string | null;
283
+ data: {
284
+ key: string;
285
+ value: string;
286
+ }[];
287
+ }, {
288
+ classification: string | null;
289
+ recordType: string;
290
+ recordId: string;
291
+ title: string;
292
+ severity: string | null;
293
+ data: {
294
+ key: string;
295
+ value: string;
296
+ }[];
297
+ }>, "many">>;
298
+ domainMetrics: z.ZodNullable<z.ZodArray<z.ZodObject<{
299
+ key: z.ZodString;
300
+ value: z.ZodString;
301
+ }, "strip", z.ZodTypeAny, {
302
+ key: string;
303
+ value: string;
304
+ }, {
305
+ key: string;
306
+ value: string;
307
+ }>, "many">>;
160
308
  }, "strip", z.ZodTypeAny, {
161
309
  maxScore: number;
162
310
  categories: {
163
311
  name: string;
164
312
  maxScore: number;
165
- score: number;
166
313
  findings: {
167
314
  issues: {
168
315
  description: string | null;
316
+ priority: "critical" | "suggested" | "backlog" | null;
317
+ filePath: string | null;
318
+ lineNumber: number | null;
169
319
  title: string;
170
320
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
171
- filePath: string | null;
172
321
  failureCode: string | null;
173
- priority: "critical" | "suggested" | "backlog" | null;
174
- lineNumber: number | null;
175
322
  }[];
176
323
  criterion: string;
177
324
  pointsEarned: number;
178
325
  pointsPossible: number;
179
326
  }[];
327
+ score: number;
328
+ }[] | null;
329
+ domainMetrics: {
330
+ key: string;
331
+ value: string;
332
+ }[] | null;
333
+ epistemicAssessment: {
334
+ confidence: "high" | "medium" | "low";
335
+ groundingRatio: number | null;
336
+ keyUncertainties: string[] | null;
337
+ methodology: string | null;
338
+ } | null;
339
+ auditImplications: string[] | null;
340
+ explorationMaps: {
341
+ metadata: {
342
+ explorerName: string;
343
+ framework: string;
344
+ artifactPath: string | null;
345
+ };
346
+ sections: {
347
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
348
+ entries: {
349
+ key: string;
350
+ value: string;
351
+ }[];
352
+ label: string;
353
+ summary: string | null;
354
+ }[];
355
+ }[] | null;
356
+ summary: string | null;
357
+ analysisRecords: {
358
+ classification: string | null;
359
+ recordType: string;
360
+ recordId: string;
361
+ title: string;
362
+ severity: string | null;
363
+ data: {
364
+ key: string;
365
+ value: string;
366
+ }[];
180
367
  }[] | null;
181
368
  decision: string;
182
369
  score: number;
183
- summary: string | null;
184
370
  artifacts: {
185
371
  content: string | null;
186
372
  type: string;
@@ -191,25 +377,63 @@ export declare const agentOutputSchema: z.ZodObject<{
191
377
  categories: {
192
378
  name: string;
193
379
  maxScore: number;
194
- score: number;
195
380
  findings: {
196
381
  issues: {
197
382
  description: string | null;
383
+ priority: "critical" | "suggested" | "backlog" | null;
384
+ filePath: string | null;
385
+ lineNumber: number | null;
198
386
  title: string;
199
387
  severity: "critical" | "high" | "medium" | "low" | "info" | null;
200
- filePath: string | null;
201
388
  failureCode: string | null;
202
- priority: "critical" | "suggested" | "backlog" | null;
203
- lineNumber: number | null;
204
389
  }[];
205
390
  criterion: string;
206
391
  pointsEarned: number;
207
392
  pointsPossible: number;
208
393
  }[];
394
+ score: number;
395
+ }[] | null;
396
+ domainMetrics: {
397
+ key: string;
398
+ value: string;
399
+ }[] | null;
400
+ epistemicAssessment: {
401
+ confidence: "high" | "medium" | "low";
402
+ groundingRatio: number | null;
403
+ keyUncertainties: string[] | null;
404
+ methodology: string | null;
405
+ } | null;
406
+ auditImplications: string[] | null;
407
+ explorationMaps: {
408
+ metadata: {
409
+ explorerName: string;
410
+ framework: string;
411
+ artifactPath: string | null;
412
+ };
413
+ sections: {
414
+ type: "inventory" | "topology" | "landscape" | "classification" | "mapping" | "synthesis" | "limitation" | "agenda";
415
+ entries: {
416
+ key: string;
417
+ value: string;
418
+ }[];
419
+ label: string;
420
+ summary: string | null;
421
+ }[];
422
+ }[] | null;
423
+ summary: string | null;
424
+ analysisRecords: {
425
+ classification: string | null;
426
+ recordType: string;
427
+ recordId: string;
428
+ title: string;
429
+ severity: string | null;
430
+ data: {
431
+ key: string;
432
+ value: string;
433
+ }[];
209
434
  }[] | null;
210
435
  decision: string;
211
436
  score: number;
212
- summary: string | null;
213
437
  artifacts: {
214
438
  content: string | null;
215
439
  type: string;
@@ -223,6 +447,12 @@ export declare const agentOutputSchema: z.ZodObject<{
223
447
  *
224
448
  * Note: Zod uses nullable (T | null), Issue uses optional (T | undefined).
225
449
  * The null→undefined mapping happens in mapStructuredOutput/OutputExtractor.
450
+ *
451
+ * LOAD-BEARING TRIAD (2026-04-16): this check, the Issue type in command.ts,
452
+ * and AgentExecutor.flattenRecommendations() form a tight coupling triangle.
453
+ * A field change to any one silently alters recommendation shape across all
454
+ * agents. This compile-time guard catches field additions but not semantic
455
+ * drift (e.g., changing what a field means without changing its name).
226
456
  */
227
457
  type ZodIssue = z.infer<typeof issueSchema>;
228
458
  export type _AssertIssueFieldsCovered = {
@@ -1 +1 @@
1
- {"version":3,"file":"outputSchemas.d.ts","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAUf,CAAC;AA0BH;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa5B,CAAC;AAEH;;;;;;;GAOG;AACH,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAC5C,MAAM,MAAM,yBAAyB,GAAG;KACrC,CAAC,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK;CACtE,CAAC"}
1
+ {"version":3,"file":"outputSchemas.d.ts","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAUf,CAAC;AA6HH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB5B,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAC5C,MAAM,MAAM,yBAAyB,GAAG;KACrC,CAAC,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK;CACtE,CAAC"}
@@ -39,6 +39,97 @@ const artifactSchema = z.object({
39
39
  path: z.string().nullable().describe('File path if applicable'),
40
40
  content: z.string().nullable().describe('Artifact content'),
41
41
  });
42
+ // ─────────────────────────────────────────────────────────────────────────────
43
+ // Analysis Extension Schemas
44
+ //
45
+ // These fields extend the universal output schema to capture structured
46
+ // analytical output from cognitive lens, explorer, and forecaster agents.
47
+ // Validators and executors leave these null. The AnalysisSummaryExtractor
48
+ // reads them from rawJson at submission time.
49
+ // ─────────────────────────────────────────────────────────────────────────────
50
+ /**
51
+ * Key-value entry for exploration section data.
52
+ *
53
+ * OpenAI strict mode rejects z.record(z.string(), z.unknown()) because
54
+ * additionalProperties needs a type key. Array of {key, value} entries
55
+ * is the compatible alternative that preserves arbitrary structured data.
56
+ */
57
+ const explorationEntrySchema = z.object({
58
+ key: z.string().describe('Entry identifier'),
59
+ value: z.string().describe('Entry content (JSON-stringified if complex)'),
60
+ });
61
+ /**
62
+ * Exploration map section — typed structural output from explorer agents.
63
+ *
64
+ * Uses a simplified schema (type + label + entries) compatible with
65
+ * OpenAI strict structured output. The AnalysisSummaryExtractor
66
+ * reshapes entries back into typed section objects downstream.
67
+ */
68
+ const explorationSectionSchema = z.object({
69
+ type: z.enum(['inventory', 'topology', 'landscape', 'classification', 'mapping', 'synthesis', 'limitation', 'agenda'])
70
+ .describe('Section type: inventory (items), topology (entities+relationships), landscape (findings across dimensions), classification (hierarchy), mapping (source→target), synthesis (patterns), limitation (blind spots), agenda (inquiry questions)'),
71
+ label: z.string().describe('Human-readable section title'),
72
+ summary: z.string().nullable().describe('Brief section summary'),
73
+ entries: z.array(explorationEntrySchema)
74
+ .describe('Section data as key-value entries. Keys vary by type — inventory: item names; topology: entity/relationship names; landscape: dimension names; agenda: question identifiers. Values contain the structured content.'),
75
+ });
76
+ /**
77
+ * Structural mapping produced by explorer-class agents.
78
+ */
79
+ const explorationMapSchema = z.object({
80
+ metadata: z.object({
81
+ explorerName: z.string().describe('Name of the explorer agent'),
82
+ framework: z.string().describe('Analytical framework used (e.g., "logical-levels", "reductive-decomposition")'),
83
+ artifactPath: z.string().nullable().describe('Path to the artifact being explored'),
84
+ }),
85
+ sections: z.array(explorationSectionSchema).describe('Typed structural sections of the exploration'),
86
+ });
87
+ /**
88
+ * Epistemic assessment — confidence and grounding analysis from cognitive lens agents.
89
+ */
90
+ const epistemicAssessmentSchema = z.object({
91
+ confidence: z.enum(['high', 'medium', 'low']).describe('Overall confidence in the analysis'),
92
+ groundingRatio: z.number().nullable().describe('Ratio of grounded claims to total claims (0-1)'),
93
+ keyUncertainties: z.array(z.string()).nullable().describe('Major sources of uncertainty in the analysis'),
94
+ methodology: z.string().nullable().describe('Analytical methodology applied'),
95
+ });
96
+ /**
97
+ * Audit implication — forward-looking projection from forecaster/analyst agents.
98
+ */
99
+ const auditImplicationSchema = z.string()
100
+ .describe('A forward-looking implication or trajectory projection from the analysis');
101
+ /**
102
+ * Analysis record — typed finding from cognitive lens, explorer, or forecaster agents.
103
+ *
104
+ * Uses key-value entries for data (OpenAI strict mode compatible) instead of
105
+ * z.record(). The AnalysisSummaryExtractor converts entries to the API's
106
+ * Record<string, unknown> data format.
107
+ */
108
+ const analysisRecordSchema = z.object({
109
+ recordType: z.string()
110
+ .describe('Record type matching the agent\'s domain vocabulary (e.g., commitment, inquiry_question, evidence_claim, convention, tension, decay_vector, reification_candidate)'),
111
+ recordId: z.string()
112
+ .describe('Short unique ID within this run (e.g., R-1, IQ-2, EC-3). Max 20 characters.'),
113
+ title: z.string()
114
+ .describe('Human-readable title of the finding'),
115
+ classification: z.string().nullable()
116
+ .describe('Classification label (e.g., PROMISING, SPECULATIVE, INTERPRETED-OPAQUE, FACTUAL)'),
117
+ severity: z.string().nullable()
118
+ .describe('Severity or significance level (e.g., critical, high, medium, low, info)'),
119
+ data: z.array(explorationEntrySchema)
120
+ .describe('Structured data as key-value entries. Keys vary by record type — include relevant fields like status, evidence, filePath, lineNumber, description, rationale.'),
121
+ });
122
+ /**
123
+ * Domain metric — agent-specific quantitative measurement.
124
+ *
125
+ * Uses key-value pairs instead of z.record() for OpenAI strict mode compatibility.
126
+ * The AnalysisSummaryExtractor converts these to the API's systemMetrics format,
127
+ * merged with execution metrics (tokens, duration, model).
128
+ */
129
+ const domainMetricSchema = z.object({
130
+ key: z.string().describe('Metric key matching the agent definition\'s metrics vocabulary (e.g., atomsIdentified, candidatesIdentified, feedbackLoopsIdentified)'),
131
+ value: z.string().describe('Metric value (stringified number or enum)'),
132
+ });
42
133
  /**
43
134
  * Universal agent output schema — used by all 6 agent types.
44
135
  *
@@ -48,6 +139,14 @@ const artifactSchema = z.object({
48
139
  *
49
140
  * Categories and artifacts are both nullable — validators and analysts
50
141
  * produce categories; executors produce artifacts; some agents produce both.
142
+ *
143
+ * DESIGN TRADE-OFF (2026-04-16): one universal schema is intentionally lossy.
144
+ * It erases distinctions between agent families (a validator's score categories
145
+ * vs an executor's task artifacts vs a forecaster's scenario analysis) in
146
+ * exchange for a uniform pipeline. The alternative — per-agentType schemas —
147
+ * would be more faithful but would fork the extraction, tracking, and
148
+ * aggregation paths. The loss is acceptable because downstream processing
149
+ * (tracker, analytics, RAH) already branches on agentType when it matters.
51
150
  */
52
151
  export const agentOutputSchema = z.object({
53
152
  decision: z.string()
@@ -62,5 +161,15 @@ export const agentOutputSchema = z.object({
62
161
  .describe('Category breakdown with individual findings'),
63
162
  artifacts: z.array(artifactSchema).nullable()
64
163
  .describe('Generated artifacts (executor agents)'),
164
+ explorationMaps: z.array(explorationMapSchema).nullable()
165
+ .describe('Structural mappings from explorer agents — level maps, inventories, topologies, claim extractions, inquiry agendas. Null for non-explorer agents.'),
166
+ epistemicAssessment: epistemicAssessmentSchema.nullable()
167
+ .describe('Epistemic confidence and grounding assessment from cognitive lens agents. Null for validators/executors.'),
168
+ auditImplications: z.array(auditImplicationSchema).nullable()
169
+ .describe('Forward-looking trajectory projections and audit implications from analyst/forecaster agents. Null for validators/executors.'),
170
+ analysisRecords: z.array(analysisRecordSchema).nullable()
171
+ .describe('Typed analysis records — structured findings with domain-specific record types (commitment, inquiry_question, evidence_claim, convention, tension, reification_candidate, etc.) and meaningful IDs (R-1, IQ-2, EC-3). Null for validators/executors.'),
172
+ domainMetrics: z.array(domainMetricSchema).nullable()
173
+ .describe('Agent-specific quantitative metrics as defined in the agent\'s metrics vocabulary (e.g., atomsIdentified:20, candidatesIdentified:5). Null when no domain metrics are applicable.'),
65
174
  });
66
175
  //# sourceMappingURL=outputSchemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC9D,QAAQ,CAAC,sBAAsB,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;SACvE,QAAQ,CAAC,sBAAsB,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC7E,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACzE,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC9C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC5D,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;SAC9B,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,QAAQ,CAAC,wCAAwC,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,QAAQ,CAAC,4CAA4C,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;SAC3C,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;SAC1C,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"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"}
@@ -41,21 +41,23 @@ export declare class RegistryClient {
41
41
  private resolveRemote;
42
42
  private safeParseYaml;
43
43
  /**
44
- * Cast parsed YAML to typed definition with structural validation.
45
- * Verifies a known top-level key exists and its value is a non-null object.
46
- * Full schema validation is registry-side; this prevents totally wrong YAML.
44
+ * Normalize a parsed definition via @uluops/registry-sdk/normalization,
45
+ * mapping SDK errors to core's ConfigurationError.
46
+ *
47
+ * @see ADR-003 in @uluops/registry-sdk for design rationale.
47
48
  */
48
- private castDefinition;
49
+ private normalizeOrThrow;
49
50
  /**
50
51
  * Placeholder definition for render-only resolution (no YAML available).
51
- * Downstream code reads definition fields via optional chaining.
52
+ * Returns a partial structure downstream code MUST use optional chaining.
52
53
  */
53
54
  private emptyDefinition;
54
55
  /**
55
56
  * Build runtime from local YAML definition.
56
57
  *
57
- * Uses registry-sdk render.preview() to get the proper rendered markdown,
58
- * falling back to YAML passthrough if the registry API is unavailable.
58
+ * Render priority for agents: local definition-factory registry API raw YAML.
59
+ * Commands/workflows/pipelines use registry API raw YAML (CDL/WDL need resolvers).
60
+ * Returns both the runtime and any degradation markers.
59
61
  */
60
62
  private renderLocally;
61
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryClient.d.ts","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;GAOG;AACH,qBAAa,cAAc;IAUb,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IAEvB,6EAA6E;IAC7E,IAAI,WAAW,IAAI,WAAW,CAE7B;gBAEmB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;IAS1D;;;OAGG;IACH,+FAA+F;IAC/F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAEvE,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA6B9B;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgC7F;;OAEG;IACH,UAAU,IAAI,IAAI;YAQJ,YAAY;YA8DZ,aAAa;IAiE3B,OAAO,CAAC,aAAa;IAcrB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;OAKG;YACW,aAAa;IAqC3B;;;OAGG;YACW,eAAe;IAW7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,gBAAgB;YAcV,SAAS;YAgDT,UAAU;IAmBxB,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"RegistryClient.d.ts","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;;;;GAOG;AACH,qBAAa,cAAc;IAUb,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IAEvB,6EAA6E;IAC7E,IAAI,WAAW,IAAI,WAAW,CAE7B;gBAEmB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;IAS1D;;;OAGG;IACH,+FAA+F;IAC/F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAEvE,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA6B9B;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgC7F;;OAEG;IACH,UAAU,IAAI,IAAI;YAQJ,YAAY;YAkEZ,aAAa;IAkF3B,OAAO,CAAC,aAAa;IAcrB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;OAMG;YACW,aAAa;IAuD3B;;;OAGG;YACW,eAAe;IAgB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,gBAAgB;YAcV,SAAS;YA+CT,UAAU;IAoBxB,OAAO,CAAC,cAAc;CAkBvB"}