@uluops/core 0.5.0 → 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 (83) hide show
  1. package/LICENSE +6 -0
  2. package/README.md +24 -22
  3. package/dist/ai/AIProvider.d.ts +7 -3
  4. package/dist/ai/AIProvider.d.ts.map +1 -1
  5. package/dist/ai/AIProvider.js +33 -25
  6. package/dist/ai/AIProvider.js.map +1 -1
  7. package/dist/ai/ShellExecutor.d.ts +1 -1
  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.map +1 -1
  12. package/dist/client/UluOpsClient.js +1 -0
  13. package/dist/client/UluOpsClient.js.map +1 -1
  14. package/dist/constants.d.ts +27 -0
  15. package/dist/constants.d.ts.map +1 -1
  16. package/dist/constants.js +35 -0
  17. package/dist/constants.js.map +1 -1
  18. package/dist/errors/UluOpsError.d.ts +19 -0
  19. package/dist/errors/UluOpsError.d.ts.map +1 -1
  20. package/dist/errors/UluOpsError.js +25 -0
  21. package/dist/errors/UluOpsError.js.map +1 -1
  22. package/dist/errors/index.d.ts +26 -3
  23. package/dist/errors/index.d.ts.map +1 -1
  24. package/dist/errors/index.js +31 -3
  25. package/dist/errors/index.js.map +1 -1
  26. package/dist/executor/AgentExecutor.d.ts +15 -1
  27. package/dist/executor/AgentExecutor.d.ts.map +1 -1
  28. package/dist/executor/AgentExecutor.js +33 -8
  29. package/dist/executor/AgentExecutor.js.map +1 -1
  30. package/dist/executor/CommandExecutor.d.ts +1 -0
  31. package/dist/executor/CommandExecutor.d.ts.map +1 -1
  32. package/dist/executor/CommandExecutor.js +26 -3
  33. package/dist/executor/CommandExecutor.js.map +1 -1
  34. package/dist/executor/PipelineExecutor.d.ts +1 -0
  35. package/dist/executor/PipelineExecutor.d.ts.map +1 -1
  36. package/dist/executor/PipelineExecutor.js +16 -20
  37. package/dist/executor/PipelineExecutor.js.map +1 -1
  38. package/dist/executor/ToolHandler.d.ts +6 -3
  39. package/dist/executor/ToolHandler.d.ts.map +1 -1
  40. package/dist/executor/ToolHandler.js +19 -134
  41. package/dist/executor/ToolHandler.js.map +1 -1
  42. package/dist/executor/WorkflowExecutor.d.ts +14 -0
  43. package/dist/executor/WorkflowExecutor.d.ts.map +1 -1
  44. package/dist/executor/WorkflowExecutor.js +93 -70
  45. package/dist/executor/WorkflowExecutor.js.map +1 -1
  46. package/dist/executor/classifyDecision.d.ts +16 -0
  47. package/dist/executor/classifyDecision.d.ts.map +1 -0
  48. package/dist/executor/classifyDecision.js +30 -0
  49. package/dist/executor/classifyDecision.js.map +1 -0
  50. package/dist/executor/preflight.js +19 -2
  51. package/dist/executor/preflight.js.map +1 -1
  52. package/dist/index.d.ts +4 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/parser/outputSchemas.d.ts +46 -0
  57. package/dist/parser/outputSchemas.d.ts.map +1 -1
  58. package/dist/parser/outputSchemas.js.map +1 -1
  59. package/dist/registry/RegistryClient.d.ts.map +1 -1
  60. package/dist/registry/RegistryClient.js +3 -2
  61. package/dist/registry/RegistryClient.js.map +1 -1
  62. package/dist/types/agent.d.ts +9 -1
  63. package/dist/types/agent.d.ts.map +1 -1
  64. package/dist/types/command.d.ts +10 -5
  65. package/dist/types/command.d.ts.map +1 -1
  66. package/dist/types/config.d.ts +7 -0
  67. package/dist/types/config.d.ts.map +1 -1
  68. package/dist/types/execution.d.ts +15 -5
  69. package/dist/types/execution.d.ts.map +1 -1
  70. package/dist/types/index.d.ts +2 -2
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/pipeline.d.ts +5 -2
  73. package/dist/types/pipeline.d.ts.map +1 -1
  74. package/dist/types/registry.d.ts +1 -0
  75. package/dist/types/registry.d.ts.map +1 -1
  76. package/dist/types/validation.d.ts +0 -125
  77. package/dist/types/validation.d.ts.map +1 -1
  78. package/dist/types/workflow.d.ts +12 -4
  79. package/dist/types/workflow.d.ts.map +1 -1
  80. package/dist/validation/ValidationClient.d.ts.map +1 -1
  81. package/dist/validation/ValidationClient.js +1 -2
  82. package/dist/validation/ValidationClient.js.map +1 -1
  83. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { WorkflowError } from '../errors/index.js';
2
2
  import { formatErrorMessage } from '../utils/formatError.js';
3
+ import { DEFAULT_GATE_THRESHOLD } from '../constants.js';
3
4
  import { sumTokenMetrics } from '../utils/sumTokenMetrics.js';
4
5
  import { topoGroupLevels } from '../utils/topoSort.js';
5
6
  /**
@@ -32,85 +33,29 @@ export class WorkflowExecutor {
32
33
  */
33
34
  async execute(resolved, input) {
34
35
  const startTime = Date.now();
35
- if (resolved.type !== 'workflow') {
36
- throw new WorkflowError(`WorkflowExecutor received a '${resolved.type}' definition (expected 'workflow')`, { partialResult: undefined });
37
- }
38
- const def = resolved.definition;
36
+ const def = this.assertWorkflowDefinition(resolved);
39
37
  const phaseResults = [];
40
38
  const allRecommendations = [];
41
39
  const completedPhases = new Map();
42
40
  try {
43
41
  const levels = topoGroupLevels(def.workflow.orchestration.phases);
44
- const onFailure = def.workflow.orchestration.on_failure;
45
- const maxParallel = def.workflow.orchestration.max_parallel;
42
+ const { on_failure: onFailure, max_parallel: maxParallel } = def.workflow.orchestration;
46
43
  let stopped = false;
47
44
  let aborted = false;
48
45
  for (const level of levels) {
49
46
  if (stopped || aborted) {
50
- // Mark remaining phases as skipped
51
- for (const phase of level) {
52
- const skipped = this.createSkippedPhase(phase);
53
- phaseResults.push(skipped);
54
- completedPhases.set(phase.id, skipped);
55
- }
47
+ this.skipLevel(level, phaseResults, completedPhases);
56
48
  continue;
57
49
  }
58
- // Filter level to phases whose dependencies are satisfied and skip_if is not met
59
- const eligible = [];
60
- for (const phase of level) {
61
- if (phase.skip_if && this.evaluateCondition(phase.skip_if, input, phaseResults)) {
62
- const skipped = this.createSkippedPhase(phase);
63
- phaseResults.push(skipped);
64
- completedPhases.set(phase.id, skipped);
65
- continue;
66
- }
67
- if (!this.checkDependencies(phase.depends_on, completedPhases)) {
68
- const skipped = this.createSkippedPhase(phase);
69
- phaseResults.push(skipped);
70
- completedPhases.set(phase.id, skipped);
71
- continue;
72
- }
73
- eligible.push(phase);
74
- }
50
+ const eligible = this.filterEligible(level, input, phaseResults, completedPhases);
75
51
  if (eligible.length === 0)
76
52
  continue;
77
- // Execute eligible phases in parallel (with optional concurrency limit)
78
53
  const levelResults = await this.executePhasesParallel(eligible, input, maxParallel);
79
- // Process results and evaluate gates
80
- for (const phaseResult of levelResults) {
81
- phaseResults.push(phaseResult);
82
- completedPhases.set(phaseResult.id, phaseResult);
83
- // Accumulate recommendations
84
- for (const cmd of phaseResult.commands) {
85
- allRecommendations.push(...cmd.recommendations);
86
- }
87
- // Apply failure behavior based on gate result
88
- if (phaseResult.decision === 'blocked') {
89
- switch (onFailure) {
90
- case 'stop':
91
- stopped = true;
92
- break;
93
- case 'abort':
94
- aborted = true;
95
- break;
96
- case 'warn':
97
- // Downgrade to warned — proceed without blocking
98
- phaseResult.decision = 'warned';
99
- break;
100
- case 'continue':
101
- default:
102
- // Continue — dependent phases will check deps naturally
103
- break;
104
- }
105
- }
106
- }
107
- // For abort: mark any phases from this level that haven't completed
108
- // (in practice all completed since we awaited, but semantically distinct
109
- // from stop in that we don't start the next level either)
110
- if (aborted) {
111
- // Remaining levels will be skipped in the next iteration
112
- continue;
113
- }
54
+ const behavior = this.processLevelResults(levelResults, onFailure, phaseResults, completedPhases, allRecommendations);
55
+ if (behavior === 'stop')
56
+ stopped = true;
57
+ if (behavior === 'abort')
58
+ aborted = true;
114
59
  }
115
60
  }
116
61
  catch (error) {
@@ -145,12 +90,78 @@ export class WorkflowExecutor {
145
90
  decision: c.decision,
146
91
  inputTokens: c.metrics.inputTokens,
147
92
  outputTokens: c.metrics.outputTokens,
93
+ cacheCreationTokens: c.metrics.cacheCreationTokens,
94
+ cacheReadTokens: c.metrics.cacheReadTokens,
95
+ totalEffectiveTokens: c.metrics.totalEffectiveTokens,
148
96
  durationMs: c.metrics.durationMs,
149
97
  costUsd: c.metrics.costUsd,
150
98
  }))),
151
99
  },
152
100
  };
153
101
  }
102
+ /**
103
+ * Mark all phases in a level as skipped (used when stopped or aborted).
104
+ */
105
+ skipLevel(level, phaseResults, completedPhases) {
106
+ for (const phase of level) {
107
+ const skipped = this.createSkippedPhase(phase);
108
+ phaseResults.push(skipped);
109
+ completedPhases.set(phase.id, skipped);
110
+ }
111
+ }
112
+ /**
113
+ * Filter a level to phases whose dependencies are satisfied and skip_if is not met.
114
+ */
115
+ filterEligible(level, input, phaseResults, completedPhases) {
116
+ const eligible = [];
117
+ for (const phase of level) {
118
+ if (phase.skip_if && this.evaluateCondition(phase.skip_if, input, phaseResults)) {
119
+ const skipped = this.createSkippedPhase(phase);
120
+ phaseResults.push(skipped);
121
+ completedPhases.set(phase.id, skipped);
122
+ continue;
123
+ }
124
+ if (!this.checkDependencies(phase.depends_on, completedPhases)) {
125
+ const skipped = this.createSkippedPhase(phase);
126
+ phaseResults.push(skipped);
127
+ completedPhases.set(phase.id, skipped);
128
+ continue;
129
+ }
130
+ eligible.push(phase);
131
+ }
132
+ return eligible;
133
+ }
134
+ /**
135
+ * Record level results and apply failure behavior. Returns the triggered
136
+ * behavior ('stop' | 'abort') or undefined if execution should continue.
137
+ */
138
+ processLevelResults(levelResults, onFailure, phaseResults, completedPhases, allRecommendations) {
139
+ let behavior;
140
+ for (const phaseResult of levelResults) {
141
+ phaseResults.push(phaseResult);
142
+ completedPhases.set(phaseResult.id, phaseResult);
143
+ for (const cmd of phaseResult.commands) {
144
+ allRecommendations.push(...cmd.recommendations);
145
+ }
146
+ if (phaseResult.decision === 'blocked') {
147
+ switch (onFailure) {
148
+ case 'stop':
149
+ behavior = 'stop';
150
+ break;
151
+ case 'abort':
152
+ behavior = 'abort';
153
+ break;
154
+ case 'warn':
155
+ phaseResult.decision = 'warned';
156
+ break;
157
+ case 'continue':
158
+ default:
159
+ break;
160
+ }
161
+ }
162
+ }
163
+ return behavior;
164
+ }
154
165
  /**
155
166
  * Execute a set of independent phases in parallel.
156
167
  *
@@ -217,7 +228,8 @@ export class WorkflowExecutor {
217
228
  else {
218
229
  const errorMsg = outcome.reason instanceof Error ? outcome.reason.message : String(outcome.reason);
219
230
  errors.push(errorMsg);
220
- // Failed commands contribute a zero-score result so they penalize the aggregate
231
+ // Failed commands contribute a zero-score result so they penalize the aggregate.
232
+ // Error context is preserved in recommendations so it surfaces in the phase result.
221
233
  commandResults.push({
222
234
  type: 'command',
223
235
  name: phase.commands[j],
@@ -227,7 +239,12 @@ export class WorkflowExecutor {
227
239
  decision: 'FAIL',
228
240
  score: 0,
229
241
  maxScore: 100,
230
- recommendations: [],
242
+ recommendations: [{
243
+ title: `Command execution failed: ${phase.commands[j]}`,
244
+ description: errorMsg,
245
+ severity: 'critical',
246
+ failureCode: 'PRA-FRA/C',
247
+ }],
231
248
  durationMs: 0,
232
249
  metrics: { inputTokens: 0, outputTokens: 0, totalEffectiveTokens: 0, durationMs: 0, model: 'unknown', toolCalls: 0 },
233
250
  });
@@ -250,7 +267,7 @@ export class WorkflowExecutor {
250
267
  name: phase.name,
251
268
  decision,
252
269
  commands: commandResults,
253
- gateThreshold: phase.gate?.threshold ?? 70,
270
+ gateThreshold: phase.gate?.threshold ?? DEFAULT_GATE_THRESHOLD,
254
271
  score: aggregateScore,
255
272
  durationMs: Date.now() - phaseStart,
256
273
  };
@@ -313,7 +330,7 @@ export class WorkflowExecutor {
313
330
  name: phase.name,
314
331
  decision: 'blocked',
315
332
  commands: [],
316
- gateThreshold: phase.gate?.threshold ?? 70,
333
+ gateThreshold: phase.gate?.threshold ?? DEFAULT_GATE_THRESHOLD,
317
334
  score: 0,
318
335
  durationMs: 0,
319
336
  ...(error ? { error: formatErrorMessage(error) } : {}),
@@ -325,7 +342,7 @@ export class WorkflowExecutor {
325
342
  name: phase.name,
326
343
  decision: 'skipped',
327
344
  commands: [],
328
- gateThreshold: phase.gate?.threshold ?? 70,
345
+ gateThreshold: phase.gate?.threshold ?? DEFAULT_GATE_THRESHOLD,
329
346
  score: 0,
330
347
  durationMs: 0,
331
348
  };
@@ -354,6 +371,12 @@ export class WorkflowExecutor {
354
371
  return true;
355
372
  });
356
373
  }
374
+ assertWorkflowDefinition(resolved) {
375
+ if (resolved.type !== 'workflow') {
376
+ throw new WorkflowError(`WorkflowExecutor received a '${resolved.type}' definition (expected 'workflow')`, { partialResult: undefined });
377
+ }
378
+ return resolved.definition;
379
+ }
357
380
  buildPartialResult(def, phases, recommendations, startTime, hash) {
358
381
  return {
359
382
  type: 'workflow',
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowExecutor.js","sourceRoot":"","sources":["../../src/executor/WorkflowExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowExecutor.js","sourceRoot":"","sources":["../../src/executor/WorkflowExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Canonical decision register normalization.
3
+ *
4
+ * The system uses four decision vocabularies across its execution layers:
5
+ * - Validators: PASS / WARN / FAIL
6
+ * - Executors: COMPLETE / PARTIAL / FAILED
7
+ * - Workflows: SHIP / HOLD / BLOCK
8
+ * - Phases: passed / warned / blocked / skipped / aborted
9
+ *
10
+ * This helper maps any decision string to a category so that pipeline-level
11
+ * counting and classification use the same logic. New decision values MUST
12
+ * be registered here — see docs/adr/adr-001-decision-vocabulary.md.
13
+ */
14
+ export type DecisionCategory = 'positive' | 'negative' | 'conditional' | 'neutral';
15
+ export declare function classifyDecision(decision: string | undefined): DecisionCategory;
16
+ //# sourceMappingURL=classifyDecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifyDecision.d.ts","sourceRoot":"","sources":["../../src/executor/classifyDecision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAQ/E"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Canonical decision register normalization.
3
+ *
4
+ * The system uses four decision vocabularies across its execution layers:
5
+ * - Validators: PASS / WARN / FAIL
6
+ * - Executors: COMPLETE / PARTIAL / FAILED
7
+ * - Workflows: SHIP / HOLD / BLOCK
8
+ * - Phases: passed / warned / blocked / skipped / aborted
9
+ *
10
+ * This helper maps any decision string to a category so that pipeline-level
11
+ * counting and classification use the same logic. New decision values MUST
12
+ * be registered here — see docs/adr/adr-001-decision-vocabulary.md.
13
+ */
14
+ export function classifyDecision(decision) {
15
+ if (!decision)
16
+ return 'neutral';
17
+ switch (decision) {
18
+ case 'PASS':
19
+ case 'SHIP':
20
+ case 'COMPLETE': return 'positive';
21
+ case 'FAIL':
22
+ case 'FAILED':
23
+ case 'BLOCK':
24
+ case 'PARTIAL': return 'negative';
25
+ case 'WARN':
26
+ case 'HOLD': return 'conditional';
27
+ default: return 'neutral';
28
+ }
29
+ }
30
+ //# sourceMappingURL=classifyDecision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifyDecision.js","sourceRoot":"","sources":["../../src/executor/classifyDecision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC;QAAC,KAAK,MAAM,CAAC;QAAC,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7D,KAAK,MAAM,CAAC;QAAC,KAAK,QAAQ,CAAC;QAAC,KAAK,OAAO,CAAC;QAAC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC;QAC5E,KAAK,MAAM,CAAC;QAAC,KAAK,MAAM,CAAC,CAAC,OAAO,aAAa,CAAC;QAC/C,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -33,6 +33,7 @@ async function checkFileExists(check, input) {
33
33
  }
34
34
  const targetRoot = path.resolve(input.target);
35
35
  const fullPath = path.resolve(input.target, check.path);
36
+ // Logical path check — catches ../.. traversal
36
37
  if (!fullPath.startsWith(targetRoot + path.sep) && fullPath !== targetRoot) {
37
38
  throw new PreflightError(`file_exists path escapes target directory: ${check.path}`, 'file_exists', { path: check.path });
38
39
  }
@@ -42,6 +43,21 @@ async function checkFileExists(check, input) {
42
43
  catch {
43
44
  throw new PreflightError(check.message ?? `Required file not found: ${check.path}`, 'file_exists', { path: check.path });
44
45
  }
46
+ // Symlink check — resolve real paths to detect escape via symlink.
47
+ // Must run after access check so realpath has a valid target.
48
+ try {
49
+ const realTarget = await fs.realpath(targetRoot);
50
+ const realFull = await fs.realpath(fullPath);
51
+ if (!realFull.startsWith(realTarget + path.sep) && realFull !== realTarget) {
52
+ throw new PreflightError(`file_exists path escapes target directory via symlink: ${check.path}`, 'file_exists', { path: check.path });
53
+ }
54
+ }
55
+ catch (error) {
56
+ if (error instanceof PreflightError)
57
+ throw error;
58
+ // realpath failure on target root itself is unexpected — re-throw
59
+ throw new PreflightError(`Failed to resolve real path: ${error instanceof Error ? error.message : 'unknown'}`, 'file_exists', { path: check.path });
60
+ }
45
61
  }
46
62
  /**
47
63
  * Run a shell command from a CDL preflight definition.
@@ -64,8 +80,9 @@ async function checkCommand(check) {
64
80
  }
65
81
  // Reject interpreter-based code execution that bypasses the metacharacter filter.
66
82
  // Commands like `node -e "..."` or `python3 -c "..."` can execute arbitrary code
67
- // without using any blocked metacharacters.
68
- if (/\b(node|python[23]?|ruby|perl|php|lua|deno|bun)\s+(-e|--eval|-c)\b/.test(check.command)) {
83
+ // without using any blocked metacharacters. Includes shell interpreters (bash -c,
84
+ // sh -c, zsh -c) and text processing tools with eval capabilities (awk, sed).
85
+ if (/\b(bash|sh|zsh|dash|csh|fish|node|python[23]?|ruby|perl|php|lua|deno|bun|awk|gawk|mawk|nawk)\s+(-e|--eval|-c)\b/.test(check.command)) {
69
86
  throw new PreflightError(`Preflight command contains disallowed interpreter eval: ${check.command}`, 'command', { command: check.command });
70
87
  }
71
88
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/executor/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/executor/preflight.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export { TokenBudgetTracker } from './ai/TokenBudgetTracker.js';
14
14
  export { OutputExtractor } from './parser/OutputExtractor.js';
15
15
  export { ToolHandler } from './executor/ToolHandler.js';
16
16
  export { parseRef } from './utils/parseRef.js';
17
+ export { classifyDecision } from './executor/classifyDecision.js';
18
+ export type { DecisionCategory } from './executor/classifyDecision.js';
17
19
  export { STARTER_DEFINITIONS_DIR } from './constants.js';
18
20
  export type { UluOpsConfig, AIConfig, AIProviderCredentials, ResolvedConfig, ResolvedAIConfig } from './types/config.js';
19
21
  export type { DefinitionType, ExecutionType, Domain, AgentType, ExecutionInput, ExecutionResult, ExecutionMetrics, ExecutionOptions, ResolvedExecutionContext, Recommendation, } from './types/execution.js';
@@ -24,9 +26,9 @@ export type { PipelineDefinition, PipelineResult, PipelineMetrics, StageDefiniti
24
26
  export type { ResolvedDefinition, DefinitionSummary, Reference, } from './types/registry.js';
25
27
  export type { RunSubmission, RunSubmissionResponse, RunHistoryEntry, ValidationQueryOptions, FingerprintedRecommendation, RegressionInfo, } from './types/validation.js';
26
28
  export type { ParsedOutput, ParsedCategory, ParsedFinding, ExtractionOptions, ExtractionResult, } from './types/parser.js';
27
- export type { Tool, ToolUseBlock, ToolResult } from './types/tools.js';
29
+ export type { ToolUseBlock, ToolResult } from './types/tools.js';
28
30
  export type { UsageMetrics } from './types/ai.js';
29
31
  export type { Logger } from '@uluops/sdk-core';
30
- export { UluOpsError, ExecutionError, PreflightError, ConfigurationError, ModelNotFoundError, CapabilityError, ValidationError, ValidationErrorCodes, type ValidationErrorCode, WorkflowError, PipelineError, ParseError, } from './errors/index.js';
32
+ export { UluOpsError, UluOpsErrorCodes, type UluOpsErrorCode, ExecutionError, PreflightError, ConfigurationError, ModelNotFoundError, CapabilityError, ValidationError, ValidationErrorCodes, type ValidationErrorCode, WorkflowError, PipelineError, ParseError, } from './errors/index.js';
31
33
  export { SdkApiError, RateLimitError, UnauthorizedError, ForbiddenError, NotFoundError, ServiceUnavailableError, NetworkError, TimeoutError, } from './errors/index.js';
32
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,9 +17,10 @@ export { TokenBudgetTracker } from './ai/TokenBudgetTracker.js';
17
17
  export { OutputExtractor } from './parser/OutputExtractor.js';
18
18
  export { ToolHandler } from './executor/ToolHandler.js';
19
19
  export { parseRef } from './utils/parseRef.js';
20
+ export { classifyDecision } from './executor/classifyDecision.js';
20
21
  export { STARTER_DEFINITIONS_DIR } from './constants.js';
21
22
  // ─── Errors: Core SDK ─────────────────────────────────────────────────────────
22
- export { UluOpsError, ExecutionError, PreflightError, ConfigurationError, ModelNotFoundError, CapabilityError, ValidationError, ValidationErrorCodes, WorkflowError, PipelineError, ParseError, } from './errors/index.js';
23
+ export { UluOpsError, UluOpsErrorCodes, ExecutionError, PreflightError, ConfigurationError, ModelNotFoundError, CapabilityError, ValidationError, ValidationErrorCodes, WorkflowError, PipelineError, ParseError, } from './errors/index.js';
23
24
  // ─── Errors: Re-exported from @uluops/sdk-core ───────────────────────────────
24
25
  export { SdkApiError, RateLimitError, UnauthorizedError, ForbiddenError, NotFoundError, ServiceUnavailableError, NetworkError, TimeoutError, } from './errors/index.js';
25
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AA6GzD,iFAAiF;AACjF,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EAEpB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AA6GzD,iFAAiF;AACjF,OAAO,EACL,WAAW,EACX,gBAAgB,EAEhB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EAEpB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,37 @@
1
1
  import { z } from 'zod';
2
+ import type { Issue } from '../types/command.js';
3
+ /**
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
9
+ */
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
+ }>;
2
35
  /**
3
36
  * Validator output schema — extends base with category breakdown.
4
37
  */
@@ -220,4 +253,17 @@ export declare const genericOutputSchema: z.ZodObject<{
220
253
  export type ValidatorOutput = z.infer<typeof validatorOutputSchema>;
221
254
  export type ExecutorOutput = z.infer<typeof executorOutputSchema>;
222
255
  export type GenericOutput = z.infer<typeof genericOutputSchema>;
256
+ /**
257
+ * Compile-time check: issueSchema fields must be a superset of Issue fields.
258
+ * If Issue gains a field not in issueSchema, this line will produce a type error,
259
+ * preventing silent data loss from Zod dropping unknown fields.
260
+ *
261
+ * Note: Zod uses nullable (T | null), Issue uses optional (T | undefined).
262
+ * The null→undefined mapping happens in mapStructuredOutput/OutputExtractor.
263
+ */
264
+ type ZodIssue = z.infer<typeof issueSchema>;
265
+ export type _AssertIssueFieldsCovered = {
266
+ [K in keyof Required<Issue>]: K extends keyof ZodIssue ? true : never;
267
+ };
268
+ export {};
223
269
  //# 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;AAmCH;;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;AAEhE;;;;;;;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 +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;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"}
@@ -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
  *
@@ -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,
@@ -289,7 +290,7 @@ export class RegistryClient {
289
290
  const passThreshold = agent.decisions?.thresholds?.find(t => t.decision === 'positive');
290
291
  return {
291
292
  maxScore: agent.scoring.maxScore,
292
- threshold: passThreshold?.min_score ?? 75,
293
+ threshold: passThreshold?.min_score ?? DEFAULT_PASS_THRESHOLD,
293
294
  categories: agent.scoring.categories.map(c => ({
294
295
  name: c.name,
295
296
  weight: c.weight,