@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,419 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import * as yaml from 'yaml';
|
|
4
|
+
import { RegistryClient as RegistrySdk } from '@uluops/registry-sdk';
|
|
5
|
+
import { ConfigurationError } from '../errors/index.js';
|
|
6
|
+
import { formatErrorMessage } from '../utils/formatError.js';
|
|
7
|
+
/**
|
|
8
|
+
* Definition resolver with local development fallback.
|
|
9
|
+
*
|
|
10
|
+
* Delegates remote API calls to @uluops/registry-sdk (which handles retry,
|
|
11
|
+
* rate limiting, error mapping, auth). Local file resolution is handled
|
|
12
|
+
* in this class directly. Hash computation and verification are the
|
|
13
|
+
* responsibility of the registry API server.
|
|
14
|
+
*/
|
|
15
|
+
export class RegistryClient {
|
|
16
|
+
config;
|
|
17
|
+
cache = new Map();
|
|
18
|
+
sdk;
|
|
19
|
+
logger;
|
|
20
|
+
/** Expose underlying registry SDK for direct access (e.g., model catalog) */
|
|
21
|
+
get registrySdk() {
|
|
22
|
+
return this.sdk;
|
|
23
|
+
}
|
|
24
|
+
constructor(config, logger) {
|
|
25
|
+
this.config = config;
|
|
26
|
+
this.logger = logger;
|
|
27
|
+
this.sdk = new RegistrySdk({
|
|
28
|
+
apiKey: config.apiKey,
|
|
29
|
+
baseUrl: config.registryUrl,
|
|
30
|
+
timeout: config.timeout,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolve a definition by name and optional type.
|
|
35
|
+
* Priority: cache → local files → remote API
|
|
36
|
+
*/
|
|
37
|
+
async resolve(name, version, type) {
|
|
38
|
+
const cacheKey = `${type ?? 'any'}:${name}@${version ?? 'latest'}`;
|
|
39
|
+
const cached = this.cache.get(cacheKey);
|
|
40
|
+
if (cached) {
|
|
41
|
+
this.logger.debug(`Cache hit: ${cacheKey}`);
|
|
42
|
+
return cached;
|
|
43
|
+
}
|
|
44
|
+
// Try local resolution if configured
|
|
45
|
+
if (this.config.localDefinitions) {
|
|
46
|
+
const local = await this.resolveLocal(name, type);
|
|
47
|
+
if (local) {
|
|
48
|
+
this.cache.set(cacheKey, local);
|
|
49
|
+
return local;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Fall back to remote
|
|
53
|
+
const remote = await this.resolveRemote(name, version, type);
|
|
54
|
+
this.cache.set(cacheKey, remote);
|
|
55
|
+
return remote;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* List available definitions (local + remote, preferring local)
|
|
59
|
+
*/
|
|
60
|
+
async list(filter) {
|
|
61
|
+
const results = [];
|
|
62
|
+
if (this.config.localDefinitions) {
|
|
63
|
+
const local = await this.listLocal(filter);
|
|
64
|
+
results.push(...local);
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const remote = await this.listRemote(filter);
|
|
68
|
+
// Merge, preferring local versions
|
|
69
|
+
const seen = new Set(results.map(r => r.name));
|
|
70
|
+
for (const r of remote) {
|
|
71
|
+
if (!seen.has(r.name)) {
|
|
72
|
+
results.push(r);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
this.logger.warn(`Registry unavailable for listing: ${formatErrorMessage(error)}`);
|
|
78
|
+
// Return local results only (if any)
|
|
79
|
+
if (results.length === 0) {
|
|
80
|
+
throw new ConfigurationError('No definitions found. Registry is unreachable and no local definitions are configured. ' +
|
|
81
|
+
'Set localDefinitions in UluOpsClient config or ULUOPS_LOCAL_DEFINITIONS env var.');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return results;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Clear the definition cache
|
|
88
|
+
*/
|
|
89
|
+
clearCache() {
|
|
90
|
+
this.cache.clear();
|
|
91
|
+
}
|
|
92
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
93
|
+
// Private: Local Resolution
|
|
94
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
95
|
+
async resolveLocal(name, type) {
|
|
96
|
+
const baseDir = this.config.localDefinitions;
|
|
97
|
+
const allCandidates = [
|
|
98
|
+
{ path: path.join(baseDir, `${name}.agent.yaml`), type: 'agent' },
|
|
99
|
+
{ path: path.join(baseDir, `${name}.command.yaml`), type: 'command' },
|
|
100
|
+
{ path: path.join(baseDir, `${name}.workflow.yaml`), type: 'workflow' },
|
|
101
|
+
{ path: path.join(baseDir, `${name}.pipeline.yaml`), type: 'pipeline' },
|
|
102
|
+
{ path: path.join(baseDir, 'agents', `${name}.agent.yaml`), type: 'agent' },
|
|
103
|
+
{ path: path.join(baseDir, 'commands', `${name}.command.yaml`), type: 'command' },
|
|
104
|
+
{ path: path.join(baseDir, 'workflows', `${name}.workflow.yaml`), type: 'workflow' },
|
|
105
|
+
{ path: path.join(baseDir, 'pipelines', `${name}.pipeline.yaml`), type: 'pipeline' },
|
|
106
|
+
];
|
|
107
|
+
const candidates = type
|
|
108
|
+
? allCandidates.filter(c => c.type === type)
|
|
109
|
+
: allCandidates;
|
|
110
|
+
for (const candidate of candidates) {
|
|
111
|
+
let yamlContent;
|
|
112
|
+
try {
|
|
113
|
+
yamlContent = await fs.readFile(candidate.path, 'utf-8');
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
const code = error.code;
|
|
117
|
+
if (code === 'ENOENT')
|
|
118
|
+
continue; // File doesn't exist, try next candidate
|
|
119
|
+
if (code === 'ENOTDIR')
|
|
120
|
+
continue; // Path component isn't a directory
|
|
121
|
+
throw new ConfigurationError(`Cannot read ${candidate.path}: ${formatErrorMessage(error)}`);
|
|
122
|
+
}
|
|
123
|
+
let definition;
|
|
124
|
+
try {
|
|
125
|
+
definition = yaml.parse(yamlContent);
|
|
126
|
+
}
|
|
127
|
+
catch (parseError) {
|
|
128
|
+
throw new ConfigurationError(`Failed to parse YAML at ${candidate.path}: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
|
|
129
|
+
}
|
|
130
|
+
this.logger.debug(`Resolved locally: ${name} @ ${candidate.path}`);
|
|
131
|
+
return {
|
|
132
|
+
type: candidate.type,
|
|
133
|
+
name,
|
|
134
|
+
version: this.extractVersion(definition, candidate.type),
|
|
135
|
+
hash: '',
|
|
136
|
+
yaml: yamlContent,
|
|
137
|
+
definition: this.castDefinition(definition),
|
|
138
|
+
runtime: await this.renderLocally(yamlContent, definition, candidate.type),
|
|
139
|
+
domain: this.extractDomain(definition, candidate.type),
|
|
140
|
+
agentType: this.extractAgentType(definition, candidate.type),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
146
|
+
// Private: Remote Resolution
|
|
147
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
148
|
+
async resolveRemote(name, version, type) {
|
|
149
|
+
let resolvedType = type;
|
|
150
|
+
// If type not provided, search registry to find it
|
|
151
|
+
if (!resolvedType) {
|
|
152
|
+
const searchResult = await this.sdk.definitions.list({
|
|
153
|
+
search: name,
|
|
154
|
+
limit: 10,
|
|
155
|
+
status: 'published',
|
|
156
|
+
});
|
|
157
|
+
const matches = searchResult.definitions.filter(d => d.name === name);
|
|
158
|
+
if (matches.length === 0) {
|
|
159
|
+
throw new ConfigurationError(`Definition "${name}" not found in registry. ` +
|
|
160
|
+
`Verify the name is correct and the definition is published.`);
|
|
161
|
+
}
|
|
162
|
+
if (matches.length > 1) {
|
|
163
|
+
const types = matches.map(d => d.type).join(', ');
|
|
164
|
+
throw new ConfigurationError(`Multiple definitions named "${name}" found (${types}). ` +
|
|
165
|
+
`Specify type explicitly: resolve("${name}", version, "command")`);
|
|
166
|
+
}
|
|
167
|
+
const match = matches[0];
|
|
168
|
+
if (!match)
|
|
169
|
+
throw new ConfigurationError(`Definition "${name}" not found in registry`);
|
|
170
|
+
resolvedType = match.type;
|
|
171
|
+
}
|
|
172
|
+
// Fetch definition with YAML and runtime
|
|
173
|
+
const def = await this.sdk.definitions.get(resolvedType, name, version, {
|
|
174
|
+
includeYaml: true,
|
|
175
|
+
includeRuntime: true,
|
|
176
|
+
});
|
|
177
|
+
// Get rendered markdown
|
|
178
|
+
const rendered = await this.sdk.render.get(resolvedType, name, def.version);
|
|
179
|
+
return {
|
|
180
|
+
type: resolvedType,
|
|
181
|
+
name: def.name,
|
|
182
|
+
version: def.version,
|
|
183
|
+
hash: def.hash,
|
|
184
|
+
yaml: def.yaml ?? '',
|
|
185
|
+
definition: def.yaml
|
|
186
|
+
? this.castDefinition(this.safeParseYaml(def.yaml, name))
|
|
187
|
+
: this.emptyDefinition(),
|
|
188
|
+
runtime: { prompt: rendered.markdown },
|
|
189
|
+
domain: (def.domain ?? 'general'),
|
|
190
|
+
agentType: (def.agentType ?? undefined),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
194
|
+
// Private: YAML Parsing
|
|
195
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
196
|
+
safeParseYaml(yamlContent, context) {
|
|
197
|
+
try {
|
|
198
|
+
return yaml.parse(yamlContent);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
throw new ConfigurationError(`Failed to parse YAML for "${context}": ${formatErrorMessage(error)}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
205
|
+
// Private: Local Rendering
|
|
206
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
207
|
+
/**
|
|
208
|
+
* Cast parsed YAML to typed definition with structural validation.
|
|
209
|
+
* Verifies a known top-level key exists and its value is a non-null object.
|
|
210
|
+
* Full schema validation is registry-side; this prevents totally wrong YAML.
|
|
211
|
+
*/
|
|
212
|
+
castDefinition(parsed) {
|
|
213
|
+
const knownTopKeys = ['agent', 'command', 'workflow', 'pipeline'];
|
|
214
|
+
const topKey = knownTopKeys.find(k => k in parsed);
|
|
215
|
+
if (!topKey) {
|
|
216
|
+
throw new ConfigurationError(`Invalid definition: expected a top-level key of ${knownTopKeys.join(', ')}, ` +
|
|
217
|
+
`found: ${Object.keys(parsed).join(', ')}`);
|
|
218
|
+
}
|
|
219
|
+
const section = parsed[topKey];
|
|
220
|
+
if (typeof section !== 'object' || section === null) {
|
|
221
|
+
throw new ConfigurationError(`Invalid definition: "${topKey}" must be an object`);
|
|
222
|
+
}
|
|
223
|
+
// Structural guard confirms top-level key is a known definition type
|
|
224
|
+
// with a non-null object value. The intermediate `unknown` cast is
|
|
225
|
+
// unavoidable: Record<string, unknown> lacks the index signature
|
|
226
|
+
// required for direct assignment to the typed definition union.
|
|
227
|
+
return parsed;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Placeholder definition for render-only resolution (no YAML available).
|
|
231
|
+
* Downstream code reads definition fields via optional chaining.
|
|
232
|
+
*/
|
|
233
|
+
emptyDefinition() {
|
|
234
|
+
return { agent: {} };
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Build runtime from local YAML definition.
|
|
238
|
+
*
|
|
239
|
+
* Uses registry-sdk render.preview() to get the proper rendered markdown,
|
|
240
|
+
* falling back to YAML passthrough if the registry API is unavailable.
|
|
241
|
+
*/
|
|
242
|
+
async renderLocally(yamlContent, definition, type) {
|
|
243
|
+
// Try registry API render first (proper template-based rendering)
|
|
244
|
+
const rendered = await this.tryRenderViaAPI(type, yamlContent);
|
|
245
|
+
if (type === 'agent') {
|
|
246
|
+
const agent = definition['agent'];
|
|
247
|
+
if (!agent)
|
|
248
|
+
return { prompt: '' };
|
|
249
|
+
return {
|
|
250
|
+
prompt: rendered ?? yamlContent,
|
|
251
|
+
defaults: {
|
|
252
|
+
model: agent.defaults?.model ?? 'sonnet',
|
|
253
|
+
timeout: agent.defaults?.timeout ?? 300_000,
|
|
254
|
+
maxTokens: agent.defaults?.max_tokens,
|
|
255
|
+
temperature: agent.defaults?.temperature,
|
|
256
|
+
},
|
|
257
|
+
config: this.buildAgentConfig(agent),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
if (type === 'command') {
|
|
261
|
+
return {
|
|
262
|
+
prompt: rendered ?? yamlContent,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
// Workflow/pipeline definitions ARE the runtime — the parsed YAML structure
|
|
266
|
+
// is used directly. Already validated by castDefinition() in resolveLocal().
|
|
267
|
+
return definition;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Try to render YAML via the registry API's render.preview() endpoint.
|
|
271
|
+
* Returns the rendered markdown, or null if the API is unavailable.
|
|
272
|
+
*/
|
|
273
|
+
async tryRenderViaAPI(type, yamlContent) {
|
|
274
|
+
try {
|
|
275
|
+
const result = await this.sdk.render.preview(type, { yaml: yamlContent });
|
|
276
|
+
this.logger.debug(`Render via API: ${result.markdown.length} chars`);
|
|
277
|
+
return result.markdown;
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
this.logger.warn(`Render API unavailable, falling back to raw YAML: ${formatErrorMessage(error)}`);
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Build runtime config from ADL v1.6.0 scoring/decisions sections.
|
|
286
|
+
*/
|
|
287
|
+
buildAgentConfig(agent) {
|
|
288
|
+
if (agent.interface.agentType === 'validator' && agent.scoring) {
|
|
289
|
+
const passThreshold = agent.decisions?.thresholds?.find(t => t.decision === 'positive');
|
|
290
|
+
return {
|
|
291
|
+
maxScore: agent.scoring.maxScore,
|
|
292
|
+
threshold: passThreshold?.min_score ?? 75,
|
|
293
|
+
categories: agent.scoring.categories.map(c => ({
|
|
294
|
+
name: c.name,
|
|
295
|
+
weight: c.weight,
|
|
296
|
+
criteria: c.criteria.map(cr => ({
|
|
297
|
+
name: cr.name,
|
|
298
|
+
points: cr.points,
|
|
299
|
+
description: cr.description,
|
|
300
|
+
})),
|
|
301
|
+
description: c.description,
|
|
302
|
+
})),
|
|
303
|
+
outputSchema: agent.output?.format ?? 'markdown',
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
if (agent.tasks) {
|
|
307
|
+
return {
|
|
308
|
+
mode: 'execute',
|
|
309
|
+
inputs: agent.tasks.inputs,
|
|
310
|
+
tasks: agent.tasks.operations,
|
|
311
|
+
outputs: agent.tasks.outputs,
|
|
312
|
+
completionCriteria: agent.completion?.criteria ?? [],
|
|
313
|
+
outputSchema: agent.output?.format ?? 'markdown',
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
return {};
|
|
317
|
+
}
|
|
318
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
319
|
+
// Private: Extraction Helpers
|
|
320
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
321
|
+
extractVersion(def, type) {
|
|
322
|
+
const section = def[type];
|
|
323
|
+
const iface = section?.interface;
|
|
324
|
+
return iface?.version ?? 'unknown';
|
|
325
|
+
}
|
|
326
|
+
extractDomain(def, type) {
|
|
327
|
+
const section = def[type];
|
|
328
|
+
const iface = section?.interface;
|
|
329
|
+
return iface?.domain ?? 'general';
|
|
330
|
+
}
|
|
331
|
+
extractAgentType(def, type) {
|
|
332
|
+
if (type !== 'agent')
|
|
333
|
+
return undefined;
|
|
334
|
+
const agent = def.agent;
|
|
335
|
+
const iface = agent?.interface;
|
|
336
|
+
return iface?.agentType;
|
|
337
|
+
}
|
|
338
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
339
|
+
// Private: Listing
|
|
340
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
341
|
+
async listLocal(filter) {
|
|
342
|
+
const results = [];
|
|
343
|
+
const baseDir = this.config.localDefinitions;
|
|
344
|
+
const seen = new Set();
|
|
345
|
+
const typeConfig = {
|
|
346
|
+
agent: { ext: '.agent.yaml', subdir: 'agents' },
|
|
347
|
+
command: { ext: '.command.yaml', subdir: 'commands' },
|
|
348
|
+
workflow: { ext: '.workflow.yaml', subdir: 'workflows' },
|
|
349
|
+
pipeline: { ext: '.pipeline.yaml', subdir: 'pipelines' },
|
|
350
|
+
};
|
|
351
|
+
for (const [type, { ext, subdir }] of Object.entries(typeConfig)) {
|
|
352
|
+
if (filter?.type && filter.type !== type)
|
|
353
|
+
continue;
|
|
354
|
+
// Scan both baseDir and baseDir/<subdir> (matching resolveLocal candidates)
|
|
355
|
+
const dirsToScan = [baseDir, path.join(baseDir, subdir)];
|
|
356
|
+
for (const dir of dirsToScan) {
|
|
357
|
+
try {
|
|
358
|
+
const files = await fs.readdir(dir);
|
|
359
|
+
for (const file of files) {
|
|
360
|
+
if (!file.endsWith(ext))
|
|
361
|
+
continue;
|
|
362
|
+
const name = file.replace(ext, '');
|
|
363
|
+
if (seen.has(`${type}:${name}`))
|
|
364
|
+
continue;
|
|
365
|
+
seen.add(`${type}:${name}`);
|
|
366
|
+
const content = await fs.readFile(path.join(dir, file), 'utf-8');
|
|
367
|
+
const def = this.safeParseYaml(content, file);
|
|
368
|
+
const summary = this.extractSummary(def, type, name);
|
|
369
|
+
if (!filter?.domain || summary.domain === filter.domain) {
|
|
370
|
+
results.push(summary);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
// ENOENT = directory doesn't exist — skip silently (expected for optional subdirs)
|
|
376
|
+
// Other errors (permissions, YAML parse) are logged to aid debugging
|
|
377
|
+
if (error.code !== 'ENOENT') {
|
|
378
|
+
this.logger.debug(`listLocal: skipping ${dir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return results;
|
|
384
|
+
}
|
|
385
|
+
async listRemote(filter) {
|
|
386
|
+
const result = await this.sdk.definitions.list({
|
|
387
|
+
status: 'published',
|
|
388
|
+
type: filter?.type,
|
|
389
|
+
domain: filter?.domain,
|
|
390
|
+
});
|
|
391
|
+
return result.definitions.map(d => ({
|
|
392
|
+
type: d.type,
|
|
393
|
+
name: d.name,
|
|
394
|
+
version: d.version,
|
|
395
|
+
displayName: d.displayName,
|
|
396
|
+
description: d.description,
|
|
397
|
+
domain: d.domain,
|
|
398
|
+
agentType: (d.agentType ?? undefined),
|
|
399
|
+
status: d.status,
|
|
400
|
+
}));
|
|
401
|
+
}
|
|
402
|
+
extractSummary(def, type, name) {
|
|
403
|
+
const section = def[type];
|
|
404
|
+
const iface = (section?.interface ?? {});
|
|
405
|
+
return {
|
|
406
|
+
type,
|
|
407
|
+
name: iface.name ?? name,
|
|
408
|
+
version: iface.version ?? 'unknown',
|
|
409
|
+
displayName: iface.displayName ?? name,
|
|
410
|
+
description: iface.description ?? '',
|
|
411
|
+
domain: (iface.domain ?? 'general'),
|
|
412
|
+
subdomain: iface.subdomain,
|
|
413
|
+
agentType: type === 'agent' ? iface.agentType : undefined,
|
|
414
|
+
status: 'draft',
|
|
415
|
+
tags: iface.tags,
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
//# sourceMappingURL=RegistryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegistryClient.js","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|