@uluops/core 0.5.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 (167) hide show
  1. package/README.md +543 -0
  2. package/definitions/starter/code-validator.agent.yaml +134 -0
  3. package/definitions/starter/docs-validator.agent.yaml +142 -0
  4. package/definitions/starter/public-interface-validator.agent.yaml +138 -0
  5. package/definitions/starter/security-analyst.agent.yaml +144 -0
  6. package/definitions/starter/test-architect.agent.yaml +137 -0
  7. package/dist/ai/AIProvider.d.ts +198 -0
  8. package/dist/ai/AIProvider.d.ts.map +1 -0
  9. package/dist/ai/AIProvider.js +557 -0
  10. package/dist/ai/AIProvider.js.map +1 -0
  11. package/dist/ai/ModelCatalog.d.ts +78 -0
  12. package/dist/ai/ModelCatalog.d.ts.map +1 -0
  13. package/dist/ai/ModelCatalog.js +193 -0
  14. package/dist/ai/ModelCatalog.js.map +1 -0
  15. package/dist/ai/ShellExecutor.d.ts +42 -0
  16. package/dist/ai/ShellExecutor.d.ts.map +1 -0
  17. package/dist/ai/ShellExecutor.js +62 -0
  18. package/dist/ai/ShellExecutor.js.map +1 -0
  19. package/dist/ai/TokenBudgetTracker.d.ts +49 -0
  20. package/dist/ai/TokenBudgetTracker.d.ts.map +1 -0
  21. package/dist/ai/TokenBudgetTracker.js +61 -0
  22. package/dist/ai/TokenBudgetTracker.js.map +1 -0
  23. package/dist/ai/ToolAdapter.d.ts +25 -0
  24. package/dist/ai/ToolAdapter.d.ts.map +1 -0
  25. package/dist/ai/ToolAdapter.js +135 -0
  26. package/dist/ai/ToolAdapter.js.map +1 -0
  27. package/dist/ai/index.d.ts +6 -0
  28. package/dist/ai/index.d.ts.map +1 -0
  29. package/dist/ai/index.js +4 -0
  30. package/dist/ai/index.js.map +1 -0
  31. package/dist/client/UluOpsClient.d.ts +111 -0
  32. package/dist/client/UluOpsClient.d.ts.map +1 -0
  33. package/dist/client/UluOpsClient.js +329 -0
  34. package/dist/client/UluOpsClient.js.map +1 -0
  35. package/dist/constants.d.ts +6 -0
  36. package/dist/constants.d.ts.map +1 -0
  37. package/dist/constants.js +9 -0
  38. package/dist/constants.js.map +1 -0
  39. package/dist/errors/UluOpsError.d.ts +10 -0
  40. package/dist/errors/UluOpsError.d.ts.map +1 -0
  41. package/dist/errors/UluOpsError.js +13 -0
  42. package/dist/errors/UluOpsError.js.map +1 -0
  43. package/dist/errors/index.d.ts +64 -0
  44. package/dist/errors/index.d.ts.map +1 -0
  45. package/dist/errors/index.js +93 -0
  46. package/dist/errors/index.js.map +1 -0
  47. package/dist/executor/AgentExecutor.d.ts +57 -0
  48. package/dist/executor/AgentExecutor.d.ts.map +1 -0
  49. package/dist/executor/AgentExecutor.js +331 -0
  50. package/dist/executor/AgentExecutor.js.map +1 -0
  51. package/dist/executor/CommandExecutor.d.ts +33 -0
  52. package/dist/executor/CommandExecutor.d.ts.map +1 -0
  53. package/dist/executor/CommandExecutor.js +183 -0
  54. package/dist/executor/CommandExecutor.js.map +1 -0
  55. package/dist/executor/PipelineExecutor.d.ts +55 -0
  56. package/dist/executor/PipelineExecutor.d.ts.map +1 -0
  57. package/dist/executor/PipelineExecutor.js +273 -0
  58. package/dist/executor/PipelineExecutor.js.map +1 -0
  59. package/dist/executor/ToolHandler.d.ts +47 -0
  60. package/dist/executor/ToolHandler.d.ts.map +1 -0
  61. package/dist/executor/ToolHandler.js +615 -0
  62. package/dist/executor/ToolHandler.js.map +1 -0
  63. package/dist/executor/WorkflowExecutor.d.ts +55 -0
  64. package/dist/executor/WorkflowExecutor.d.ts.map +1 -0
  65. package/dist/executor/WorkflowExecutor.js +368 -0
  66. package/dist/executor/WorkflowExecutor.js.map +1 -0
  67. package/dist/executor/preflight.d.ts +8 -0
  68. package/dist/executor/preflight.d.ts.map +1 -0
  69. package/dist/executor/preflight.js +102 -0
  70. package/dist/executor/preflight.js.map +1 -0
  71. package/dist/executor/symbols.d.ts +13 -0
  72. package/dist/executor/symbols.d.ts.map +1 -0
  73. package/dist/executor/symbols.js +102 -0
  74. package/dist/executor/symbols.js.map +1 -0
  75. package/dist/index.d.ts +32 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +25 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/parser/OutputExtractor.d.ts +52 -0
  80. package/dist/parser/OutputExtractor.d.ts.map +1 -0
  81. package/dist/parser/OutputExtractor.js +818 -0
  82. package/dist/parser/OutputExtractor.js.map +1 -0
  83. package/dist/parser/outputSchemas.d.ts +223 -0
  84. package/dist/parser/outputSchemas.d.ts.map +1 -0
  85. package/dist/parser/outputSchemas.js +73 -0
  86. package/dist/parser/outputSchemas.js.map +1 -0
  87. package/dist/registry/RegistryClient.d.ts +75 -0
  88. package/dist/registry/RegistryClient.d.ts.map +1 -0
  89. package/dist/registry/RegistryClient.js +419 -0
  90. package/dist/registry/RegistryClient.js.map +1 -0
  91. package/dist/registry/index.d.ts +2 -0
  92. package/dist/registry/index.d.ts.map +1 -0
  93. package/dist/registry/index.js +2 -0
  94. package/dist/registry/index.js.map +1 -0
  95. package/dist/types/agent.d.ts +406 -0
  96. package/dist/types/agent.d.ts.map +1 -0
  97. package/dist/types/agent.js +2 -0
  98. package/dist/types/agent.js.map +1 -0
  99. package/dist/types/ai.d.ts +14 -0
  100. package/dist/types/ai.d.ts.map +1 -0
  101. package/dist/types/ai.js +2 -0
  102. package/dist/types/ai.js.map +1 -0
  103. package/dist/types/command.d.ts +153 -0
  104. package/dist/types/command.d.ts.map +1 -0
  105. package/dist/types/command.js +2 -0
  106. package/dist/types/command.js.map +1 -0
  107. package/dist/types/config.d.ts +136 -0
  108. package/dist/types/config.d.ts.map +1 -0
  109. package/dist/types/config.js +2 -0
  110. package/dist/types/config.js.map +1 -0
  111. package/dist/types/execution.d.ts +172 -0
  112. package/dist/types/execution.d.ts.map +1 -0
  113. package/dist/types/execution.js +2 -0
  114. package/dist/types/execution.js.map +1 -0
  115. package/dist/types/index.d.ts +12 -0
  116. package/dist/types/index.d.ts.map +1 -0
  117. package/dist/types/index.js +2 -0
  118. package/dist/types/index.js.map +1 -0
  119. package/dist/types/parser.d.ts +75 -0
  120. package/dist/types/parser.d.ts.map +1 -0
  121. package/dist/types/parser.js +2 -0
  122. package/dist/types/parser.js.map +1 -0
  123. package/dist/types/pipeline.d.ts +155 -0
  124. package/dist/types/pipeline.d.ts.map +1 -0
  125. package/dist/types/pipeline.js +2 -0
  126. package/dist/types/pipeline.js.map +1 -0
  127. package/dist/types/registry.d.ts +232 -0
  128. package/dist/types/registry.d.ts.map +1 -0
  129. package/dist/types/registry.js +2 -0
  130. package/dist/types/registry.js.map +1 -0
  131. package/dist/types/tools.d.ts +29 -0
  132. package/dist/types/tools.d.ts.map +1 -0
  133. package/dist/types/tools.js +2 -0
  134. package/dist/types/tools.js.map +1 -0
  135. package/dist/types/validation.d.ts +237 -0
  136. package/dist/types/validation.d.ts.map +1 -0
  137. package/dist/types/validation.js +2 -0
  138. package/dist/types/validation.js.map +1 -0
  139. package/dist/types/workflow.d.ts +131 -0
  140. package/dist/types/workflow.d.ts.map +1 -0
  141. package/dist/types/workflow.js +2 -0
  142. package/dist/types/workflow.js.map +1 -0
  143. package/dist/utils/formatError.d.ts +6 -0
  144. package/dist/utils/formatError.d.ts.map +1 -0
  145. package/dist/utils/formatError.js +10 -0
  146. package/dist/utils/formatError.js.map +1 -0
  147. package/dist/utils/parseRef.d.ts +11 -0
  148. package/dist/utils/parseRef.d.ts.map +1 -0
  149. package/dist/utils/parseRef.js +16 -0
  150. package/dist/utils/parseRef.js.map +1 -0
  151. package/dist/utils/sumTokenMetrics.d.ts +9 -0
  152. package/dist/utils/sumTokenMetrics.d.ts.map +1 -0
  153. package/dist/utils/sumTokenMetrics.js +20 -0
  154. package/dist/utils/sumTokenMetrics.js.map +1 -0
  155. package/dist/utils/topoSort.d.ts +24 -0
  156. package/dist/utils/topoSort.d.ts.map +1 -0
  157. package/dist/utils/topoSort.js +60 -0
  158. package/dist/utils/topoSort.js.map +1 -0
  159. package/dist/validation/ValidationClient.d.ts +51 -0
  160. package/dist/validation/ValidationClient.d.ts.map +1 -0
  161. package/dist/validation/ValidationClient.js +179 -0
  162. package/dist/validation/ValidationClient.js.map +1 -0
  163. package/dist/validation/index.d.ts +2 -0
  164. package/dist/validation/index.d.ts.map +1 -0
  165. package/dist/validation/index.js +2 -0
  166. package/dist/validation/index.js.map +1 -0
  167. package/package.json +76 -0
@@ -0,0 +1,232 @@
1
+ import type { DefinitionType, Domain, AgentType } from './execution.js';
2
+ import type { AgentDefinition } from './agent.js';
3
+ import type { CommandDefinition } from './command.js';
4
+ import type { WorkflowDefinition } from './workflow.js';
5
+ import type { PipelineDefinition } from './pipeline.js';
6
+ /**
7
+ * Resolved definition from registry
8
+ */
9
+ export interface ResolvedDefinition {
10
+ /** Definition type */
11
+ type: DefinitionType;
12
+ /** Definition name */
13
+ name: string;
14
+ /** Resolved version */
15
+ version: string;
16
+ /** SHA-256 hash of source YAML */
17
+ hash: string;
18
+ /** Raw YAML content */
19
+ yaml: string;
20
+ /** Parsed definition */
21
+ definition: AgentDefinition | CommandDefinition | WorkflowDefinition | PipelineDefinition;
22
+ /** Rendered runtime - type depends on agentType */
23
+ runtime: ValidatorRuntime | ExecutorRuntime | WorkflowRuntime | PipelineRuntime;
24
+ /** Domain classification */
25
+ domain: Domain;
26
+ /** Agent type (only for agents/commands) */
27
+ agentType?: AgentType;
28
+ }
29
+ /**
30
+ * Runtime configuration for validator agents
31
+ */
32
+ export interface ValidatorRuntime {
33
+ /** Complete system prompt */
34
+ prompt: string;
35
+ /** Agent interface metadata (tools, name, etc.) */
36
+ interface?: {
37
+ tools?: string[];
38
+ [key: string]: unknown;
39
+ };
40
+ /** Default execution settings */
41
+ defaults: {
42
+ model: string;
43
+ timeout: number;
44
+ maxTokens?: number;
45
+ temperature?: number;
46
+ thresholds?: {
47
+ pass?: number;
48
+ warn?: number;
49
+ };
50
+ };
51
+ /** Scoring configuration */
52
+ config: {
53
+ maxScore: number;
54
+ threshold: number;
55
+ categories: CategoryConfig[];
56
+ outputSchema: string;
57
+ };
58
+ }
59
+ /**
60
+ * Runtime configuration for executor agents
61
+ */
62
+ export interface ExecutorRuntime {
63
+ /** Complete system prompt */
64
+ prompt: string;
65
+ /** Agent interface metadata (tools, name, etc.) */
66
+ interface?: {
67
+ tools?: string[];
68
+ [key: string]: unknown;
69
+ };
70
+ /** Default execution settings */
71
+ defaults: {
72
+ model: string;
73
+ timeout: number;
74
+ maxTokens?: number;
75
+ temperature?: number;
76
+ };
77
+ /** Execution configuration */
78
+ config: {
79
+ mode: string;
80
+ inputs: InputConfig[];
81
+ tasks: TaskConfig[];
82
+ outputs: OutputConfig[];
83
+ completionCriteria: string[];
84
+ outputSchema: string;
85
+ };
86
+ }
87
+ /**
88
+ * Scoring category configuration
89
+ */
90
+ export interface CategoryConfig {
91
+ name: string;
92
+ weight: number;
93
+ criteria: CriteriaConfig[];
94
+ description?: string;
95
+ }
96
+ /**
97
+ * Individual scoring criterion
98
+ */
99
+ export interface CriteriaConfig {
100
+ name: string;
101
+ points: number;
102
+ description?: string;
103
+ }
104
+ /**
105
+ * Input configuration for executors
106
+ */
107
+ export interface InputConfig {
108
+ name: string;
109
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
110
+ description: string;
111
+ required?: boolean;
112
+ default?: unknown;
113
+ }
114
+ /**
115
+ * Task configuration for executors
116
+ */
117
+ export interface TaskConfig {
118
+ id: string;
119
+ name: string;
120
+ description: string;
121
+ depends_on?: string[];
122
+ }
123
+ /**
124
+ * Output configuration for executors
125
+ */
126
+ export interface OutputConfig {
127
+ name: string;
128
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
129
+ description: string;
130
+ }
131
+ /**
132
+ * Runtime configuration for workflows
133
+ */
134
+ export interface WorkflowRuntime {
135
+ phases: PhaseConfig[];
136
+ onFailure: 'stop' | 'continue' | 'abort' | 'warn';
137
+ aggregation: AggregationConfig;
138
+ outputs?: OutputMapping[];
139
+ }
140
+ /**
141
+ * Runtime configuration for pipelines
142
+ */
143
+ export interface PipelineRuntime {
144
+ stages: StageConfig[];
145
+ triggers: TriggerConfig[];
146
+ state: StateConfig;
147
+ }
148
+ /**
149
+ * Workflow phase configuration
150
+ */
151
+ export interface PhaseConfig {
152
+ id: string;
153
+ name: string;
154
+ type?: 'validate' | 'execute' | 'mixed';
155
+ commands: string[];
156
+ depends_on?: string[];
157
+ gate?: {
158
+ threshold: number;
159
+ aggregate?: 'min' | 'max' | 'average';
160
+ on_fail?: 'stop' | 'warn' | 'abort';
161
+ };
162
+ inputs?: Record<string, string>;
163
+ skip_if?: string;
164
+ }
165
+ /**
166
+ * Score aggregation configuration
167
+ */
168
+ export interface AggregationConfig {
169
+ method: 'average' | 'weighted_average' | 'min' | 'max' | 'sum';
170
+ weights?: Record<string, number>;
171
+ }
172
+ /**
173
+ * Output mapping for workflows
174
+ */
175
+ export interface OutputMapping {
176
+ name: string;
177
+ source: string;
178
+ }
179
+ /**
180
+ * Pipeline stage configuration
181
+ */
182
+ export interface StageConfig {
183
+ id: string;
184
+ name: string;
185
+ type: 'workflow' | 'command';
186
+ ref: string;
187
+ depends_on?: string[];
188
+ condition?: string;
189
+ }
190
+ /**
191
+ * Pipeline trigger configuration
192
+ */
193
+ export interface TriggerConfig {
194
+ type: 'webhook' | 'schedule' | 'event' | 'manual';
195
+ event?: string;
196
+ cron?: string;
197
+ }
198
+ /**
199
+ * Pipeline state configuration
200
+ */
201
+ export interface StateConfig {
202
+ persistence: boolean;
203
+ ttl: string;
204
+ }
205
+ /**
206
+ * Definition summary for listings
207
+ */
208
+ export interface DefinitionSummary {
209
+ type: DefinitionType;
210
+ name: string;
211
+ version: string;
212
+ displayName: string;
213
+ description: string;
214
+ domain: Domain;
215
+ subdomain?: string;
216
+ agentType?: AgentType;
217
+ status: 'draft' | 'published' | 'deprecated' | 'archived';
218
+ tags?: string[];
219
+ }
220
+ /**
221
+ * Definition reference (for dependency tracking)
222
+ */
223
+ export interface Reference {
224
+ fromType: DefinitionType;
225
+ fromName: string;
226
+ fromVersion: string;
227
+ toType: DefinitionType;
228
+ toName: string;
229
+ toVersion: string;
230
+ context: string;
231
+ }
232
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Tool definition for LLM API
3
+ */
4
+ export interface Tool {
5
+ name: string;
6
+ description: string;
7
+ input_schema: {
8
+ type: 'object';
9
+ properties: Record<string, unknown>;
10
+ required?: string[];
11
+ };
12
+ }
13
+ /**
14
+ * Tool use request from LLM
15
+ */
16
+ export interface ToolUseBlock {
17
+ id: string;
18
+ name: string;
19
+ input: Record<string, unknown>;
20
+ }
21
+ /**
22
+ * Tool result to send back to LLM
23
+ */
24
+ export interface ToolResult {
25
+ tool_use_id: string;
26
+ content: string;
27
+ is_error?: boolean;
28
+ }
29
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":""}
@@ -0,0 +1,237 @@
1
+ import type { ExecutionResult, Recommendation } from './execution.js';
2
+ import type { AgentResult } from './agent.js';
3
+ /**
4
+ * Validator snapshot for API submission
5
+ * Matches Validation API's validator object format
6
+ */
7
+ export interface ValidatorSnapshot {
8
+ /** Validator name */
9
+ name: string;
10
+ /** Score (0-100) */
11
+ score: number;
12
+ /** Maximum possible score */
13
+ max_score?: number;
14
+ /** Status (e.g., 'PASS', 'FAIL', 'WARN') */
15
+ status: string;
16
+ /** Model used */
17
+ model?: string;
18
+ /** Token usage metrics */
19
+ tokens?: {
20
+ input_tokens: number;
21
+ output_tokens: number;
22
+ cache_creation?: number;
23
+ cache_read?: number;
24
+ total_effective?: number;
25
+ };
26
+ /** Execution duration in milliseconds */
27
+ duration_ms?: number;
28
+ }
29
+ /**
30
+ * Recommendation payload for API submission
31
+ * Uses snake_case to match Validation API format
32
+ */
33
+ export interface RecommendationPayload {
34
+ /** Source validator */
35
+ validator: string;
36
+ /** Issue title */
37
+ title: string;
38
+ /** Priority level */
39
+ priority: 'critical' | 'suggested' | 'backlog';
40
+ /** Severity level */
41
+ severity?: 'critical' | 'high' | 'medium' | 'low' | 'info';
42
+ /** Failure code (e.g., 'STR-SYN/C') */
43
+ failure_code?: string;
44
+ /** Failure domain */
45
+ failure_domain?: 'STR' | 'SEM' | 'PRA' | 'EPI';
46
+ /** Failure mode code */
47
+ failure_mode?: string;
48
+ /** Issue category */
49
+ category?: string;
50
+ /** File path */
51
+ file_path?: string;
52
+ /** Line number */
53
+ line_number?: number;
54
+ /** Detailed description */
55
+ description?: string;
56
+ /** Classification confidence */
57
+ classification_confidence?: 'high' | 'medium' | 'low';
58
+ /** Who classified this */
59
+ classified_by?: 'validator' | 'classifier' | 'human';
60
+ /** Secondary failure codes */
61
+ secondary_failure_codes?: string[];
62
+ /** Taxonomy version */
63
+ taxonomy_version?: string;
64
+ }
65
+ /**
66
+ * Run submission request to Validation API
67
+ */
68
+ export interface ValidationRunRequest {
69
+ /** Project name */
70
+ project: string;
71
+ /** Workflow type (e.g., 'post-implementation', 'ship') */
72
+ workflow_type: string;
73
+ /** Idempotency key for duplicate prevention */
74
+ idempotency_key?: string;
75
+ /** Validator snapshots */
76
+ validators: ValidatorSnapshot[];
77
+ /** Recommendations/issues found */
78
+ recommendations: RecommendationPayload[];
79
+ /** Run timestamp */
80
+ timestamp?: string;
81
+ /** Raw markdown output */
82
+ raw_markdown?: string;
83
+ /** Summary statistics */
84
+ summary?: {
85
+ all_gates_passed: boolean;
86
+ average_score: number;
87
+ };
88
+ }
89
+ /**
90
+ * Correlated issue from API response
91
+ */
92
+ export interface CorrelatedIssue {
93
+ /** Issue UUID */
94
+ id: string;
95
+ /** Issue title */
96
+ title: string;
97
+ /** SHA-256 fingerprint */
98
+ fingerprint: string;
99
+ /** Occurrence count (for recurring issues) */
100
+ occurrenceCount?: number;
101
+ /** Run ID where resolved (for regressions) */
102
+ resolvedRunId?: string;
103
+ }
104
+ /**
105
+ * Raw API response from POST /v1/runs
106
+ */
107
+ export interface ValidationAPIRunResponse {
108
+ data: {
109
+ run: {
110
+ id: string;
111
+ projectId: string;
112
+ runNumber: number;
113
+ workflowType: string;
114
+ timestamp: string;
115
+ allGatesPassed: boolean;
116
+ averageScore: number;
117
+ idempotencyKey?: string;
118
+ };
119
+ validators: ValidatorSnapshot[];
120
+ correlation: {
121
+ new_issues: CorrelatedIssue[];
122
+ recurring_issues: CorrelatedIssue[];
123
+ regressions: CorrelatedIssue[];
124
+ };
125
+ deduplicated: boolean;
126
+ };
127
+ }
128
+ /**
129
+ * SDK's high-level run submission input
130
+ */
131
+ export interface RunSubmission {
132
+ /** Project name */
133
+ project: string;
134
+ /** Workflow/definition name */
135
+ workflowType: string;
136
+ /** Execution result to submit (agent results are also accepted) */
137
+ result: ExecutionResult | AgentResult;
138
+ /** Optional idempotency key */
139
+ idempotencyKey?: string;
140
+ /** Optional raw markdown output */
141
+ rawMarkdown?: string;
142
+ }
143
+ /**
144
+ * SDK's high-level response after submission.
145
+ *
146
+ * Correlation contains issue counts from the Validation API.
147
+ * For full issue details (CorrelatedIssue arrays), use `@uluops/ops-sdk` directly.
148
+ */
149
+ export interface RunSubmissionResponse {
150
+ /** Unique run identifier */
151
+ runId: string;
152
+ /** Run number within project */
153
+ runNumber: number;
154
+ /** Project ID */
155
+ projectId: string;
156
+ /** Dashboard URL for this run */
157
+ dashboardUrl: string;
158
+ /** Whether all validation gates passed */
159
+ allGatesPassed: boolean;
160
+ /** Average score across validators */
161
+ averageScore: number;
162
+ /** Issue correlation counts from validation API */
163
+ correlation: {
164
+ newIssues: number;
165
+ recurringIssues: number;
166
+ regressions: number;
167
+ };
168
+ /** Whether this was a deduplicated response */
169
+ deduplicated: boolean;
170
+ }
171
+ /**
172
+ * Recommendation with fingerprint from validation service
173
+ */
174
+ export interface FingerprintedRecommendation extends Recommendation {
175
+ /** Stable fingerprint for correlation */
176
+ fingerprint: string;
177
+ /** First seen timestamp */
178
+ firstSeen: string;
179
+ /** Occurrence count across runs */
180
+ occurrenceCount: number;
181
+ /** Status */
182
+ status: 'new' | 'recurring' | 'resolved';
183
+ }
184
+ /**
185
+ * Regression information
186
+ */
187
+ export interface RegressionInfo {
188
+ /** Recommendation that regressed */
189
+ recommendation: FingerprintedRecommendation;
190
+ /** Previous run where it was resolved */
191
+ previousRunId: string;
192
+ /** How long it was resolved */
193
+ resolvedDuration: string;
194
+ }
195
+ /**
196
+ * Query options for validation service run history
197
+ */
198
+ export interface ValidationQueryOptions {
199
+ /** Filter by project */
200
+ project?: string;
201
+ /** Filter by workflow type */
202
+ workflowType?: string;
203
+ /** Limit results (1-100) */
204
+ limit?: number;
205
+ }
206
+ /**
207
+ * Run history entry - matches Validation API Run model
208
+ */
209
+ export interface RunHistoryEntry {
210
+ /** Run UUID */
211
+ id: string;
212
+ /** Project UUID */
213
+ projectId: string;
214
+ /** Sequential run number within project */
215
+ runNumber: number;
216
+ /** Workflow type */
217
+ workflowType: string;
218
+ /** Run timestamp */
219
+ timestamp: string;
220
+ /** Whether all validation gates passed */
221
+ allGatesPassed: boolean;
222
+ /** Average score across validators */
223
+ averageScore: number;
224
+ /** Raw markdown output (if stored) */
225
+ rawMarkdown?: string;
226
+ /** Archive timestamp (if archived) */
227
+ archivedAt?: string;
228
+ /** Archive reason (if archived) */
229
+ archiveReason?: string;
230
+ /** Idempotency key (if provided) */
231
+ idempotencyKey?: string;
232
+ /** Creation timestamp */
233
+ createdAt: string;
234
+ /** Last update timestamp */
235
+ updatedAt: string;
236
+ }
237
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,131 @@
1
+ import type { ExecutionResult, ExecutionMetrics, Domain } from './execution.js';
2
+ import type { CommandResult } from './command.js';
3
+ /**
4
+ * Workflow definition - multi-phase command orchestration
5
+ */
6
+ export interface WorkflowDefinition {
7
+ workflow: {
8
+ /** Workflow metadata */
9
+ interface: {
10
+ name: string;
11
+ version: string;
12
+ displayName: string;
13
+ description: string;
14
+ domain: Domain;
15
+ subdomain?: string;
16
+ };
17
+ /** Phase orchestration */
18
+ orchestration: {
19
+ /** Ordered phases */
20
+ phases: PhaseDefinition[];
21
+ /** Behavior on phase failure */
22
+ on_failure: 'stop' | 'continue' | 'abort' | 'warn';
23
+ /** Maximum concurrent phases (default: unlimited) */
24
+ max_parallel?: number;
25
+ };
26
+ /** Result aggregation */
27
+ aggregation: {
28
+ /** Score aggregation */
29
+ score: {
30
+ method: 'average' | 'weighted_average' | 'min' | 'max' | 'sum';
31
+ weights?: Record<string, number>;
32
+ };
33
+ /** Decision mapping */
34
+ decision: {
35
+ SHIP: string;
36
+ HOLD: string;
37
+ BLOCK: string;
38
+ };
39
+ };
40
+ };
41
+ }
42
+ /**
43
+ * Phase definition within a workflow
44
+ */
45
+ export interface PhaseDefinition {
46
+ id: string;
47
+ name: string;
48
+ /** Phase type hint */
49
+ type?: 'validate' | 'execute' | 'mixed';
50
+ /** Commands to execute in this phase (refs in name@version format) */
51
+ commands: string[];
52
+ /** Execute commands in parallel */
53
+ parallel?: boolean;
54
+ /** Phase dependencies */
55
+ depends_on?: string[];
56
+ /** Input mappings from previous phases */
57
+ inputs?: Record<string, string>;
58
+ /** Skip condition expression */
59
+ skip_if?: string;
60
+ /** Phase gate (validators only) */
61
+ gate?: {
62
+ threshold: number;
63
+ aggregate: 'average' | 'min' | 'max';
64
+ on_fail: 'stop' | 'warn' | 'abort';
65
+ };
66
+ }
67
+ /**
68
+ * Workflow execution result
69
+ */
70
+ export interface WorkflowResult extends ExecutionResult {
71
+ type: 'workflow';
72
+ /** Phase-by-phase results */
73
+ phases: PhaseResult[];
74
+ /** Path to generated features list (if enabled) */
75
+ featuresListPath?: string;
76
+ /** Workflow-specific metrics */
77
+ metrics: WorkflowMetrics;
78
+ }
79
+ /**
80
+ * Workflow-specific metrics
81
+ */
82
+ export interface WorkflowMetrics extends ExecutionMetrics {
83
+ /** Number of phases executed */
84
+ phasesExecuted: number;
85
+ /** Number of phases passed */
86
+ phasesPassed: number;
87
+ /** Number of phases warned */
88
+ phasesWarned: number;
89
+ /** Number of phases blocked */
90
+ phasesBlocked: number;
91
+ /** Number of phases skipped */
92
+ phasesSkipped: number;
93
+ /** Number of phases aborted */
94
+ phasesAborted: number;
95
+ /** Per-command metrics breakdown */
96
+ commands: CommandMetricsSummary[];
97
+ }
98
+ /**
99
+ * Per-command metrics within a workflow
100
+ */
101
+ export interface CommandMetricsSummary {
102
+ name: string;
103
+ score: number;
104
+ decision: string;
105
+ inputTokens: number;
106
+ outputTokens: number;
107
+ durationMs: number;
108
+ costUsd?: number;
109
+ }
110
+ /**
111
+ * Result for a single phase
112
+ */
113
+ export interface PhaseResult {
114
+ /** Phase identifier */
115
+ id: string;
116
+ /** Phase display name */
117
+ name: string;
118
+ /** Phase decision */
119
+ decision: 'passed' | 'warned' | 'blocked' | 'skipped' | 'aborted';
120
+ /** Command results within phase */
121
+ commands: CommandResult[];
122
+ /** Gate threshold that was applied */
123
+ gateThreshold: number;
124
+ /** Aggregated phase score */
125
+ score: number;
126
+ /** Phase duration */
127
+ durationMs: number;
128
+ /** Error message when phase threw (blocked phases only) */
129
+ error?: string;
130
+ }
131
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workflow.js.map