@nexagent-cli/cli 0.8.2 → 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 (32) hide show
  1. package/dist/workflows/sophie/inspect.d.ts.map +1 -1
  2. package/dist/workflows/sophie/inspect.js +31 -2
  3. package/dist/workflows/sophie/inspect.js.map +1 -1
  4. package/dist/workflows/tools/index.d.ts +8 -0
  5. package/dist/workflows/tools/index.d.ts.map +1 -0
  6. package/dist/workflows/tools/index.js +9 -0
  7. package/dist/workflows/tools/index.js.map +1 -0
  8. package/dist/workflows/tools/workflow-tool-registry.d.ts +25 -0
  9. package/dist/workflows/tools/workflow-tool-registry.d.ts.map +1 -0
  10. package/dist/workflows/tools/workflow-tool-registry.js +126 -0
  11. package/dist/workflows/tools/workflow-tool-registry.js.map +1 -0
  12. package/dist/workflows/tools/workflow-tool-request.d.ts +12 -0
  13. package/dist/workflows/tools/workflow-tool-request.d.ts.map +1 -0
  14. package/dist/workflows/tools/workflow-tool-request.js +28 -0
  15. package/dist/workflows/tools/workflow-tool-request.js.map +1 -0
  16. package/dist/workflows/tools/workflow-tool-result.d.ts +23 -0
  17. package/dist/workflows/tools/workflow-tool-result.d.ts.map +1 -0
  18. package/dist/workflows/tools/workflow-tool-result.js +61 -0
  19. package/dist/workflows/tools/workflow-tool-result.js.map +1 -0
  20. package/dist/workflows/tools/workflow-tool-risk.d.ts +14 -0
  21. package/dist/workflows/tools/workflow-tool-risk.d.ts.map +1 -0
  22. package/dist/workflows/tools/workflow-tool-risk.js +36 -0
  23. package/dist/workflows/tools/workflow-tool-risk.js.map +1 -0
  24. package/dist/workflows/tools/workflow-tool-runner.d.ts +19 -0
  25. package/dist/workflows/tools/workflow-tool-runner.d.ts.map +1 -0
  26. package/dist/workflows/tools/workflow-tool-runner.js +81 -0
  27. package/dist/workflows/tools/workflow-tool-runner.js.map +1 -0
  28. package/dist/workflows/tools/workflow-tool-types.d.ts +30 -0
  29. package/dist/workflows/tools/workflow-tool-types.d.ts.map +1 -0
  30. package/dist/workflows/tools/workflow-tool-types.js +5 -0
  31. package/dist/workflows/tools/workflow-tool-types.js.map +1 -0
  32. package/package.json +1 -1
@@ -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"}
@@ -0,0 +1,81 @@
1
+ // ============================================================
2
+ // Workflow tool runner — execution engine
3
+ // ============================================================
4
+ import { isRiskAllowed } from './workflow-tool-risk.js';
5
+ /**
6
+ * Execute a single tool request against the registry.
7
+ * Respects dry-run mode and maxRisk gating.
8
+ */
9
+ export async function runToolRequest(request, registry, opts) {
10
+ const start = Date.now();
11
+ const maxRisk = opts.maxRisk ?? 'read';
12
+ // Unknown tool
13
+ if (!registry.has(request.tool)) {
14
+ return {
15
+ requestId: request.id,
16
+ tool: request.tool,
17
+ status: 'blocked',
18
+ error: 'Unknown tool',
19
+ durationMs: Date.now() - start,
20
+ risk: request.risk,
21
+ };
22
+ }
23
+ // Risk exceeds allowed maximum
24
+ if (!isRiskAllowed(request.risk, maxRisk)) {
25
+ return {
26
+ requestId: request.id,
27
+ tool: request.tool,
28
+ status: 'blocked',
29
+ error: `Risk ${request.risk} exceeds max allowed ${maxRisk}`,
30
+ durationMs: Date.now() - start,
31
+ risk: request.risk,
32
+ };
33
+ }
34
+ // Dry-run: skip execution but report what would run
35
+ if (opts.dryRun) {
36
+ return {
37
+ requestId: request.id,
38
+ tool: request.tool,
39
+ status: 'skipped',
40
+ output: `[dry-run] Would execute ${request.tool} with input ${JSON.stringify(request.input)}`,
41
+ durationMs: Date.now() - start,
42
+ risk: request.risk,
43
+ };
44
+ }
45
+ // Execute
46
+ const entry = registry.get(request.tool);
47
+ try {
48
+ const result = await entry.execute(request.input, { workspaceDir: opts.workspaceDir });
49
+ return {
50
+ requestId: request.id,
51
+ tool: request.tool,
52
+ status: 'success',
53
+ output: result,
54
+ durationMs: Date.now() - start,
55
+ risk: request.risk,
56
+ };
57
+ }
58
+ catch (err) {
59
+ const message = err instanceof Error ? err.message : String(err);
60
+ return {
61
+ requestId: request.id,
62
+ tool: request.tool,
63
+ status: 'failed',
64
+ error: message,
65
+ durationMs: Date.now() - start,
66
+ risk: request.risk,
67
+ };
68
+ }
69
+ }
70
+ /**
71
+ * Run a batch of tool requests sequentially.
72
+ */
73
+ export async function runToolBatch(requests, registry, opts) {
74
+ const results = [];
75
+ for (const request of requests) {
76
+ const result = await runToolRequest(request, registry, opts);
77
+ results.push(result);
78
+ }
79
+ return results;
80
+ }
81
+ //# sourceMappingURL=workflow-tool-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tool-runner.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /** Risk level for a workflow tool operation */
2
+ export type WorkflowToolRisk = 'read' | 'write' | 'execute' | 'network';
3
+ /** Request to execute a workflow tool */
4
+ export interface WorkflowToolRequest {
5
+ id: string;
6
+ tool: string;
7
+ reason: string;
8
+ risk: WorkflowToolRisk;
9
+ input: Record<string, unknown>;
10
+ requiresApproval: boolean;
11
+ }
12
+ /** Result of executing a workflow tool */
13
+ export interface WorkflowToolResult {
14
+ requestId: string;
15
+ tool: string;
16
+ status: 'success' | 'skipped' | 'blocked' | 'failed';
17
+ output?: unknown;
18
+ error?: string;
19
+ durationMs: number;
20
+ risk: WorkflowToolRisk;
21
+ }
22
+ /** Capability metadata for a registered workflow tool */
23
+ export interface WorkflowToolCapability {
24
+ name: string;
25
+ risk: WorkflowToolRisk;
26
+ description: string;
27
+ enabled: boolean;
28
+ requiresApproval: boolean;
29
+ }
30
+ //# sourceMappingURL=workflow-tool-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tool-types.d.ts","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-types.ts"],"names":[],"mappings":"AAIA,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,yCAAyC;AACzC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ // ============================================================
2
+ // Workflow tool type definitions
3
+ // ============================================================
4
+ export {};
5
+ //# sourceMappingURL=workflow-tool-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tool-types.js","sourceRoot":"","sources":["../../../src/workflows/tools/workflow-tool-types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexagent-cli/cli",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "NexAgent — locally-runnable AI agent CLI with file editing, tools, and beautiful TUI",
5
5
  "bin": {
6
6
  "nexagent": "dist/bin/nexagent.js",