@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.
- package/README.md +543 -0
- package/definitions/starter/code-validator.agent.yaml +134 -0
- package/definitions/starter/docs-validator.agent.yaml +142 -0
- package/definitions/starter/public-interface-validator.agent.yaml +138 -0
- package/definitions/starter/security-analyst.agent.yaml +144 -0
- package/definitions/starter/test-architect.agent.yaml +137 -0
- package/dist/ai/AIProvider.d.ts +198 -0
- package/dist/ai/AIProvider.d.ts.map +1 -0
- package/dist/ai/AIProvider.js +557 -0
- package/dist/ai/AIProvider.js.map +1 -0
- package/dist/ai/ModelCatalog.d.ts +78 -0
- package/dist/ai/ModelCatalog.d.ts.map +1 -0
- package/dist/ai/ModelCatalog.js +193 -0
- package/dist/ai/ModelCatalog.js.map +1 -0
- package/dist/ai/ShellExecutor.d.ts +42 -0
- package/dist/ai/ShellExecutor.d.ts.map +1 -0
- package/dist/ai/ShellExecutor.js +62 -0
- package/dist/ai/ShellExecutor.js.map +1 -0
- package/dist/ai/TokenBudgetTracker.d.ts +49 -0
- package/dist/ai/TokenBudgetTracker.d.ts.map +1 -0
- package/dist/ai/TokenBudgetTracker.js +61 -0
- package/dist/ai/TokenBudgetTracker.js.map +1 -0
- package/dist/ai/ToolAdapter.d.ts +25 -0
- package/dist/ai/ToolAdapter.d.ts.map +1 -0
- package/dist/ai/ToolAdapter.js +135 -0
- package/dist/ai/ToolAdapter.js.map +1 -0
- package/dist/ai/index.d.ts +6 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +4 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/client/UluOpsClient.d.ts +111 -0
- package/dist/client/UluOpsClient.d.ts.map +1 -0
- package/dist/client/UluOpsClient.js +329 -0
- package/dist/client/UluOpsClient.js.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors/UluOpsError.d.ts +10 -0
- package/dist/errors/UluOpsError.d.ts.map +1 -0
- package/dist/errors/UluOpsError.js +13 -0
- package/dist/errors/UluOpsError.js.map +1 -0
- package/dist/errors/index.d.ts +64 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +93 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/executor/AgentExecutor.d.ts +57 -0
- package/dist/executor/AgentExecutor.d.ts.map +1 -0
- package/dist/executor/AgentExecutor.js +331 -0
- package/dist/executor/AgentExecutor.js.map +1 -0
- package/dist/executor/CommandExecutor.d.ts +33 -0
- package/dist/executor/CommandExecutor.d.ts.map +1 -0
- package/dist/executor/CommandExecutor.js +183 -0
- package/dist/executor/CommandExecutor.js.map +1 -0
- package/dist/executor/PipelineExecutor.d.ts +55 -0
- package/dist/executor/PipelineExecutor.d.ts.map +1 -0
- package/dist/executor/PipelineExecutor.js +273 -0
- package/dist/executor/PipelineExecutor.js.map +1 -0
- package/dist/executor/ToolHandler.d.ts +47 -0
- package/dist/executor/ToolHandler.d.ts.map +1 -0
- package/dist/executor/ToolHandler.js +615 -0
- package/dist/executor/ToolHandler.js.map +1 -0
- package/dist/executor/WorkflowExecutor.d.ts +55 -0
- package/dist/executor/WorkflowExecutor.d.ts.map +1 -0
- package/dist/executor/WorkflowExecutor.js +368 -0
- package/dist/executor/WorkflowExecutor.js.map +1 -0
- package/dist/executor/preflight.d.ts +8 -0
- package/dist/executor/preflight.d.ts.map +1 -0
- package/dist/executor/preflight.js +102 -0
- package/dist/executor/preflight.js.map +1 -0
- package/dist/executor/symbols.d.ts +13 -0
- package/dist/executor/symbols.d.ts.map +1 -0
- package/dist/executor/symbols.js +102 -0
- package/dist/executor/symbols.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/OutputExtractor.d.ts +52 -0
- package/dist/parser/OutputExtractor.d.ts.map +1 -0
- package/dist/parser/OutputExtractor.js +818 -0
- package/dist/parser/OutputExtractor.js.map +1 -0
- package/dist/parser/outputSchemas.d.ts +223 -0
- package/dist/parser/outputSchemas.d.ts.map +1 -0
- package/dist/parser/outputSchemas.js +73 -0
- package/dist/parser/outputSchemas.js.map +1 -0
- package/dist/registry/RegistryClient.d.ts +75 -0
- package/dist/registry/RegistryClient.d.ts.map +1 -0
- package/dist/registry/RegistryClient.js +419 -0
- package/dist/registry/RegistryClient.js.map +1 -0
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +2 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/types/agent.d.ts +406 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +2 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/ai.d.ts +14 -0
- package/dist/types/ai.d.ts.map +1 -0
- package/dist/types/ai.js +2 -0
- package/dist/types/ai.js.map +1 -0
- package/dist/types/command.d.ts +153 -0
- package/dist/types/command.d.ts.map +1 -0
- package/dist/types/command.js +2 -0
- package/dist/types/command.js.map +1 -0
- package/dist/types/config.d.ts +136 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/execution.d.ts +172 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +2 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/parser.d.ts +75 -0
- package/dist/types/parser.d.ts.map +1 -0
- package/dist/types/parser.js +2 -0
- package/dist/types/parser.js.map +1 -0
- package/dist/types/pipeline.d.ts +155 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/registry.d.ts +232 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/registry.js +2 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types/tools.d.ts +29 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +2 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/validation.d.ts +237 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +2 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/workflow.d.ts +131 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +2 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/formatError.d.ts +6 -0
- package/dist/utils/formatError.d.ts.map +1 -0
- package/dist/utils/formatError.js +10 -0
- package/dist/utils/formatError.js.map +1 -0
- package/dist/utils/parseRef.d.ts +11 -0
- package/dist/utils/parseRef.d.ts.map +1 -0
- package/dist/utils/parseRef.js +16 -0
- package/dist/utils/parseRef.js.map +1 -0
- package/dist/utils/sumTokenMetrics.d.ts +9 -0
- package/dist/utils/sumTokenMetrics.d.ts.map +1 -0
- package/dist/utils/sumTokenMetrics.js +20 -0
- package/dist/utils/sumTokenMetrics.js.map +1 -0
- package/dist/utils/topoSort.d.ts +24 -0
- package/dist/utils/topoSort.d.ts.map +1 -0
- package/dist/utils/topoSort.js +60 -0
- package/dist/utils/topoSort.js.map +1 -0
- package/dist/validation/ValidationClient.d.ts +51 -0
- package/dist/validation/ValidationClient.d.ts.map +1 -0
- package/dist/validation/ValidationClient.js +179 -0
- package/dist/validation/ValidationClient.js.map +1 -0
- package/dist/validation/index.d.ts +2 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +2 -0
- package/dist/validation/index.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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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"}
|