@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.
Files changed (58) hide show
  1. package/dist/commands/sophie.d.ts +2 -0
  2. package/dist/commands/sophie.d.ts.map +1 -1
  3. package/dist/commands/sophie.js +122 -1
  4. package/dist/commands/sophie.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +27 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/workflow.d.ts +14 -0
  9. package/dist/runtime/workflow.d.ts.map +1 -1
  10. package/dist/runtime/workflow.js.map +1 -1
  11. package/dist/workflows/contracts/index.d.ts +4 -0
  12. package/dist/workflows/contracts/index.d.ts.map +1 -0
  13. package/dist/workflows/contracts/index.js +4 -0
  14. package/dist/workflows/contracts/index.js.map +1 -0
  15. package/dist/workflows/contracts/workflow-export.d.ts +22 -0
  16. package/dist/workflows/contracts/workflow-export.d.ts.map +1 -0
  17. package/dist/workflows/contracts/workflow-export.js +99 -0
  18. package/dist/workflows/contracts/workflow-export.js.map +1 -0
  19. package/dist/workflows/contracts/workflow-formatters.d.ts +8 -0
  20. package/dist/workflows/contracts/workflow-formatters.d.ts.map +1 -0
  21. package/dist/workflows/contracts/workflow-formatters.js +50 -0
  22. package/dist/workflows/contracts/workflow-formatters.js.map +1 -0
  23. package/dist/workflows/contracts/workflow-result-schema.d.ts +27 -0
  24. package/dist/workflows/contracts/workflow-result-schema.d.ts.map +1 -0
  25. package/dist/workflows/contracts/workflow-result-schema.js +56 -0
  26. package/dist/workflows/contracts/workflow-result-schema.js.map +1 -0
  27. package/dist/workflows/sophie/inspect.d.ts.map +1 -1
  28. package/dist/workflows/sophie/inspect.js +31 -2
  29. package/dist/workflows/sophie/inspect.js.map +1 -1
  30. package/dist/workflows/tools/index.d.ts +8 -0
  31. package/dist/workflows/tools/index.d.ts.map +1 -0
  32. package/dist/workflows/tools/index.js +9 -0
  33. package/dist/workflows/tools/index.js.map +1 -0
  34. package/dist/workflows/tools/workflow-tool-registry.d.ts +25 -0
  35. package/dist/workflows/tools/workflow-tool-registry.d.ts.map +1 -0
  36. package/dist/workflows/tools/workflow-tool-registry.js +126 -0
  37. package/dist/workflows/tools/workflow-tool-registry.js.map +1 -0
  38. package/dist/workflows/tools/workflow-tool-request.d.ts +12 -0
  39. package/dist/workflows/tools/workflow-tool-request.d.ts.map +1 -0
  40. package/dist/workflows/tools/workflow-tool-request.js +28 -0
  41. package/dist/workflows/tools/workflow-tool-request.js.map +1 -0
  42. package/dist/workflows/tools/workflow-tool-result.d.ts +23 -0
  43. package/dist/workflows/tools/workflow-tool-result.d.ts.map +1 -0
  44. package/dist/workflows/tools/workflow-tool-result.js +61 -0
  45. package/dist/workflows/tools/workflow-tool-result.js.map +1 -0
  46. package/dist/workflows/tools/workflow-tool-risk.d.ts +14 -0
  47. package/dist/workflows/tools/workflow-tool-risk.d.ts.map +1 -0
  48. package/dist/workflows/tools/workflow-tool-risk.js +36 -0
  49. package/dist/workflows/tools/workflow-tool-risk.js.map +1 -0
  50. package/dist/workflows/tools/workflow-tool-runner.d.ts +19 -0
  51. package/dist/workflows/tools/workflow-tool-runner.d.ts.map +1 -0
  52. package/dist/workflows/tools/workflow-tool-runner.js +81 -0
  53. package/dist/workflows/tools/workflow-tool-runner.js.map +1 -0
  54. package/dist/workflows/tools/workflow-tool-types.d.ts +30 -0
  55. package/dist/workflows/tools/workflow-tool-types.d.ts.map +1 -0
  56. package/dist/workflows/tools/workflow-tool-types.js +5 -0
  57. package/dist/workflows/tools/workflow-tool-types.js.map +1 -0
  58. 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;AAoBjF,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAuSnF"}
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: result,
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: result,
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":"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"}
@@ -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"}