@uluops/core 0.5.0 → 0.7.1

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 (93) hide show
  1. package/LICENSE +6 -0
  2. package/README.md +120 -27
  3. package/dist/ai/AIProvider.d.ts +23 -3
  4. package/dist/ai/AIProvider.d.ts.map +1 -1
  5. package/dist/ai/AIProvider.js +156 -116
  6. package/dist/ai/AIProvider.js.map +1 -1
  7. package/dist/ai/ShellExecutor.d.ts +5 -4
  8. package/dist/ai/ShellExecutor.d.ts.map +1 -1
  9. package/dist/ai/ShellExecutor.js +1 -1
  10. package/dist/ai/ShellExecutor.js.map +1 -1
  11. package/dist/client/UluOpsClient.d.ts +40 -7
  12. package/dist/client/UluOpsClient.d.ts.map +1 -1
  13. package/dist/client/UluOpsClient.js +45 -9
  14. package/dist/client/UluOpsClient.js.map +1 -1
  15. package/dist/constants.d.ts +27 -0
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/constants.js +35 -0
  18. package/dist/constants.js.map +1 -1
  19. package/dist/errors/UluOpsError.d.ts +19 -0
  20. package/dist/errors/UluOpsError.d.ts.map +1 -1
  21. package/dist/errors/UluOpsError.js +25 -0
  22. package/dist/errors/UluOpsError.js.map +1 -1
  23. package/dist/errors/index.d.ts +26 -3
  24. package/dist/errors/index.d.ts.map +1 -1
  25. package/dist/errors/index.js +31 -3
  26. package/dist/errors/index.js.map +1 -1
  27. package/dist/executor/AgentExecutor.d.ts +43 -5
  28. package/dist/executor/AgentExecutor.d.ts.map +1 -1
  29. package/dist/executor/AgentExecutor.js +130 -121
  30. package/dist/executor/AgentExecutor.js.map +1 -1
  31. package/dist/executor/CommandExecutor.d.ts +1 -0
  32. package/dist/executor/CommandExecutor.d.ts.map +1 -1
  33. package/dist/executor/CommandExecutor.js +43 -25
  34. package/dist/executor/CommandExecutor.js.map +1 -1
  35. package/dist/executor/PipelineExecutor.d.ts +1 -0
  36. package/dist/executor/PipelineExecutor.d.ts.map +1 -1
  37. package/dist/executor/PipelineExecutor.js +16 -20
  38. package/dist/executor/PipelineExecutor.js.map +1 -1
  39. package/dist/executor/ToolHandler.d.ts +6 -3
  40. package/dist/executor/ToolHandler.d.ts.map +1 -1
  41. package/dist/executor/ToolHandler.js +23 -134
  42. package/dist/executor/ToolHandler.js.map +1 -1
  43. package/dist/executor/WorkflowExecutor.d.ts +14 -0
  44. package/dist/executor/WorkflowExecutor.d.ts.map +1 -1
  45. package/dist/executor/WorkflowExecutor.js +93 -70
  46. package/dist/executor/WorkflowExecutor.js.map +1 -1
  47. package/dist/executor/classifyDecision.d.ts +52 -0
  48. package/dist/executor/classifyDecision.d.ts.map +1 -0
  49. package/dist/executor/classifyDecision.js +77 -0
  50. package/dist/executor/classifyDecision.js.map +1 -0
  51. package/dist/executor/preflight.js +22 -5
  52. package/dist/executor/preflight.js.map +1 -1
  53. package/dist/index.d.ts +5 -3
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/parser/OutputExtractor.d.ts +1 -1
  58. package/dist/parser/OutputExtractor.d.ts.map +1 -1
  59. package/dist/parser/OutputExtractor.js +15 -16
  60. package/dist/parser/OutputExtractor.js.map +1 -1
  61. package/dist/parser/outputSchemas.d.ts +76 -67
  62. package/dist/parser/outputSchemas.d.ts.map +1 -1
  63. package/dist/parser/outputSchemas.js +19 -26
  64. package/dist/parser/outputSchemas.js.map +1 -1
  65. package/dist/registry/RegistryClient.d.ts.map +1 -1
  66. package/dist/registry/RegistryClient.js +9 -4
  67. package/dist/registry/RegistryClient.js.map +1 -1
  68. package/dist/types/agent.d.ts +23 -38
  69. package/dist/types/agent.d.ts.map +1 -1
  70. package/dist/types/command.d.ts +12 -7
  71. package/dist/types/command.d.ts.map +1 -1
  72. package/dist/types/config.d.ts +7 -0
  73. package/dist/types/config.d.ts.map +1 -1
  74. package/dist/types/execution.d.ts +15 -5
  75. package/dist/types/execution.d.ts.map +1 -1
  76. package/dist/types/index.d.ts +3 -3
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist/types/parser.d.ts +1 -1
  79. package/dist/types/parser.d.ts.map +1 -1
  80. package/dist/types/pipeline.d.ts +5 -2
  81. package/dist/types/pipeline.d.ts.map +1 -1
  82. package/dist/types/registry.d.ts +1 -0
  83. package/dist/types/registry.d.ts.map +1 -1
  84. package/dist/types/tools.d.ts +0 -12
  85. package/dist/types/tools.d.ts.map +1 -1
  86. package/dist/types/validation.d.ts +0 -125
  87. package/dist/types/validation.d.ts.map +1 -1
  88. package/dist/types/workflow.d.ts +12 -4
  89. package/dist/types/workflow.d.ts.map +1 -1
  90. package/dist/validation/ValidationClient.d.ts.map +1 -1
  91. package/dist/validation/ValidationClient.js +1 -2
  92. package/dist/validation/ValidationClient.js.map +1 -1
  93. package/package.json +2 -2
@@ -18,7 +18,8 @@ export class OutputExtractor {
18
18
  scoreFraction: /(?:score|points)\s*[:=]?\s*(\d+)\s*\/\s*(\d+)/i,
19
19
  maxScore: /(?:max(?:imum)?[\s_]?score|out[\s_]?of|total)\s*[:=]\s*(\d+)/i,
20
20
  // Issue line: "- description: file/path.ts:123 [CODE]"
21
- issueLine: /^[\s]*[-•🟡🔴🟠🔵]\s+(.+?):\s+([\w/.-]+\.(?:ts|js|tsx|jsx|py|go|rs|java|rb|css|html|json|yaml|yml|toml|md)):(\d+)\s*(?:\[([^\]]+)\])?/gm,
21
+ // Extensions synced with LANG_MAP in ToolHandler.ts — if a language is detectable, issues should be parseable.
22
+ issueLine: /^[\s]*[-•🟡🔴🟠🔵]\s+(.+?):\s+([\w/.-]+\.(?:ts|tsx|js|jsx|mjs|cjs|py|go|rs|java|rb|php|cs|cpp|c|swift|kt|css|scss|html|json|yaml|yml|toml|md|sql|sh|bash)):(\d+)\s*(?:\[([^\]]+)\])?/gm,
22
23
  };
23
24
  /**
24
25
  * Extract structured output from LLM response text
@@ -237,7 +238,7 @@ export class OutputExtractor {
237
238
  output.categories = [{
238
239
  name: 'Extracted Issues',
239
240
  score: output.score ?? 0,
240
- maxPoints: output.maxScore ?? 100,
241
+ maxScore: output.maxScore ?? 100,
241
242
  findings: [{
242
243
  criterion: 'Text-extracted findings',
243
244
  pointsEarned: 0,
@@ -318,15 +319,13 @@ export class OutputExtractor {
318
319
  else if (typeof rawScore === 'string') {
319
320
  output.score = parseFloat(rawScore);
320
321
  }
321
- if (agentType === 'validator') {
322
- this.resolveValidatorFields(output, sources);
323
- }
324
- if (agentType === 'executor' && Array.isArray(obj['artifacts'])) {
322
+ this.resolveAgentFields(output, sources);
323
+ if (Array.isArray(obj['artifacts'])) {
325
324
  output.artifacts = this.parseArtifacts(obj['artifacts']);
326
325
  }
327
326
  return output;
328
327
  }
329
- resolveValidatorFields(output, sources) {
328
+ resolveAgentFields(output, sources) {
330
329
  const { obj, result, summary, report } = sources;
331
330
  // Resolve maxScore
332
331
  const rawMaxScore = obj['maxScore'] ?? obj['max_score']
@@ -362,7 +361,7 @@ export class OutputExtractor {
362
361
  output.categories = [{
363
362
  name: 'Extracted Issues',
364
363
  score: output.score ?? 0,
365
- maxPoints: output.maxScore ?? 100,
364
+ maxScore: output.maxScore ?? 100,
366
365
  findings: [issuesFinding],
367
366
  }];
368
367
  }
@@ -375,7 +374,7 @@ export class OutputExtractor {
375
374
  output.categories.push({
376
375
  name: 'Extracted Issues',
377
376
  score: output.score ?? 0,
378
- maxPoints: output.maxScore ?? 100,
377
+ maxScore: output.maxScore ?? 100,
379
378
  findings: [issuesFinding],
380
379
  });
381
380
  }
@@ -462,7 +461,7 @@ export class OutputExtractor {
462
461
  const s = source[scoreKey];
463
462
  if (typeof s === 'number')
464
463
  return s;
465
- if (typeof s === 'string' && !isNaN(parseFloat(s)))
464
+ if (typeof s === 'string' && s.trim() !== '' && !isNaN(Number(s)))
466
465
  return s;
467
466
  // Handle score as object: { total: 85, ... }
468
467
  if (s && typeof s === 'object') {
@@ -541,7 +540,7 @@ export class OutputExtractor {
541
540
  const cats = [];
542
541
  for (const [name, value] of Object.entries(scores)) {
543
542
  if (typeof value === 'number' && name !== 'Total' && name !== 'total' && name !== 'pass_threshold') {
544
- cats.push({ name, score: value, maxPoints: 100, findings: [] });
543
+ cats.push({ name, score: value, maxScore: 100, findings: [] });
545
544
  }
546
545
  }
547
546
  if (cats.length > 0)
@@ -558,7 +557,7 @@ export class OutputExtractor {
558
557
  const cats = [];
559
558
  for (const [name, value] of Object.entries(breakdown)) {
560
559
  if (typeof value === 'number') {
561
- cats.push({ name, score: value, maxPoints: 100, findings: [] });
560
+ cats.push({ name, score: value, maxScore: 100, findings: [] });
562
561
  }
563
562
  else {
564
563
  // Handle { points: N, deductions: N } shape
@@ -566,7 +565,7 @@ export class OutputExtractor {
566
565
  if (rec && typeof rec['points'] === 'number') {
567
566
  const points = rec['points'];
568
567
  const deductions = typeof rec['deductions'] === 'number' ? rec['deductions'] : 0;
569
- cats.push({ name, score: points - deductions, maxPoints: 100, findings: [] });
568
+ cats.push({ name, score: points - deductions, maxScore: 100, findings: [] });
570
569
  }
571
570
  }
572
571
  }
@@ -583,7 +582,7 @@ export class OutputExtractor {
583
582
  cats.push({
584
583
  name,
585
584
  score: rec['score'],
586
- maxPoints: 100,
585
+ maxScore: 100,
587
586
  findings: this.parseIssues(Array.isArray(rec['issues']) ? rec['issues'] : []).map(issue => ({
588
587
  criterion: issue.title,
589
588
  pointsEarned: 0,
@@ -672,7 +671,7 @@ export class OutputExtractor {
672
671
  .map(item => ({
673
672
  name: String(item['name'] ?? item['category'] ?? 'Unknown'),
674
673
  score: Number(item['score'] ?? item['points'] ?? 0),
675
- maxPoints: Number(item['maxPoints'] ?? item['max_points'] ?? item['total'] ?? 100),
674
+ maxScore: Number(item['maxScore'] ?? item['maxPoints'] ?? item['max_points'] ?? item['total'] ?? 100),
676
675
  findings: this.parseFindings(Array.isArray(item['findings']) ? item['findings'] : []),
677
676
  }));
678
677
  }
@@ -682,7 +681,7 @@ export class OutputExtractor {
682
681
  .map(item => ({
683
682
  criterion: String(item['criterion'] ?? item['name'] ?? 'Unknown'),
684
683
  pointsEarned: Number(item['pointsEarned'] ?? item['points_earned'] ?? item['score'] ?? 0),
685
- pointsPossible: Number(item['pointsPossible'] ?? item['points_possible'] ?? item['maxPoints'] ?? 0),
684
+ pointsPossible: Number(item['pointsPossible'] ?? item['points_possible'] ?? item['maxScore'] ?? item['maxPoints'] ?? 0),
686
685
  issues: this.parseIssues(Array.isArray(item['issues']) ? item['issues'] : []),
687
686
  }));
688
687
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutputExtractor.js","sourceRoot":"","sources":["../../src/parser/OutputExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputExtractor.js","sourceRoot":"","sources":["../../src/parser/OutputExtractor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,56 @@
1
1
  import { z } from 'zod';
2
+ import type { Issue } from '../types/command.js';
2
3
  /**
3
- * Validator output schemaextends base with category breakdown.
4
+ * Issue within a finding matches the Issue type from types/command.ts
5
+ *
6
+ * NOTE: All optional fields use .nullable() instead of .optional() because
7
+ * OpenAI's strict structured output mode rejects optional properties.
8
+ * See: https://platform.openai.com/docs/guides/structured-outputs/supported-schemas
4
9
  */
5
- export declare const validatorOutputSchema: z.ZodObject<{
10
+ declare const issueSchema: z.ZodObject<{
11
+ title: z.ZodString;
12
+ description: z.ZodNullable<z.ZodString>;
13
+ priority: z.ZodNullable<z.ZodEnum<["critical", "suggested", "backlog"]>>;
14
+ severity: z.ZodNullable<z.ZodEnum<["critical", "high", "medium", "low", "info"]>>;
15
+ filePath: z.ZodNullable<z.ZodString>;
16
+ lineNumber: z.ZodNullable<z.ZodNumber>;
17
+ failureCode: z.ZodNullable<z.ZodString>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ description: string | null;
20
+ title: string;
21
+ severity: "critical" | "high" | "medium" | "low" | "info" | null;
22
+ filePath: string | null;
23
+ failureCode: string | null;
24
+ priority: "critical" | "suggested" | "backlog" | null;
25
+ lineNumber: number | null;
26
+ }, {
27
+ description: string | null;
28
+ title: string;
29
+ severity: "critical" | "high" | "medium" | "low" | "info" | null;
30
+ filePath: string | null;
31
+ failureCode: string | null;
32
+ priority: "critical" | "suggested" | "backlog" | null;
33
+ lineNumber: number | null;
34
+ }>;
35
+ /**
36
+ * Universal agent output schema — used by all 6 agent types.
37
+ *
38
+ * Decision is z.string() (not an enum) because agents use diverse
39
+ * decision vocabularies: PASS/FAIL, EXAMINED/UNEXAMINED, ALIGNED/MISALIGNED,
40
+ * VITAL/DECADENT, etc. classifyDecision() normalizes via vocabulary maps.
41
+ *
42
+ * Categories and artifacts are both nullable — validators and analysts
43
+ * produce categories; executors produce artifacts; some agents produce both.
44
+ */
45
+ export declare const agentOutputSchema: z.ZodObject<{
6
46
  decision: z.ZodString;
7
47
  score: z.ZodNumber;
8
48
  maxScore: z.ZodNumber;
9
49
  summary: z.ZodNullable<z.ZodString>;
10
- } & {
11
50
  categories: z.ZodNullable<z.ZodArray<z.ZodObject<{
12
51
  name: z.ZodString;
13
52
  score: z.ZodNumber;
14
- maxPoints: z.ZodNumber;
53
+ maxScore: z.ZodNumber;
15
54
  findings: z.ZodArray<z.ZodObject<{
16
55
  criterion: z.ZodString;
17
56
  pointsEarned: z.ZodNumber;
@@ -70,6 +109,7 @@ export declare const validatorOutputSchema: z.ZodObject<{
70
109
  }>, "many">;
71
110
  }, "strip", z.ZodTypeAny, {
72
111
  name: string;
112
+ maxScore: number;
73
113
  score: number;
74
114
  findings: {
75
115
  issues: {
@@ -85,9 +125,9 @@ export declare const validatorOutputSchema: z.ZodObject<{
85
125
  pointsEarned: number;
86
126
  pointsPossible: number;
87
127
  }[];
88
- maxPoints: number;
89
128
  }, {
90
129
  name: string;
130
+ maxScore: number;
91
131
  score: number;
92
132
  findings: {
93
133
  issues: {
@@ -103,12 +143,25 @@ export declare const validatorOutputSchema: z.ZodObject<{
103
143
  pointsEarned: number;
104
144
  pointsPossible: number;
105
145
  }[];
106
- maxPoints: number;
146
+ }>, "many">>;
147
+ artifacts: z.ZodNullable<z.ZodArray<z.ZodObject<{
148
+ type: z.ZodString;
149
+ path: z.ZodNullable<z.ZodString>;
150
+ content: z.ZodNullable<z.ZodString>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ content: string | null;
153
+ type: string;
154
+ path: string | null;
155
+ }, {
156
+ content: string | null;
157
+ type: string;
158
+ path: string | null;
107
159
  }>, "many">>;
108
160
  }, "strip", z.ZodTypeAny, {
109
161
  maxScore: number;
110
162
  categories: {
111
163
  name: string;
164
+ maxScore: number;
112
165
  score: number;
113
166
  findings: {
114
167
  issues: {
@@ -124,15 +177,20 @@ export declare const validatorOutputSchema: z.ZodObject<{
124
177
  pointsEarned: number;
125
178
  pointsPossible: number;
126
179
  }[];
127
- maxPoints: number;
128
180
  }[] | null;
129
181
  decision: string;
130
182
  score: number;
131
183
  summary: string | null;
184
+ artifacts: {
185
+ content: string | null;
186
+ type: string;
187
+ path: string | null;
188
+ }[] | null;
132
189
  }, {
133
190
  maxScore: number;
134
191
  categories: {
135
192
  name: string;
193
+ maxScore: number;
136
194
  score: number;
137
195
  findings: {
138
196
  issues: {
@@ -148,49 +206,10 @@ export declare const validatorOutputSchema: z.ZodObject<{
148
206
  pointsEarned: number;
149
207
  pointsPossible: number;
150
208
  }[];
151
- maxPoints: number;
152
209
  }[] | null;
153
210
  decision: string;
154
211
  score: number;
155
212
  summary: string | null;
156
- }>;
157
- /**
158
- * Executor output schema — extends base with artifacts.
159
- */
160
- export declare const executorOutputSchema: z.ZodObject<{
161
- decision: z.ZodString;
162
- score: z.ZodNumber;
163
- maxScore: z.ZodNumber;
164
- summary: z.ZodNullable<z.ZodString>;
165
- } & {
166
- artifacts: z.ZodNullable<z.ZodArray<z.ZodObject<{
167
- type: z.ZodString;
168
- path: z.ZodNullable<z.ZodString>;
169
- content: z.ZodNullable<z.ZodString>;
170
- }, "strip", z.ZodTypeAny, {
171
- content: string | null;
172
- type: string;
173
- path: string | null;
174
- }, {
175
- content: string | null;
176
- type: string;
177
- path: string | null;
178
- }>, "many">>;
179
- }, "strip", z.ZodTypeAny, {
180
- maxScore: number;
181
- decision: string;
182
- score: number;
183
- summary: string | null;
184
- artifacts: {
185
- content: string | null;
186
- type: string;
187
- path: string | null;
188
- }[] | null;
189
- }, {
190
- maxScore: number;
191
- decision: string;
192
- score: number;
193
- summary: string | null;
194
213
  artifacts: {
195
214
  content: string | null;
196
215
  type: string;
@@ -198,26 +217,16 @@ export declare const executorOutputSchema: z.ZodObject<{
198
217
  }[] | null;
199
218
  }>;
200
219
  /**
201
- * Generic agent output schema for analyst, generator, explorer, forecaster types.
202
- * Uses the base schema without type-specific extensions.
220
+ * Compile-time check: issueSchema fields must be a superset of Issue fields.
221
+ * If Issue gains a field not in issueSchema, this line will produce a type error,
222
+ * preventing silent data loss from Zod dropping unknown fields.
223
+ *
224
+ * Note: Zod uses nullable (T | null), Issue uses optional (T | undefined).
225
+ * The null→undefined mapping happens in mapStructuredOutput/OutputExtractor.
203
226
  */
204
- export declare const genericOutputSchema: z.ZodObject<{
205
- decision: z.ZodString;
206
- score: z.ZodNumber;
207
- maxScore: z.ZodNumber;
208
- summary: z.ZodNullable<z.ZodString>;
209
- }, "strip", z.ZodTypeAny, {
210
- maxScore: number;
211
- decision: string;
212
- score: number;
213
- summary: string | null;
214
- }, {
215
- maxScore: number;
216
- decision: string;
217
- score: number;
218
- summary: string | null;
219
- }>;
220
- export type ValidatorOutput = z.infer<typeof validatorOutputSchema>;
221
- export type ExecutorOutput = z.infer<typeof executorOutputSchema>;
222
- export type GenericOutput = z.infer<typeof genericOutputSchema>;
227
+ type ZodIssue = z.infer<typeof issueSchema>;
228
+ export type _AssertIssueFieldsCovered = {
229
+ [K in keyof Required<Issue>]: K extends keyof ZodIssue ? true : never;
230
+ };
231
+ export {};
223
232
  //# sourceMappingURL=outputSchemas.d.ts.map
@@ -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;AAsDxB;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAAmB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,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;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"}
@@ -18,12 +18,12 @@ const issueSchema = z.object({
18
18
  failureCode: z.string().nullable().describe('Machine-readable failure code'),
19
19
  });
20
20
  /**
21
- * Category breakdown for validators
21
+ * Category breakdown universal across all agent types.
22
22
  */
23
23
  const categorySchema = z.object({
24
24
  name: z.string().describe('Category name (e.g., "Code Quality", "Security")'),
25
25
  score: z.number().describe('Points earned in this category'),
26
- maxPoints: z.number().describe('Maximum points possible'),
26
+ maxScore: z.number().describe('Maximum score possible'),
27
27
  findings: z.array(z.object({
28
28
  criterion: z.string().describe('What is being evaluated'),
29
29
  pointsEarned: z.number(),
@@ -32,42 +32,35 @@ const categorySchema = z.object({
32
32
  })).describe('Findings within this category'),
33
33
  });
34
34
  /**
35
- * Base output schema — shared by all agent types.
35
+ * Artifact produced by executor agents.
36
+ */
37
+ const artifactSchema = z.object({
38
+ type: z.string().describe('Artifact type (e.g., "file", "report")'),
39
+ path: z.string().nullable().describe('File path if applicable'),
40
+ content: z.string().nullable().describe('Artifact content'),
41
+ });
42
+ /**
43
+ * Universal agent output schema — used by all 6 agent types.
36
44
  *
37
45
  * Decision is z.string() (not an enum) because agents use diverse
38
46
  * decision vocabularies: PASS/FAIL, EXAMINED/UNEXAMINED, ALIGNED/MISALIGNED,
39
- * CALIBRATED/OVERCONFIDENT, etc. normalizeDecision() handles synonym mapping.
47
+ * VITAL/DECADENT, etc. classifyDecision() normalizes via vocabulary maps.
48
+ *
49
+ * Categories and artifacts are both nullable — validators and analysts
50
+ * produce categories; executors produce artifacts; some agents produce both.
40
51
  */
41
- const baseOutputSchema = z.object({
52
+ export const agentOutputSchema = z.object({
42
53
  decision: z.string()
43
- .describe('Overall decision (e.g., PASS, FAIL, EXAMINED, ALIGNED)'),
54
+ .describe('Overall decision (e.g., PASS, FAIL, EXAMINED, ALIGNED, VITAL)'),
44
55
  score: z.number().min(0).max(100)
45
56
  .describe('Overall score from 0 to 100'),
46
57
  maxScore: z.number()
47
58
  .describe('Maximum possible score (typically 100)'),
48
59
  summary: z.string().nullable()
49
60
  .describe('Brief human-readable summary of the result'),
50
- });
51
- /**
52
- * Validator output schema — extends base with category breakdown.
53
- */
54
- export const validatorOutputSchema = baseOutputSchema.extend({
55
61
  categories: z.array(categorySchema).nullable()
56
62
  .describe('Category breakdown with individual findings'),
63
+ artifacts: z.array(artifactSchema).nullable()
64
+ .describe('Generated artifacts (executor agents)'),
57
65
  });
58
- /**
59
- * Executor output schema — extends base with artifacts.
60
- */
61
- export const executorOutputSchema = baseOutputSchema.extend({
62
- artifacts: z.array(z.object({
63
- type: z.string().describe('Artifact type (e.g., "file", "report")'),
64
- path: z.string().nullable().describe('File path if applicable'),
65
- content: z.string().nullable().describe('Artifact content'),
66
- })).nullable().describe('Generated artifacts'),
67
- });
68
- /**
69
- * Generic agent output schema — for analyst, generator, explorer, forecaster types.
70
- * Uses the base schema without type-specific extensions.
71
- */
72
- export const genericOutputSchema = baseOutputSchema;
73
66
  //# sourceMappingURL=outputSchemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/parser/outputSchemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryClient.d.ts","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"AAGA,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;AAGlF,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;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,kBAAkB,CAAC;IAwB9B;;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;IAmC3B;;;OAGG;YACW,eAAe;IAW7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB,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":"AAGA,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;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,kBAAkB,CAAC;IAwB9B;;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"}
@@ -4,6 +4,7 @@ import * as yaml from 'yaml';
4
4
  import { RegistryClient as RegistrySdk } from '@uluops/registry-sdk';
5
5
  import { ConfigurationError } from '../errors/index.js';
6
6
  import { formatErrorMessage } from '../utils/formatError.js';
7
+ import { DEFAULT_PASS_THRESHOLD, DEFAULT_MODEL_ALIAS } from '../constants.js';
7
8
  /**
8
9
  * Definition resolver with local development fallback.
9
10
  *
@@ -118,14 +119,14 @@ export class RegistryClient {
118
119
  continue; // File doesn't exist, try next candidate
119
120
  if (code === 'ENOTDIR')
120
121
  continue; // Path component isn't a directory
121
- throw new ConfigurationError(`Cannot read ${candidate.path}: ${formatErrorMessage(error)}`);
122
+ throw new ConfigurationError(`Cannot read definition file: ${formatErrorMessage(error)}`);
122
123
  }
123
124
  let definition;
124
125
  try {
125
126
  definition = yaml.parse(yamlContent);
126
127
  }
127
128
  catch (parseError) {
128
- throw new ConfigurationError(`Failed to parse YAML at ${candidate.path}: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
129
+ throw new ConfigurationError(`Failed to parse definition YAML: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
129
130
  }
130
131
  this.logger.debug(`Resolved locally: ${name} @ ${candidate.path}`);
131
132
  return {
@@ -249,7 +250,7 @@ export class RegistryClient {
249
250
  return {
250
251
  prompt: rendered ?? yamlContent,
251
252
  defaults: {
252
- model: agent.defaults?.model ?? 'sonnet',
253
+ model: agent.defaults?.model ?? DEFAULT_MODEL_ALIAS,
253
254
  timeout: agent.defaults?.timeout ?? 300_000,
254
255
  maxTokens: agent.defaults?.max_tokens,
255
256
  temperature: agent.defaults?.temperature,
@@ -264,6 +265,8 @@ export class RegistryClient {
264
265
  }
265
266
  // Workflow/pipeline definitions ARE the runtime — the parsed YAML structure
266
267
  // is used directly. Already validated by castDefinition() in resolveLocal().
268
+ // Double assertion: definition is Record<string, unknown> from YAML parse,
269
+ // but structurally conforms to WorkflowRuntime | PipelineRuntime post-validation.
267
270
  return definition;
268
271
  }
269
272
  /**
@@ -289,7 +292,7 @@ export class RegistryClient {
289
292
  const passThreshold = agent.decisions?.thresholds?.find(t => t.decision === 'positive');
290
293
  return {
291
294
  maxScore: agent.scoring.maxScore,
292
- threshold: passThreshold?.min_score ?? 75,
295
+ threshold: passThreshold?.min_score ?? DEFAULT_PASS_THRESHOLD,
293
296
  categories: agent.scoring.categories.map(c => ({
294
297
  name: c.name,
295
298
  weight: c.weight,
@@ -307,6 +310,8 @@ export class RegistryClient {
307
310
  return {
308
311
  mode: 'execute',
309
312
  inputs: agent.tasks.inputs,
313
+ // ADL uses `operations` (AgentTasks.operations: TaskOperation[]) — renamed to
314
+ // `tasks` here for the runtime config (ExecutorRuntime.config.tasks: TaskConfig[]).
310
315
  tasks: agent.tasks.operations,
311
316
  outputs: agent.tasks.outputs,
312
317
  completionCriteria: agent.completion?.criteria ?? [],