@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,136 @@
1
+ /**
2
+ * AI provider credentials
3
+ */
4
+ export interface AIProviderCredentials {
5
+ /** Provider API key. Falls back to standard env var (e.g., ANTHROPIC_API_KEY) */
6
+ apiKey?: string;
7
+ }
8
+ /**
9
+ * AI configuration — provider credentials and model resolution.
10
+ *
11
+ * Provider names match models.dev / AI SDK conventions
12
+ * (e.g., 'anthropic', 'openai', 'google').
13
+ */
14
+ export interface AIConfig {
15
+ /**
16
+ * Provider credentials keyed by provider name.
17
+ * Only configured providers can be used for execution.
18
+ * `@ai-sdk/anthropic`, `@ai-sdk/openai`, and `@ai-sdk/google` are bundled.
19
+ * Other providers require installing `@ai-sdk/<provider>` as a peer dependency.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * providers: {
24
+ * anthropic: { apiKey: process.env.ANTHROPIC_API_KEY },
25
+ * openai: { apiKey: process.env.OPENAI_API_KEY },
26
+ * google: { apiKey: process.env.GOOGLE_API_KEY },
27
+ * }
28
+ * ```
29
+ */
30
+ providers: Record<string, AIProviderCredentials>;
31
+ /**
32
+ * Default provider when model alias doesn't include a provider prefix.
33
+ * @default 'anthropic'
34
+ */
35
+ defaultProvider?: string;
36
+ /**
37
+ * Model override for all executions (alias, tier, or provider:modelId).
38
+ * When set, overrides model selection from definition files.
39
+ */
40
+ modelOverride?: string;
41
+ }
42
+ /**
43
+ * Resolved AI configuration with defaults applied
44
+ */
45
+ export interface ResolvedAIConfig {
46
+ providers: Record<string, {
47
+ apiKey: string;
48
+ }>;
49
+ defaultProvider: string;
50
+ modelOverride?: string;
51
+ }
52
+ /**
53
+ * SDK Configuration
54
+ */
55
+ export interface UluOpsConfig {
56
+ /**
57
+ * UluOps platform API key for registry and validation services.
58
+ * Falls back to ULUOPS_API_KEY or ULU_API_KEY env var.
59
+ * This key authenticates against UluOps services only, NOT AI providers.
60
+ */
61
+ apiKey?: string;
62
+ /**
63
+ * AI provider configuration.
64
+ * Separates AI provider credentials from UluOps platform auth.
65
+ *
66
+ * If omitted, defaults to Anthropic with ANTHROPIC_API_KEY env var.
67
+ */
68
+ ai?: AIConfig;
69
+ /**
70
+ * Base URL for uluops-registry-api
71
+ * @default "https://api.uluops.ai/api/v1/registry"
72
+ */
73
+ registryUrl?: string;
74
+ /**
75
+ * Base URL for uluops-validation-api
76
+ * @default "https://api.uluops.ai/api/v1/ops"
77
+ */
78
+ validationUrl?: string;
79
+ /**
80
+ * Base URL for dashboard links
81
+ * @default "https://app.uluops.ai"
82
+ */
83
+ dashboardUrl?: string;
84
+ /**
85
+ * Local definitions directory for development
86
+ * When set, SDK looks here first before remote registry
87
+ * Supports: *.agent.yaml, *.command.yaml, *.workflow.yaml, *.pipeline.yaml
88
+ */
89
+ localDefinitions?: string;
90
+ /**
91
+ * Enable result submission to validation service
92
+ * @default true
93
+ */
94
+ trackingEnabled?: boolean;
95
+ /** Request timeout in ms (default: 300000) */
96
+ timeout?: number;
97
+ /** Default project name for validation service */
98
+ defaultProject?: string;
99
+ /**
100
+ * Default extended thinking budget in tokens.
101
+ * Used when a model supports extendedThinking and no per-call budget is specified.
102
+ * @default 10000
103
+ */
104
+ defaultThinkingBudget?: number;
105
+ /**
106
+ * Enable detailed execution logging (model resolution, prompt sizes,
107
+ * per-step tool calls, usage). Falls back to ULUOPS_DEBUG env var.
108
+ * @default false
109
+ */
110
+ debug?: boolean;
111
+ /**
112
+ * Context window budget in tokens for agent execution.
113
+ * When usage exceeds 80%, the agent is forced to produce output instead of calling more tools.
114
+ * Also enables Anthropic context management (auto-clearing old tool uses at 50%).
115
+ * @default 200000
116
+ */
117
+ contextBudget?: number;
118
+ }
119
+ /**
120
+ * Validated configuration with defaults applied
121
+ */
122
+ export interface ResolvedConfig {
123
+ apiKey: string;
124
+ ai: ResolvedAIConfig;
125
+ registryUrl: string;
126
+ validationUrl: string;
127
+ dashboardUrl: string;
128
+ localDefinitions?: string;
129
+ trackingEnabled: boolean;
130
+ timeout: number;
131
+ defaultProject?: string;
132
+ defaultThinkingBudget: number;
133
+ debug: boolean;
134
+ contextBudget: number;
135
+ }
136
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEjD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,gBAAgB,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Definition type discriminator
3
+ */
4
+ export type DefinitionType = 'agent' | 'command' | 'workflow' | 'pipeline';
5
+ /**
6
+ * Execution type discriminator (excludes agent - agents aren't directly executable)
7
+ */
8
+ export type ExecutionType = 'command' | 'workflow' | 'pipeline';
9
+ /**
10
+ * Domain classification for definitions
11
+ */
12
+ export type Domain = 'software' | 'legal' | 'medical' | 'financial' | 'scientific' | 'content' | 'general';
13
+ /**
14
+ * Agent type discriminator.
15
+ *
16
+ * - `validator` — Scores code against criteria, produces pass/warn/fail decisions
17
+ * - `executor` — Performs actions (refactoring, generation), produces complete/partial/failed decisions
18
+ * - `analyst` — Analyzes patterns and trends, produces analytical reports
19
+ * - `generator` — Creates new artifacts (scaffolding, templates, documentation)
20
+ */
21
+ export type AgentType = 'validator' | 'executor' | 'analyst' | 'generator' | 'explorer' | 'forecaster';
22
+ /**
23
+ * Base input for all execution types
24
+ */
25
+ export interface ExecutionInput {
26
+ /** Target path to analyze */
27
+ target: string;
28
+ /** Execution options */
29
+ options?: Record<string, unknown>;
30
+ }
31
+ /**
32
+ * Base result for all execution types
33
+ */
34
+ export interface ExecutionResult {
35
+ /** Execution type discriminator */
36
+ type: ExecutionType;
37
+ /** Name of executed definition */
38
+ name: string;
39
+ /** Version executed */
40
+ version: string;
41
+ /** Definition hash for audit trail */
42
+ definitionHash: string;
43
+ /** Final decision */
44
+ decision: string;
45
+ /** Aggregated score (0-100). Optional — not all execution types produce scores. */
46
+ score?: number;
47
+ /** Total execution duration */
48
+ durationMs: number;
49
+ /** Dashboard URL for this run (populated after validation service submission) */
50
+ dashboardUrl?: string;
51
+ /** All recommendations (flattened for workflows/pipelines) */
52
+ recommendations: Recommendation[];
53
+ /** Execution metrics */
54
+ metrics: ExecutionMetrics;
55
+ }
56
+ /**
57
+ * Base metrics collected for all executions
58
+ */
59
+ export interface ExecutionMetrics {
60
+ /** Total input tokens */
61
+ inputTokens: number;
62
+ /** Total output tokens */
63
+ outputTokens: number;
64
+ /** Cache creation tokens */
65
+ cacheCreationTokens?: number;
66
+ /** Cache read tokens */
67
+ cacheReadTokens?: number;
68
+ /**
69
+ * Google Gemini thinking tokens (Gemini 2.5+ with extendedThinking).
70
+ * Charged separately from outputTokens by Google; already included in totalEffectiveTokens.
71
+ */
72
+ thinkingTokens?: number;
73
+ /** Total effective tokens (for cost) */
74
+ totalEffectiveTokens: number;
75
+ /** Execution duration in ms */
76
+ durationMs: number;
77
+ /** Model used (or primary model for workflows) */
78
+ model: string;
79
+ /** Number of LLM tool calls made during execution (agent-level) */
80
+ toolCallCount?: number;
81
+ /** Estimated cost in USD */
82
+ costUsd?: number;
83
+ }
84
+ /**
85
+ * Call-time execution options for direct agent runs
86
+ */
87
+ export interface ExecutionOptions {
88
+ /** Model override: alias ('sonnet'), tier ('premium'), or 'provider:modelId' */
89
+ model?: string;
90
+ /** Maximum tokens for response */
91
+ maxTokens?: number;
92
+ /** Execution timeout in milliseconds */
93
+ timeoutMs?: number;
94
+ /** Threshold overrides for validators */
95
+ thresholds?: {
96
+ pass?: number;
97
+ warn?: number;
98
+ };
99
+ /** Submit results to validation service (default: true) */
100
+ trackResults?: boolean;
101
+ /** Project name for result tracking */
102
+ project?: string;
103
+ /** Temperature for generation (0-1). Default: 0 */
104
+ temperature?: number;
105
+ /** Maximum tool loop steps. Default: 50 */
106
+ maxSteps?: number;
107
+ }
108
+ /**
109
+ * Merged execution context from agent defaults + runtime options
110
+ * Used internally by AgentExecutor
111
+ */
112
+ export interface ResolvedExecutionContext {
113
+ /** Resolved model: alias, tier, or provider:modelId (from options > agent defaults > config default) */
114
+ model: string;
115
+ /** Resolved max tokens */
116
+ maxTokens: number;
117
+ /** Resolved timeout in ms */
118
+ timeoutMs: number;
119
+ /** Resolved thresholds (for validators) */
120
+ thresholds?: {
121
+ pass: number;
122
+ warn: number;
123
+ };
124
+ /** Whether to track results */
125
+ trackResults: boolean;
126
+ /** Project for tracking */
127
+ project?: string;
128
+ /** Resolved temperature (from options > agent defaults > 0) */
129
+ temperature: number;
130
+ /** Resolved max tool loop steps (from options > 50) */
131
+ maxSteps: number;
132
+ }
133
+ /**
134
+ * Individual recommendation/issue
135
+ */
136
+ export interface Recommendation {
137
+ /** Source validator name */
138
+ validator?: string;
139
+ /** Issue title */
140
+ title: string;
141
+ /** Priority level */
142
+ priority: 'critical' | 'suggested' | 'backlog';
143
+ /** Severity level */
144
+ severity?: 'critical' | 'high' | 'medium' | 'low' | 'info';
145
+ /** Failure taxonomy code (e.g., "SEM-INC/H") */
146
+ failureCode?: string;
147
+ /** Failure domain (STR=Structural, SEM=Semantic, PRA=Pragmatic, EPI=Epistemic) */
148
+ failureDomain?: 'STR' | 'SEM' | 'PRA' | 'EPI';
149
+ /** Failure mode code (e.g., "SYN", "VAL", "INC") */
150
+ failureMode?: string;
151
+ /** Issue category (e.g., "type-safety", "security") */
152
+ category?: string;
153
+ /** Type of issue (e.g. "feature", "bug", "docs", "config") */
154
+ type?: string;
155
+ /** File path relative to target */
156
+ filePath?: string;
157
+ /** Line number in file */
158
+ lineNumber?: number;
159
+ /** Detailed description */
160
+ description?: string;
161
+ /** Classification confidence */
162
+ classificationConfidence?: 'high' | 'medium' | 'low';
163
+ /** Who classified this issue */
164
+ classifiedBy?: 'validator' | 'classifier' | 'human';
165
+ /** Secondary failure codes when multiple issues apply */
166
+ secondaryFailureCodes?: string[];
167
+ /** Version of failure taxonomy used */
168
+ taxonomyVersion?: string;
169
+ /** Fingerprint for correlation (populated by validation API) */
170
+ fingerprint?: string;
171
+ }
172
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/types/execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/types/execution.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export type { UluOpsConfig, AIConfig, AIProviderCredentials, ResolvedConfig, ResolvedAIConfig } from './config.js';
2
+ export type { DefinitionType, ExecutionType, Domain, AgentType, ExecutionInput, ExecutionResult, ExecutionMetrics, ExecutionOptions, ResolvedExecutionContext, Recommendation, } from './execution.js';
3
+ export type { AgentDefinition, AgentInterface, AgentDefaults, AgentMission, AgentScoring, AgentDecisions, AgentTasks, AgentCompletion, AgentOutput, ScoringCategory, ScoringCriterion, ValidatorAgentResult, ExecutorAgentResult, AgentResult, } from './agent.js';
4
+ export type { CommandDefinition, PreflightCheck, PostflightAction, CommandResult, CommandMetrics, CategoryResult, Finding, Issue, ArtifactResult, } from './command.js';
5
+ export type { WorkflowDefinition, PhaseDefinition, WorkflowResult, WorkflowMetrics, CommandMetricsSummary, PhaseResult, } from './workflow.js';
6
+ export type { PipelineDefinition, StageDefinition, TriggerDefinition, PipelineResult, PipelineMetrics, StageResult, TriggerInfo, PipelineArtifact, PipelineState, PipelineHandle, } from './pipeline.js';
7
+ export type { Tool, ToolUseBlock, ToolResult } from './tools.js';
8
+ export type { UsageMetrics } from './ai.js';
9
+ export type { ParsedOutput, ParsedCategory, ParsedFinding, ExtractionOptions, ExtractionResult, } from './parser.js';
10
+ export type { ResolvedDefinition, ValidatorRuntime, ExecutorRuntime, WorkflowRuntime, PipelineRuntime, CategoryConfig, CriteriaConfig, InputConfig, TaskConfig, OutputConfig, PhaseConfig, AggregationConfig, OutputMapping, StageConfig, TriggerConfig, StateConfig, DefinitionSummary, Reference, } from './registry.js';
11
+ export type { RunSubmission, RunSubmissionResponse, FingerprintedRecommendation, RegressionInfo, ValidationQueryOptions, RunHistoryEntry, } from './validation.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGnH,YAAY,EACV,cAAc,EACd,aAAa,EACb,MAAM,EACN,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,OAAO,EACP,KAAK,EACL,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,WAAW,GACZ,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGjE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,SAAS,GACV,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,eAAe,GAChB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ import type { ArtifactResult, Issue } from './command.js';
2
+ /**
3
+ * Raw parsed output from LLM response
4
+ */
5
+ export interface ParsedOutput {
6
+ /** Decision outcome from the agent */
7
+ decision: string;
8
+ /** Numeric score (0-100 for validators, may be undefined for executors) */
9
+ score?: number;
10
+ /** Maximum possible score (validators only) */
11
+ maxScore?: number;
12
+ /** Category breakdown with findings (validators only) */
13
+ categories?: ParsedCategory[];
14
+ /** Generated artifacts (executors only) */
15
+ artifacts?: ArtifactResult[];
16
+ /** Raw JSON if extraction was from code fence */
17
+ rawJson?: unknown;
18
+ /** Brief human-readable summary of the result */
19
+ summary?: string;
20
+ }
21
+ /**
22
+ * Parsed category from validator output
23
+ */
24
+ export interface ParsedCategory {
25
+ /** Category name */
26
+ name: string;
27
+ /** Points earned in this category */
28
+ score: number;
29
+ /** Maximum points possible */
30
+ maxPoints: number;
31
+ /** Findings within this category */
32
+ findings: ParsedFinding[];
33
+ }
34
+ /**
35
+ * Parsed finding within a category
36
+ */
37
+ export interface ParsedFinding {
38
+ /** Criterion being evaluated */
39
+ criterion: string;
40
+ /** Points earned */
41
+ pointsEarned: number;
42
+ /** Points possible */
43
+ pointsPossible: number;
44
+ /** Individual issues found */
45
+ issues: Issue[];
46
+ }
47
+ /**
48
+ * Extraction options
49
+ */
50
+ export interface ExtractionOptions {
51
+ /**
52
+ * Whether to throw on parse failure
53
+ * @default false
54
+ */
55
+ strict?: boolean;
56
+ /**
57
+ * Custom JSON code fence language identifier
58
+ * @default 'json'
59
+ */
60
+ codeFenceLanguage?: string;
61
+ }
62
+ /**
63
+ * Extraction result with metadata
64
+ */
65
+ export interface ExtractionResult {
66
+ /** Parsed output */
67
+ output: ParsedOutput;
68
+ /** Extraction method used */
69
+ method: 'json_code_fence' | 'inline_json' | 'structured_text' | 'structured_output';
70
+ /** Confidence in extraction (0-1) */
71
+ confidence: number;
72
+ /** Any warnings during extraction */
73
+ warnings: string[];
74
+ }
75
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/types/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yDAAyD;IACzD,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,MAAM,EAAE,YAAY,CAAC;IAErB,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,GAAG,aAAa,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAEpF,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/types/parser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,155 @@
1
+ import type { ExecutionResult, ExecutionMetrics, Domain } from './execution.js';
2
+ import type { CommandResult } from './command.js';
3
+ import type { WorkflowResult } from './workflow.js';
4
+ /**
5
+ * Pipeline definition - multi-stage execution flow
6
+ */
7
+ export interface PipelineDefinition {
8
+ pipeline: {
9
+ /** Pipeline metadata */
10
+ interface: {
11
+ name: string;
12
+ version: string;
13
+ displayName: string;
14
+ description: string;
15
+ domain: Domain;
16
+ subdomain?: string;
17
+ };
18
+ /** Stage definitions */
19
+ stages: StageDefinition[];
20
+ /** Trigger configuration (optional) */
21
+ triggers?: TriggerDefinition[];
22
+ /** Pipeline-level settings */
23
+ settings?: {
24
+ timeout?: number;
25
+ retries?: number;
26
+ parallel_stages?: boolean;
27
+ };
28
+ };
29
+ }
30
+ /**
31
+ * Stage definition within a pipeline
32
+ */
33
+ export interface StageDefinition {
34
+ id: string;
35
+ name: string;
36
+ /** Explicit type of the referenced definition */
37
+ type: 'workflow' | 'command';
38
+ /** Reference to command or workflow (name@version format) */
39
+ ref: string;
40
+ /** Stage dependencies */
41
+ depends_on?: string[];
42
+ /** Execution condition (e.g., "pre-merge.decision == 'PASS'") */
43
+ condition?: string;
44
+ /** Skip condition (deprecated, use condition with negation) */
45
+ skip_if?: string;
46
+ /** Stage-specific options */
47
+ options?: Record<string, unknown>;
48
+ }
49
+ /**
50
+ * Trigger definition for pipelines
51
+ */
52
+ export interface TriggerDefinition {
53
+ type: 'webhook' | 'schedule' | 'event';
54
+ config: Record<string, unknown>;
55
+ }
56
+ /**
57
+ * Pipeline execution result
58
+ */
59
+ export interface PipelineResult extends ExecutionResult {
60
+ type: 'pipeline';
61
+ /** Execution status (pipelines can be async) */
62
+ status: 'pending' | 'running' | 'complete' | 'failed' | 'cancelled';
63
+ /** Stage-by-stage results */
64
+ stages: StageResult[];
65
+ /** Trigger information */
66
+ trigger?: TriggerInfo;
67
+ /** Generated artifacts */
68
+ artifacts?: PipelineArtifact[];
69
+ /** Pipeline-specific metrics */
70
+ metrics: PipelineMetrics;
71
+ }
72
+ /**
73
+ * Pipeline-specific metrics
74
+ */
75
+ export interface PipelineMetrics extends ExecutionMetrics {
76
+ /** Number of stages executed */
77
+ stagesExecuted: number;
78
+ /** Number of stages passed */
79
+ stagesPassed: number;
80
+ /** Number of stages failed */
81
+ stagesFailed: number;
82
+ /** Number of stages skipped */
83
+ stagesSkipped: number;
84
+ }
85
+ /**
86
+ * Result for a single stage
87
+ */
88
+ export interface StageResult {
89
+ /** Stage identifier */
90
+ id: string;
91
+ /** Stage display name */
92
+ name: string;
93
+ /** Stage type (inferred from ref) */
94
+ type: 'workflow' | 'command';
95
+ /** Stage status */
96
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
97
+ /** Result (command or workflow depending on stage type) */
98
+ result?: CommandResult | WorkflowResult;
99
+ /** Reason if stage was skipped */
100
+ skipReason?: string;
101
+ /** Stage start time */
102
+ startedAt?: string;
103
+ /** Stage completion time */
104
+ completedAt?: string;
105
+ /** Stage duration */
106
+ durationMs?: number;
107
+ }
108
+ /**
109
+ * Information about what triggered the pipeline
110
+ */
111
+ export interface TriggerInfo {
112
+ type: 'manual' | 'webhook' | 'schedule' | 'event';
113
+ source?: string;
114
+ metadata?: Record<string, unknown>;
115
+ }
116
+ /**
117
+ * Pipeline artifact
118
+ */
119
+ export interface PipelineArtifact {
120
+ name: string;
121
+ path: string;
122
+ size?: number;
123
+ contentType?: string;
124
+ }
125
+ /**
126
+ * Internal state for tracking pipeline execution
127
+ */
128
+ export interface PipelineState {
129
+ /** Unique pipeline execution ID */
130
+ pipelineId: string;
131
+ /** Version of the pipeline definition being executed */
132
+ definitionVersion: string;
133
+ /** Hash of the pipeline definition for audit trail */
134
+ definitionHash: string;
135
+ /** Current execution status */
136
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
137
+ /** Index of currently executing stage */
138
+ currentStageIndex: number;
139
+ /** Results from completed stages */
140
+ stageResults: StageResult[];
141
+ /** Execution start timestamp (ms since epoch) */
142
+ startTime: number;
143
+ /** Error message if failed */
144
+ error?: string;
145
+ }
146
+ /**
147
+ * Handle for monitoring async pipeline execution
148
+ */
149
+ export interface PipelineHandle {
150
+ readonly executionId: string;
151
+ status(): Promise<PipelineResult>;
152
+ wait(pollIntervalMs?: number): Promise<PipelineResult>;
153
+ cancel(): Promise<void>;
154
+ }
155
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":""}