@nexagent-cli/cli 0.8.1 → 0.8.3
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/dist/commands/sophie.d.ts +2 -0
- package/dist/commands/sophie.d.ts.map +1 -1
- package/dist/commands/sophie.js +122 -1
- package/dist/commands/sophie.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/workflow.d.ts +14 -0
- package/dist/runtime/workflow.d.ts.map +1 -1
- package/dist/runtime/workflow.js.map +1 -1
- package/dist/workflows/contracts/index.d.ts +4 -0
- package/dist/workflows/contracts/index.d.ts.map +1 -0
- package/dist/workflows/contracts/index.js +4 -0
- package/dist/workflows/contracts/index.js.map +1 -0
- package/dist/workflows/contracts/workflow-export.d.ts +22 -0
- package/dist/workflows/contracts/workflow-export.d.ts.map +1 -0
- package/dist/workflows/contracts/workflow-export.js +99 -0
- package/dist/workflows/contracts/workflow-export.js.map +1 -0
- package/dist/workflows/contracts/workflow-formatters.d.ts +8 -0
- package/dist/workflows/contracts/workflow-formatters.d.ts.map +1 -0
- package/dist/workflows/contracts/workflow-formatters.js +50 -0
- package/dist/workflows/contracts/workflow-formatters.js.map +1 -0
- package/dist/workflows/contracts/workflow-result-schema.d.ts +27 -0
- package/dist/workflows/contracts/workflow-result-schema.d.ts.map +1 -0
- package/dist/workflows/contracts/workflow-result-schema.js +56 -0
- package/dist/workflows/contracts/workflow-result-schema.js.map +1 -0
- package/dist/workflows/sophie/inspect.d.ts.map +1 -1
- package/dist/workflows/sophie/inspect.js +31 -2
- package/dist/workflows/sophie/inspect.js.map +1 -1
- package/dist/workflows/tools/index.d.ts +8 -0
- package/dist/workflows/tools/index.d.ts.map +1 -0
- package/dist/workflows/tools/index.js +9 -0
- package/dist/workflows/tools/index.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-registry.d.ts +25 -0
- package/dist/workflows/tools/workflow-tool-registry.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-registry.js +126 -0
- package/dist/workflows/tools/workflow-tool-registry.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-request.d.ts +12 -0
- package/dist/workflows/tools/workflow-tool-request.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-request.js +28 -0
- package/dist/workflows/tools/workflow-tool-request.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-result.d.ts +23 -0
- package/dist/workflows/tools/workflow-tool-result.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-result.js +61 -0
- package/dist/workflows/tools/workflow-tool-result.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-risk.d.ts +14 -0
- package/dist/workflows/tools/workflow-tool-risk.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-risk.js +36 -0
- package/dist/workflows/tools/workflow-tool-risk.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-runner.d.ts +19 -0
- package/dist/workflows/tools/workflow-tool-runner.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-runner.js +81 -0
- package/dist/workflows/tools/workflow-tool-runner.js.map +1 -0
- package/dist/workflows/tools/workflow-tool-types.d.ts +30 -0
- package/dist/workflows/tools/workflow-tool-types.d.ts.map +1 -0
- package/dist/workflows/tools/workflow-tool-types.js +5 -0
- package/dist/workflows/tools/workflow-tool-types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const WORKFLOW_RESULT_SCHEMA_VERSION = '0.8.2';
|
|
2
|
+
export function validateWorkflowResult(result) {
|
|
3
|
+
const errors = [];
|
|
4
|
+
const warnings = [];
|
|
5
|
+
if (typeof result !== 'object' || result === null) {
|
|
6
|
+
errors.push('Result must be an object');
|
|
7
|
+
return { valid: false, errors, warnings };
|
|
8
|
+
}
|
|
9
|
+
const r = result;
|
|
10
|
+
if (typeof r.success !== 'boolean') {
|
|
11
|
+
errors.push("Missing or invalid required field: 'success' (expected boolean)");
|
|
12
|
+
}
|
|
13
|
+
if (typeof r.data !== 'object' || r.data === null) {
|
|
14
|
+
errors.push("Missing or invalid required field: 'data' (expected object)");
|
|
15
|
+
}
|
|
16
|
+
if (!Array.isArray(r.messages)) {
|
|
17
|
+
errors.push("Missing or invalid required field: 'messages' (expected string array)");
|
|
18
|
+
}
|
|
19
|
+
if (!Array.isArray(r.recommendations)) {
|
|
20
|
+
errors.push("Missing or invalid required field: 'recommendations' (expected string array)");
|
|
21
|
+
}
|
|
22
|
+
if (!('schemaVersion' in r)) {
|
|
23
|
+
warnings.push("'schemaVersion' is missing");
|
|
24
|
+
}
|
|
25
|
+
if (!('severity' in r)) {
|
|
26
|
+
warnings.push("'severity' is missing");
|
|
27
|
+
}
|
|
28
|
+
if (!('metadata' in r)) {
|
|
29
|
+
warnings.push("'metadata' is missing");
|
|
30
|
+
}
|
|
31
|
+
return { valid: errors.length === 0, errors, warnings };
|
|
32
|
+
}
|
|
33
|
+
export function createResultMetadata(ctx) {
|
|
34
|
+
const now = Date.now();
|
|
35
|
+
return {
|
|
36
|
+
timestamp: new Date().toISOString(),
|
|
37
|
+
schemaVersion: WORKFLOW_RESULT_SCHEMA_VERSION,
|
|
38
|
+
workflow: ctx.workflow,
|
|
39
|
+
profile: ctx.profile,
|
|
40
|
+
input: ctx.input,
|
|
41
|
+
...(ctx.startTime !== undefined ? { durationMs: now - ctx.startTime } : {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function inferSeverity(result) {
|
|
45
|
+
if (!result.success && result.recommendations.some((r) => r.toLowerCase().includes('block'))) {
|
|
46
|
+
return 'critical';
|
|
47
|
+
}
|
|
48
|
+
if (!result.success) {
|
|
49
|
+
return 'error';
|
|
50
|
+
}
|
|
51
|
+
if (result.recommendations.length > 0) {
|
|
52
|
+
return 'warn';
|
|
53
|
+
}
|
|
54
|
+
return 'info';
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=workflow-result-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-result-schema.js","sourceRoot":"","sources":["../../../src/workflows/contracts/workflow-result-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/workflows/sophie/inspect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/workflows/sophie/inspect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA4BjF,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAuUnF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
|
+
import { createDefaultToolRegistry, createToolRequest, runToolBatch, formatToolResults, toolResultsToData, countToolStatuses, } from '../tools/index.js';
|
|
3
4
|
export async function inspectWorkflow(ctx) {
|
|
4
5
|
const target = ctx.input.trim() || ctx.cwd;
|
|
5
6
|
const resolved = resolve(target);
|
|
@@ -228,6 +229,19 @@ export async function inspectWorkflow(ctx) {
|
|
|
228
229
|
}
|
|
229
230
|
};
|
|
230
231
|
await countFiles('.', 0);
|
|
232
|
+
// ── Tool-aware inspection ─────────────────────────────────
|
|
233
|
+
const registry = createDefaultToolRegistry();
|
|
234
|
+
const toolRequests = [
|
|
235
|
+
createToolRequest('file_list', { path: '.', max_depth: 2 }, 'list project structure', undefined, registry),
|
|
236
|
+
createToolRequest('package_json_inspect', {}, 'inspect package metadata', undefined, registry),
|
|
237
|
+
createToolRequest('command_discovery', {}, 'discover available commands', undefined, registry),
|
|
238
|
+
];
|
|
239
|
+
const toolResults = await runToolBatch(toolRequests, registry, {
|
|
240
|
+
workspaceDir: resolved,
|
|
241
|
+
dryRun: ctx.flags.dryRun,
|
|
242
|
+
debug: ctx.flags.debug,
|
|
243
|
+
});
|
|
244
|
+
const toolCounts = countToolStatuses(toolResults);
|
|
231
245
|
const result = {
|
|
232
246
|
detectedStack,
|
|
233
247
|
workspaceLayout,
|
|
@@ -242,10 +256,16 @@ export async function inspectWorkflow(ctx) {
|
|
|
242
256
|
topLevelItemCount: topLevel.length,
|
|
243
257
|
},
|
|
244
258
|
};
|
|
259
|
+
// Merge tool evidence into result data
|
|
260
|
+
const dataWithTools = {
|
|
261
|
+
...result,
|
|
262
|
+
tools: toolResultsToData(toolResults),
|
|
263
|
+
toolCounts,
|
|
264
|
+
};
|
|
245
265
|
if (ctx.flags.json) {
|
|
246
266
|
return {
|
|
247
267
|
success: true,
|
|
248
|
-
data:
|
|
268
|
+
data: dataWithTools,
|
|
249
269
|
messages: [],
|
|
250
270
|
recommendations: [`Run: sophie audit ${target || '.'}`, 'Run: sophie plan "add feature X"'],
|
|
251
271
|
};
|
|
@@ -285,9 +305,18 @@ export async function inspectWorkflow(ctx) {
|
|
|
285
305
|
messages.push(` Files (excluding build dirs): ${fileCount}`);
|
|
286
306
|
messages.push(` Max directory depth: ${maxDepth}`);
|
|
287
307
|
messages.push(` Top-level items: ${topLevel.length}`);
|
|
308
|
+
// Add tool execution summary
|
|
309
|
+
if (ctx.flags.debug || ctx.flags.dryRun) {
|
|
310
|
+
messages.push('');
|
|
311
|
+
messages.push(...formatToolResults(toolResults));
|
|
312
|
+
}
|
|
313
|
+
else if (toolCounts.success > 0) {
|
|
314
|
+
messages.push('');
|
|
315
|
+
messages.push(`🔧 Tools used: ${toolCounts.success} successful, ${toolCounts.skipped} skipped, ${toolCounts.blocked} blocked, ${toolCounts.failed} failed`);
|
|
316
|
+
}
|
|
288
317
|
return {
|
|
289
318
|
success: true,
|
|
290
|
-
data:
|
|
319
|
+
data: dataWithTools,
|
|
291
320
|
messages,
|
|
292
321
|
recommendations: [`Run: sophie audit ${target || '.'}`, 'Run: sophie plan "add feature X"'],
|
|
293
322
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/workflows/sophie/inspect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/workflows/sophie/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAoB3B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAoB;IACxD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,CAAC,sCAAsC,QAAQ,EAAE,CAAC;YAC5D,eAAe,EAAE,CAAC,0FAA0F,CAAC;SAC9G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,CAAC,qCAAqC,QAAQ,EAAE,CAAC;YAC3D,eAAe,EAAE,CAAC,sCAAsC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,QAAkB,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,GAA+B,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,GAAG,GAAmC,IAAI,CAAC;IAC/C,IAAI,MAAM,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAA2B;QACnC,GAAG,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;YAC1E,CAAC,CAAE,GAAG,CAAC,YAAuC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;YAChF,CAAC,CAAE,GAAG,CAAC,eAA0C;YACjD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,SAAS,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,SAAS,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,OAAO,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnG,IAAI,MAAM,SAAS,CAAC,eAAe,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,IAAI,GAAG;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,IACE,CAAC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAEpC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,IACE,CAAC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAEpC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IACE,MAAM,CAAC,aAAa,CAAC;QACrB,CAAC,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAEvC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,IACE,MAAM,CAAC,MAAM,CAAC;QACd,MAAM,CAAC,QAAQ,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC;QACf,MAAM,CAAC,SAAS,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC;QAEpB,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG;QACtB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,EAAc;KACtB,CAAC;IAEF,IAAI,MAAM,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC3C,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,IACE,GAAG;QACH,KAAK,CAAC,OAAO,CAAE,GAA+B,CAAC,UAAU,CAAC,EAC1D,CAAC;QACD,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO;YAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,MAAM,SAAS,CAAC,gBAAgB,CAAC;QAAE,cAAc,GAAG,MAAM,CAAC;SAC1D,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC;QAAE,cAAc,GAAG,MAAM,CAAC;SAC1D,IAAI,MAAM,SAAS,CAAC,mBAAmB,CAAC;QAAE,cAAc,GAAG,KAAK,CAAC;SACjE,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC;QAAE,cAAc,GAAG,KAAK,CAAC;IAE9D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG;QACvB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,kBAAkB;QAClB,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,aAAa;QACb,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,YAAY;QACZ,oBAAoB;QACpB,SAAS;QACT,sBAAsB;QACtB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;QACnB,YAAY;QACZ,WAAW;QACX,YAAY;KACb,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAA6B,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnH,IAAI,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpD,MAAM,OAAO,GACX,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAC5D,CAAC,CAAE,GAAG,CAAC,OAAkC;QACzC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7F,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;QACtD,IAAI,KAAK,GAAG,QAAQ;YAAE,QAAQ,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnC,IACE,KAAK,KAAK,cAAc;wBACxB,KAAK,KAAK,MAAM;wBAChB,KAAK,KAAK,MAAM;wBAChB,KAAK,KAAK,OAAO;wBACjB,KAAK,KAAK,OAAO;wBACjB,KAAK,KAAK,UAAU;wBACpB,KAAK,KAAK,KAAK;wBAEf,SAAS;oBACX,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,SAAS,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzB,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG;QACnB,iBAAiB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,wBAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC1G,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,EAAE,0BAA0B,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9F,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,EAAE,6BAA6B,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC/F,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE;QAC7D,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAElD,MAAM,MAAM,GAAgB;QAC1B,aAAa;QACb,eAAe;QACf,cAAc;QACd,WAAW;QACX,WAAW,EAAE,iBAAiB;QAC9B,iBAAiB;QACjB,KAAK,EAAE;YACL,SAAS;YACT,cAAc,EAAE,QAAQ;YACxB,cAAc,EAAE,CAAC,CAAC,GAAG;YACrB,iBAAiB,EAAE,QAAQ,CAAC,MAAM;SACnC;KACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,aAAa,GAAG;QACpB,GAAG,MAAM;QACT,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC;QACrC,UAAU;KACX,CAAC;IAEF,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,aAAmD;YACzD,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE,CAAC,qBAAqB,MAAM,IAAI,GAAG,EAAE,EAAE,kCAAkC,CAAC;SAC5F,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACtG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,CAAC,aAAa,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC3D,QAAQ,CAAC,IAAI,CAAC,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAElE,6BAA6B;IAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,OAAO,gBAAgB,UAAU,CAAC,OAAO,aAAa,UAAU,CAAC,OAAO,aAAa,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC;IAC9J,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,aAAmD;QACzD,QAAQ;QACR,eAAe,EAAE,CAAC,qBAAqB,MAAM,IAAI,GAAG,EAAE,EAAE,kCAAkC,CAAC;KAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type { WorkflowToolRisk, WorkflowToolRequest, WorkflowToolResult, WorkflowToolCapability, } from './workflow-tool-types.js';
|
|
2
|
+
export { RISK_ORDER, DEFAULT_MAX_RISK, isRiskAllowed, formatRisk, } from './workflow-tool-risk.js';
|
|
3
|
+
export { WorkflowToolRegistry, createDefaultToolRegistry, } from './workflow-tool-registry.js';
|
|
4
|
+
export { createToolRequest, batchRequests, } from './workflow-tool-request.js';
|
|
5
|
+
export type { ToolRunOptions } from './workflow-tool-runner.js';
|
|
6
|
+
export { runToolRequest, runToolBatch, } from './workflow-tool-runner.js';
|
|
7
|
+
export { formatToolResult, formatToolResults, toolResultsToData, countToolStatuses, } from './workflow-tool-result.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Workflow tools — public API
|
|
3
|
+
// ============================================================
|
|
4
|
+
export { RISK_ORDER, DEFAULT_MAX_RISK, isRiskAllowed, formatRisk, } from './workflow-tool-risk.js';
|
|
5
|
+
export { WorkflowToolRegistry, createDefaultToolRegistry, } from './workflow-tool-registry.js';
|
|
6
|
+
export { createToolRequest, batchRequests, } from './workflow-tool-request.js';
|
|
7
|
+
export { runToolRequest, runToolBatch, } from './workflow-tool-runner.js';
|
|
8
|
+
export { formatToolResult, formatToolResults, toolResultsToData, countToolStatuses, } from './workflow-tool-result.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflows/tools/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8BAA8B;AAC9B,+DAA+D;AAS/D,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { WorkflowToolCapability, WorkflowToolRisk } from './workflow-tool-types.js';
|
|
2
|
+
interface RegistryEntry {
|
|
3
|
+
capability: WorkflowToolCapability;
|
|
4
|
+
execute: (input: Record<string, unknown>, ctx: {
|
|
5
|
+
workspaceDir: string;
|
|
6
|
+
}) => Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
/** In-memory registry for workflow tool capabilities and their executors. */
|
|
9
|
+
export declare class WorkflowToolRegistry {
|
|
10
|
+
private readonly store;
|
|
11
|
+
register(capability: WorkflowToolCapability, execute: (input: Record<string, unknown>, ctx: {
|
|
12
|
+
workspaceDir: string;
|
|
13
|
+
}) => Promise<unknown>): void;
|
|
14
|
+
has(name: string): boolean;
|
|
15
|
+
get(name: string): RegistryEntry | undefined;
|
|
16
|
+
list(): WorkflowToolCapability[];
|
|
17
|
+
listAllowed(maxRisk?: WorkflowToolRisk): WorkflowToolCapability[];
|
|
18
|
+
clear(): void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a default registry pre-loaded with the four read-only discovery tools.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createDefaultToolRegistry(): WorkflowToolRegistry;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=workflow-tool-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-registry.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAKlC,UAAU,aAAa;IACrB,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9F;AAED,6EAA6E;AAC7E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAE1D,QAAQ,CACN,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAC3F,IAAI;IAIP,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI5C,IAAI,IAAI,sBAAsB,EAAE;IAIhC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,EAAE;IAQjE,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,CAsGhE"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Workflow tool registry
|
|
3
|
+
// ============================================================
|
|
4
|
+
import { readFile } from 'node:fs/promises';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { isRiskAllowed } from './workflow-tool-risk.js';
|
|
7
|
+
import { FileListTool } from '../../tools/file-list.js';
|
|
8
|
+
import { FileReadTool } from '../../tools/file-read.js';
|
|
9
|
+
/** In-memory registry for workflow tool capabilities and their executors. */
|
|
10
|
+
export class WorkflowToolRegistry {
|
|
11
|
+
store = new Map();
|
|
12
|
+
register(capability, execute) {
|
|
13
|
+
this.store.set(capability.name, { capability, execute });
|
|
14
|
+
}
|
|
15
|
+
has(name) {
|
|
16
|
+
return this.store.has(name);
|
|
17
|
+
}
|
|
18
|
+
get(name) {
|
|
19
|
+
return this.store.get(name);
|
|
20
|
+
}
|
|
21
|
+
list() {
|
|
22
|
+
return Array.from(this.store.values()).map((entry) => entry.capability);
|
|
23
|
+
}
|
|
24
|
+
listAllowed(maxRisk) {
|
|
25
|
+
return this.list().filter((cap) => {
|
|
26
|
+
if (!cap.enabled)
|
|
27
|
+
return false;
|
|
28
|
+
if (maxRisk !== undefined && !isRiskAllowed(cap.risk, maxRisk))
|
|
29
|
+
return false;
|
|
30
|
+
return true;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
clear() {
|
|
34
|
+
this.store.clear();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a default registry pre-loaded with the four read-only discovery tools.
|
|
39
|
+
*/
|
|
40
|
+
export function createDefaultToolRegistry() {
|
|
41
|
+
const registry = new WorkflowToolRegistry();
|
|
42
|
+
// file_list — list files in the workspace
|
|
43
|
+
registry.register({
|
|
44
|
+
name: 'file_list',
|
|
45
|
+
risk: 'read',
|
|
46
|
+
description: 'List files and directories in a workspace path. Respects .gitignore by default.',
|
|
47
|
+
enabled: true,
|
|
48
|
+
requiresApproval: false,
|
|
49
|
+
}, async (input, ctx) => {
|
|
50
|
+
const tool = new FileListTool();
|
|
51
|
+
const result = await tool.execute(input, {
|
|
52
|
+
sessionId: 'workflow',
|
|
53
|
+
workspaceDir: ctx.workspaceDir,
|
|
54
|
+
agentName: 'workflow-agent',
|
|
55
|
+
dryRun: false,
|
|
56
|
+
confirmFn: async () => true,
|
|
57
|
+
emit: () => { },
|
|
58
|
+
});
|
|
59
|
+
return result;
|
|
60
|
+
});
|
|
61
|
+
// file_read — read file contents
|
|
62
|
+
registry.register({
|
|
63
|
+
name: 'file_read',
|
|
64
|
+
risk: 'read',
|
|
65
|
+
description: 'Read the full contents of a file. Supports text files only. Returns content as a string.',
|
|
66
|
+
enabled: true,
|
|
67
|
+
requiresApproval: false,
|
|
68
|
+
}, async (input, ctx) => {
|
|
69
|
+
const tool = new FileReadTool();
|
|
70
|
+
const result = await tool.execute(input, {
|
|
71
|
+
sessionId: 'workflow',
|
|
72
|
+
workspaceDir: ctx.workspaceDir,
|
|
73
|
+
agentName: 'workflow-agent',
|
|
74
|
+
dryRun: false,
|
|
75
|
+
confirmFn: async () => true,
|
|
76
|
+
emit: () => { },
|
|
77
|
+
});
|
|
78
|
+
return result;
|
|
79
|
+
});
|
|
80
|
+
// package_json_inspect — read package.json and return key fields
|
|
81
|
+
registry.register({
|
|
82
|
+
name: 'package_json_inspect',
|
|
83
|
+
risk: 'read',
|
|
84
|
+
description: 'Read package.json and return scripts, dependencies, devDependencies, bin, engines, and version.',
|
|
85
|
+
enabled: true,
|
|
86
|
+
requiresApproval: false,
|
|
87
|
+
}, async (_input, ctx) => {
|
|
88
|
+
const filePath = join(ctx.workspaceDir, 'package.json');
|
|
89
|
+
const raw = await readFile(filePath, 'utf-8');
|
|
90
|
+
const pkg = JSON.parse(raw);
|
|
91
|
+
return {
|
|
92
|
+
scripts: pkg.scripts ?? {},
|
|
93
|
+
dependencies: pkg.dependencies ?? {},
|
|
94
|
+
devDependencies: pkg.devDependencies ?? {},
|
|
95
|
+
bin: pkg.bin ?? {},
|
|
96
|
+
engines: pkg.engines ?? {},
|
|
97
|
+
version: pkg.version ?? '0.0.0',
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
// command_discovery — read package.json scripts and return structured command list
|
|
101
|
+
registry.register({
|
|
102
|
+
name: 'command_discovery',
|
|
103
|
+
risk: 'read',
|
|
104
|
+
description: 'Read package.json scripts and return a structured list of available commands.',
|
|
105
|
+
enabled: true,
|
|
106
|
+
requiresApproval: false,
|
|
107
|
+
}, async (_input, ctx) => {
|
|
108
|
+
const filePath = join(ctx.workspaceDir, 'package.json');
|
|
109
|
+
const raw = await readFile(filePath, 'utf-8');
|
|
110
|
+
const pkg = JSON.parse(raw);
|
|
111
|
+
const scripts = pkg.scripts ?? {};
|
|
112
|
+
const commands = Object.entries(scripts).map(([name, command]) => ({
|
|
113
|
+
name,
|
|
114
|
+
command,
|
|
115
|
+
type: 'npm-script',
|
|
116
|
+
}));
|
|
117
|
+
return {
|
|
118
|
+
commands,
|
|
119
|
+
count: commands.length,
|
|
120
|
+
packageName: pkg.name ?? 'unknown',
|
|
121
|
+
version: pkg.version ?? '0.0.0',
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
return registry;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=workflow-tool-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-registry.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WorkflowToolRequest } from './workflow-tool-types.js';
|
|
2
|
+
import type { WorkflowToolRegistry } from './workflow-tool-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a tool execution request.
|
|
5
|
+
* Auto-generates an id and infers risk from the registry when available.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createToolRequest(tool: string, input: Record<string, unknown>, reason: string, overrides?: Partial<WorkflowToolRequest>, registry?: WorkflowToolRegistry): WorkflowToolRequest;
|
|
8
|
+
/**
|
|
9
|
+
* Pass through a batch of requests (useful for typing / validation pipelines).
|
|
10
|
+
*/
|
|
11
|
+
export declare function batchRequests(...requests: WorkflowToolRequest[]): WorkflowToolRequest[];
|
|
12
|
+
//# sourceMappingURL=workflow-tool-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-request.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-request.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACxC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,mBAAmB,CAarB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,QAAQ,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAEvF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Workflow tool request builders
|
|
3
|
+
// ============================================================
|
|
4
|
+
import { generateId } from '@nexagent-cli/shared';
|
|
5
|
+
/**
|
|
6
|
+
* Create a tool execution request.
|
|
7
|
+
* Auto-generates an id and infers risk from the registry when available.
|
|
8
|
+
*/
|
|
9
|
+
export function createToolRequest(tool, input, reason, overrides, registry) {
|
|
10
|
+
const inferredRisk = registry?.get(tool)?.capability.risk ?? 'read';
|
|
11
|
+
const inferredRequiresApproval = registry?.get(tool)?.capability.requiresApproval ?? false;
|
|
12
|
+
return {
|
|
13
|
+
id: generateId(),
|
|
14
|
+
tool,
|
|
15
|
+
input,
|
|
16
|
+
reason,
|
|
17
|
+
risk: inferredRisk,
|
|
18
|
+
requiresApproval: inferredRequiresApproval,
|
|
19
|
+
...overrides,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Pass through a batch of requests (useful for typing / validation pipelines).
|
|
24
|
+
*/
|
|
25
|
+
export function batchRequests(...requests) {
|
|
26
|
+
return requests;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=workflow-tool-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-request.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-request.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,KAA8B,EAC9B,MAAc,EACd,SAAwC,EACxC,QAA+B;IAE/B,MAAM,YAAY,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC;IACpE,MAAM,wBAAwB,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAE3F,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI;QACJ,KAAK;QACL,MAAM;QACN,IAAI,EAAE,YAAY;QAClB,gBAAgB,EAAE,wBAAwB;QAC1C,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,QAA+B;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { WorkflowToolResult } from './workflow-tool-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Format a single tool result as terminal lines.
|
|
4
|
+
*/
|
|
5
|
+
export declare function formatToolResult(result: WorkflowToolResult): string[];
|
|
6
|
+
/**
|
|
7
|
+
* Format multiple tool results with a summary header.
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatToolResults(results: WorkflowToolResult[]): string[];
|
|
10
|
+
/**
|
|
11
|
+
* Convert a list of tool results to a plain object suitable for WorkflowResult.data.
|
|
12
|
+
*/
|
|
13
|
+
export declare function toolResultsToData(results: WorkflowToolResult[]): Record<string, unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Count how many results fall into each status bucket.
|
|
16
|
+
*/
|
|
17
|
+
export declare function countToolStatuses(results: WorkflowToolResult[]): {
|
|
18
|
+
success: number;
|
|
19
|
+
skipped: number;
|
|
20
|
+
blocked: number;
|
|
21
|
+
failed: number;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=workflow-tool-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-result.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-result.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA4BrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAWzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKxF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAQA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Workflow tool result formatters
|
|
3
|
+
// ============================================================
|
|
4
|
+
/**
|
|
5
|
+
* Format a single tool result as terminal lines.
|
|
6
|
+
*/
|
|
7
|
+
export function formatToolResult(result) {
|
|
8
|
+
const emoji = result.status === 'success'
|
|
9
|
+
? '✅'
|
|
10
|
+
: result.status === 'skipped'
|
|
11
|
+
? '⏭️'
|
|
12
|
+
: result.status === 'blocked'
|
|
13
|
+
? '🚫'
|
|
14
|
+
: '❌';
|
|
15
|
+
const lines = [
|
|
16
|
+
`${emoji} ${result.tool} (${result.risk}) — ${result.status} in ${result.durationMs}ms`,
|
|
17
|
+
];
|
|
18
|
+
if (result.error) {
|
|
19
|
+
lines.push(` Error: ${result.error}`);
|
|
20
|
+
}
|
|
21
|
+
if (result.output !== undefined) {
|
|
22
|
+
const outputStr = typeof result.output === 'string'
|
|
23
|
+
? result.output
|
|
24
|
+
: JSON.stringify(result.output, null, 2);
|
|
25
|
+
const preview = outputStr.split('\n').slice(0, 3).join('\n ');
|
|
26
|
+
lines.push(` Output: ${preview}`);
|
|
27
|
+
}
|
|
28
|
+
return lines;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Format multiple tool results with a summary header.
|
|
32
|
+
*/
|
|
33
|
+
export function formatToolResults(results) {
|
|
34
|
+
const counts = countToolStatuses(results);
|
|
35
|
+
const header = `📋 Tool Results — ${results.length} total | ✅ ${counts.success} | ⏭️ ${counts.skipped} | 🚫 ${counts.blocked} | ❌ ${counts.failed}`;
|
|
36
|
+
const lines = [header, ''];
|
|
37
|
+
for (const result of results) {
|
|
38
|
+
lines.push(...formatToolResult(result));
|
|
39
|
+
lines.push('');
|
|
40
|
+
}
|
|
41
|
+
return lines;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert a list of tool results to a plain object suitable for WorkflowResult.data.
|
|
45
|
+
*/
|
|
46
|
+
export function toolResultsToData(results) {
|
|
47
|
+
return {
|
|
48
|
+
toolResults: results,
|
|
49
|
+
summary: countToolStatuses(results),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Count how many results fall into each status bucket.
|
|
54
|
+
*/
|
|
55
|
+
export function countToolStatuses(results) {
|
|
56
|
+
return results.reduce((acc, r) => {
|
|
57
|
+
acc[r.status]++;
|
|
58
|
+
return acc;
|
|
59
|
+
}, { success: 0, skipped: 0, blocked: 0, failed: 0 });
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=workflow-tool-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-result.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-result.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;AAI/D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACzD,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,GAAG,CAAC;IAEd,MAAM,KAAK,GAAa;QACtB,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,UAAU,IAAI;KACxF,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA6B;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,qBAAqB,OAAO,CAAC,MAAM,cAAc,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;IAEpJ,MAAM,KAAK,GAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA6B;IAC7D,OAAO;QACL,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA6B;IAM7D,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACT,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAClD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WorkflowToolRisk } from './workflow-tool-types.js';
|
|
2
|
+
/** Numeric ordering for risk comparison (higher = more dangerous) */
|
|
3
|
+
export declare const RISK_ORDER: Record<WorkflowToolRisk, number>;
|
|
4
|
+
/** Default maximum allowed risk — v0.8.3 only allows read */
|
|
5
|
+
export declare const DEFAULT_MAX_RISK: WorkflowToolRisk;
|
|
6
|
+
/**
|
|
7
|
+
* Check whether a requested risk level is within the allowed maximum.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isRiskAllowed(requested: WorkflowToolRisk, maxAllowed: WorkflowToolRisk): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Format a risk level as an emoji label.
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatRisk(risk: WorkflowToolRisk): string;
|
|
14
|
+
//# sourceMappingURL=workflow-tool-risk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-risk.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-risk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,qEAAqE;AACrE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAKvD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,EAAE,gBAAyB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAEhG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAazD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Workflow tool risk utilities
|
|
3
|
+
// ============================================================
|
|
4
|
+
/** Numeric ordering for risk comparison (higher = more dangerous) */
|
|
5
|
+
export const RISK_ORDER = {
|
|
6
|
+
read: 0,
|
|
7
|
+
write: 1,
|
|
8
|
+
execute: 2,
|
|
9
|
+
network: 3,
|
|
10
|
+
};
|
|
11
|
+
/** Default maximum allowed risk — v0.8.3 only allows read */
|
|
12
|
+
export const DEFAULT_MAX_RISK = 'read';
|
|
13
|
+
/**
|
|
14
|
+
* Check whether a requested risk level is within the allowed maximum.
|
|
15
|
+
*/
|
|
16
|
+
export function isRiskAllowed(requested, maxAllowed) {
|
|
17
|
+
return RISK_ORDER[requested] <= RISK_ORDER[maxAllowed];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Format a risk level as an emoji label.
|
|
21
|
+
*/
|
|
22
|
+
export function formatRisk(risk) {
|
|
23
|
+
switch (risk) {
|
|
24
|
+
case 'read':
|
|
25
|
+
return '🔍 read';
|
|
26
|
+
case 'write':
|
|
27
|
+
return '✏️ write';
|
|
28
|
+
case 'execute':
|
|
29
|
+
return '⚡ execute';
|
|
30
|
+
case 'network':
|
|
31
|
+
return '🌐 network';
|
|
32
|
+
default:
|
|
33
|
+
return `❓ ${risk}`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=workflow-tool-risk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-risk.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-risk.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,+DAA+D;AAI/D,qEAAqE;AACrE,MAAM,CAAC,MAAM,UAAU,GAAqC;IAC1D,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAqB,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAA2B,EAAE,UAA4B;IACrF,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAsB;IAC/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,KAAK,IAAI,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { WorkflowToolRequest, WorkflowToolResult, WorkflowToolRisk } from './workflow-tool-types.js';
|
|
2
|
+
import type { WorkflowToolRegistry } from './workflow-tool-registry.js';
|
|
3
|
+
/** Options for running tool requests */
|
|
4
|
+
export interface ToolRunOptions {
|
|
5
|
+
dryRun?: boolean;
|
|
6
|
+
debug?: boolean;
|
|
7
|
+
maxRisk?: WorkflowToolRisk;
|
|
8
|
+
workspaceDir: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Execute a single tool request against the registry.
|
|
12
|
+
* Respects dry-run mode and maxRisk gating.
|
|
13
|
+
*/
|
|
14
|
+
export declare function runToolRequest(request: WorkflowToolRequest, registry: WorkflowToolRegistry, opts: ToolRunOptions): Promise<WorkflowToolResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Run a batch of tool requests sequentially.
|
|
17
|
+
*/
|
|
18
|
+
export declare function runToolBatch(requests: WorkflowToolRequest[], registry: WorkflowToolRegistry, opts: ToolRunOptions): Promise<WorkflowToolResult[]>;
|
|
19
|
+
//# sourceMappingURL=workflow-tool-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tool-runner.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA+D7B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAO/B"}
|