@defai.digital/cli 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +11 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +144 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +315 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/cli.d.ts +14 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +84 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands/ability.d.ts +17 -0
  15. package/dist/commands/ability.d.ts.map +1 -0
  16. package/dist/commands/ability.js +286 -0
  17. package/dist/commands/ability.js.map +1 -0
  18. package/dist/commands/agent.d.ts +18 -0
  19. package/dist/commands/agent.d.ts.map +1 -0
  20. package/dist/commands/agent.js +361 -0
  21. package/dist/commands/agent.js.map +1 -0
  22. package/dist/commands/call.d.ts +15 -0
  23. package/dist/commands/call.d.ts.map +1 -0
  24. package/dist/commands/call.js +503 -0
  25. package/dist/commands/call.js.map +1 -0
  26. package/dist/commands/cleanup.d.ts +18 -0
  27. package/dist/commands/cleanup.d.ts.map +1 -0
  28. package/dist/commands/cleanup.js +300 -0
  29. package/dist/commands/cleanup.js.map +1 -0
  30. package/dist/commands/config.d.ts +16 -0
  31. package/dist/commands/config.d.ts.map +1 -0
  32. package/dist/commands/config.js +513 -0
  33. package/dist/commands/config.js.map +1 -0
  34. package/dist/commands/discuss.d.ts +16 -0
  35. package/dist/commands/discuss.d.ts.map +1 -0
  36. package/dist/commands/discuss.js +700 -0
  37. package/dist/commands/discuss.js.map +1 -0
  38. package/dist/commands/doctor.d.ts +48 -0
  39. package/dist/commands/doctor.d.ts.map +1 -0
  40. package/dist/commands/doctor.js +356 -0
  41. package/dist/commands/doctor.js.map +1 -0
  42. package/dist/commands/guard.d.ts +12 -0
  43. package/dist/commands/guard.d.ts.map +1 -0
  44. package/dist/commands/guard.js +225 -0
  45. package/dist/commands/guard.js.map +1 -0
  46. package/dist/commands/help.d.ts +11 -0
  47. package/dist/commands/help.d.ts.map +1 -0
  48. package/dist/commands/help.js +180 -0
  49. package/dist/commands/help.js.map +1 -0
  50. package/dist/commands/history.d.ts +19 -0
  51. package/dist/commands/history.d.ts.map +1 -0
  52. package/dist/commands/history.js +200 -0
  53. package/dist/commands/history.js.map +1 -0
  54. package/dist/commands/index.d.ts +23 -0
  55. package/dist/commands/index.d.ts.map +1 -0
  56. package/dist/commands/index.js +26 -0
  57. package/dist/commands/index.js.map +1 -0
  58. package/dist/commands/iterate.d.ts +16 -0
  59. package/dist/commands/iterate.d.ts.map +1 -0
  60. package/dist/commands/iterate.js +72 -0
  61. package/dist/commands/iterate.js.map +1 -0
  62. package/dist/commands/list.d.ts +6 -0
  63. package/dist/commands/list.d.ts.map +1 -0
  64. package/dist/commands/list.js +62 -0
  65. package/dist/commands/list.js.map +1 -0
  66. package/dist/commands/mcp.d.ts +16 -0
  67. package/dist/commands/mcp.d.ts.map +1 -0
  68. package/dist/commands/mcp.js +57 -0
  69. package/dist/commands/mcp.js.map +1 -0
  70. package/dist/commands/resume.d.ts +18 -0
  71. package/dist/commands/resume.d.ts.map +1 -0
  72. package/dist/commands/resume.js +208 -0
  73. package/dist/commands/resume.js.map +1 -0
  74. package/dist/commands/review.d.ts +13 -0
  75. package/dist/commands/review.d.ts.map +1 -0
  76. package/dist/commands/review.js +450 -0
  77. package/dist/commands/review.js.map +1 -0
  78. package/dist/commands/run.d.ts +6 -0
  79. package/dist/commands/run.d.ts.map +1 -0
  80. package/dist/commands/run.js +158 -0
  81. package/dist/commands/run.js.map +1 -0
  82. package/dist/commands/scaffold.d.ts +20 -0
  83. package/dist/commands/scaffold.d.ts.map +1 -0
  84. package/dist/commands/scaffold.js +924 -0
  85. package/dist/commands/scaffold.js.map +1 -0
  86. package/dist/commands/session.d.ts +20 -0
  87. package/dist/commands/session.d.ts.map +1 -0
  88. package/dist/commands/session.js +504 -0
  89. package/dist/commands/session.js.map +1 -0
  90. package/dist/commands/setup.d.ts +14 -0
  91. package/dist/commands/setup.d.ts.map +1 -0
  92. package/dist/commands/setup.js +762 -0
  93. package/dist/commands/setup.js.map +1 -0
  94. package/dist/commands/status.d.ts +17 -0
  95. package/dist/commands/status.d.ts.map +1 -0
  96. package/dist/commands/status.js +227 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/commands/trace.d.ts +6 -0
  99. package/dist/commands/trace.d.ts.map +1 -0
  100. package/dist/commands/trace.js +204 -0
  101. package/dist/commands/trace.js.map +1 -0
  102. package/dist/commands/update.d.ts +24 -0
  103. package/dist/commands/update.d.ts.map +1 -0
  104. package/dist/commands/update.js +296 -0
  105. package/dist/commands/update.js.map +1 -0
  106. package/dist/index.d.ts +8 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +13 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/parser.d.ts +14 -0
  111. package/dist/parser.d.ts.map +1 -0
  112. package/dist/parser.js +288 -0
  113. package/dist/parser.js.map +1 -0
  114. package/dist/types.d.ts +91 -0
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +29 -0
  117. package/dist/types.js.map +1 -0
  118. package/dist/utils/dangerous-op-guard.d.ts +33 -0
  119. package/dist/utils/dangerous-op-guard.d.ts.map +1 -0
  120. package/dist/utils/dangerous-op-guard.js +112 -0
  121. package/dist/utils/dangerous-op-guard.js.map +1 -0
  122. package/dist/utils/database.d.ts +85 -0
  123. package/dist/utils/database.d.ts.map +1 -0
  124. package/dist/utils/database.js +184 -0
  125. package/dist/utils/database.js.map +1 -0
  126. package/dist/utils/index.d.ts +7 -0
  127. package/dist/utils/index.d.ts.map +1 -0
  128. package/dist/utils/index.js +7 -0
  129. package/dist/utils/index.js.map +1 -0
  130. package/dist/utils/provider-factory.d.ts +31 -0
  131. package/dist/utils/provider-factory.d.ts.map +1 -0
  132. package/dist/utils/provider-factory.js +109 -0
  133. package/dist/utils/provider-factory.js.map +1 -0
  134. package/dist/utils/storage-instances.d.ts +19 -0
  135. package/dist/utils/storage-instances.d.ts.map +1 -0
  136. package/dist/utils/storage-instances.js +20 -0
  137. package/dist/utils/storage-instances.js.map +1 -0
  138. package/package.json +77 -0
@@ -0,0 +1,23 @@
1
+ export { runCommand } from './run.js';
2
+ export { listCommand } from './list.js';
3
+ export { traceCommand } from './trace.js';
4
+ export { doctorCommand } from './doctor.js';
5
+ export { guardCommand } from './guard.js';
6
+ export { callCommand } from './call.js';
7
+ export { agentCommand } from './agent.js';
8
+ export { abilityCommand } from './ability.js';
9
+ export { sessionCommand } from './session.js';
10
+ export { setupCommand } from './setup.js';
11
+ export { configCommand } from './config.js';
12
+ export { reviewCommand } from './review.js';
13
+ export { scaffoldCommand } from './scaffold.js';
14
+ export { discussCommand } from './discuss.js';
15
+ export { helpCommand, versionCommand, CLI_VERSION } from './help.js';
16
+ export { resumeCommand } from './resume.js';
17
+ export { historyCommand } from './history.js';
18
+ export { statusCommand } from './status.js';
19
+ export { cleanupCommand } from './cleanup.js';
20
+ export { iterateCommand } from './iterate.js';
21
+ export { mcpCommand } from './mcp.js';
22
+ export { updateCommand } from './update.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,26 @@
1
+ export { runCommand } from './run.js';
2
+ export { listCommand } from './list.js';
3
+ export { traceCommand } from './trace.js';
4
+ export { doctorCommand } from './doctor.js';
5
+ export { guardCommand } from './guard.js';
6
+ export { callCommand } from './call.js';
7
+ export { agentCommand } from './agent.js';
8
+ export { abilityCommand } from './ability.js';
9
+ export { sessionCommand } from './session.js';
10
+ export { setupCommand } from './setup.js';
11
+ export { configCommand } from './config.js';
12
+ export { reviewCommand } from './review.js';
13
+ export { scaffoldCommand } from './scaffold.js';
14
+ export { discussCommand } from './discuss.js';
15
+ export { helpCommand, versionCommand, CLI_VERSION } from './help.js';
16
+ // High-value additions
17
+ export { resumeCommand } from './resume.js';
18
+ export { historyCommand } from './history.js';
19
+ export { statusCommand } from './status.js';
20
+ export { cleanupCommand } from './cleanup.js';
21
+ export { iterateCommand } from './iterate.js';
22
+ // MCP server
23
+ export { mcpCommand } from './mcp.js';
24
+ // Update
25
+ export { updateCommand } from './update.js';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAErE,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Iterate Command - Shorthand for iterate mode
3
+ *
4
+ * Usage: ax iterate <provider> <prompt>
5
+ * ax iterate --max-iterations 50 <provider> <prompt>
6
+ *
7
+ * This is a convenience command that wraps `ax call --iterate`.
8
+ */
9
+ import type { CommandResult, CLIOptions } from '../types.js';
10
+ /**
11
+ * Iterate command handler
12
+ *
13
+ * This command is a convenience wrapper around `ax call --iterate`.
14
+ */
15
+ export declare function iterateCommand(args: string[], options: CLIOptions): Promise<CommandResult>;
16
+ //# sourceMappingURL=iterate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkD7D;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAaxB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Iterate Command - Shorthand for iterate mode
3
+ *
4
+ * Usage: ax iterate <provider> <prompt>
5
+ * ax iterate --max-iterations 50 <provider> <prompt>
6
+ *
7
+ * This is a convenience command that wraps `ax call --iterate`.
8
+ */
9
+ import { callCommand } from './call.js';
10
+ import { DEFAULT_MAX_ITERATIONS, DEFAULT_MAX_TIME_MS } from '@defai.digital/iterate-domain';
11
+ /**
12
+ * Shows iterate command help
13
+ */
14
+ function showIterateHelp() {
15
+ const helpText = `
16
+ Iterate Command - Autonomous multi-step execution
17
+
18
+ Usage:
19
+ ax iterate <provider> <prompt>
20
+ ax iterate --max-iterations 50 <provider> <prompt>
21
+
22
+ Arguments:
23
+ <provider> AI provider to use (claude, gemini, codex, qwen, glm, grok)
24
+ <prompt> The task to complete autonomously
25
+
26
+ Options:
27
+ --max-iterations Maximum iterations (default: ${DEFAULT_MAX_ITERATIONS})
28
+ --max-time Maximum time: 30s, 5m, 1h (default: ${Math.round(DEFAULT_MAX_TIME_MS / 60000)}m)
29
+ --no-context Skip loading project context
30
+ --model Specific model to use
31
+ --system System prompt to prepend
32
+ --format Output format: text (default) or json
33
+
34
+ How It Works:
35
+ 1. Sends your prompt to the AI provider
36
+ 2. AI works on the task and responds
37
+ 3. If task incomplete, AI continues automatically
38
+ 4. Pauses when AI needs your input (questions, decisions)
39
+ 5. Stops when task is complete or budget exceeded
40
+
41
+ Examples:
42
+ ax iterate claude "implement user authentication"
43
+ ax iterate gemini --max-iterations 50 "refactor the entire API layer"
44
+ ax iterate codex --max-time 10m "add comprehensive unit tests"
45
+
46
+ This is equivalent to: ax call --iterate <provider> <prompt>
47
+ `.trim();
48
+ return {
49
+ success: true,
50
+ message: helpText,
51
+ data: undefined,
52
+ exitCode: 0,
53
+ };
54
+ }
55
+ /**
56
+ * Iterate command handler
57
+ *
58
+ * This command is a convenience wrapper around `ax call --iterate`.
59
+ */
60
+ export async function iterateCommand(args, options) {
61
+ // Show help if requested
62
+ if (args.length === 0 || args[0] === 'help' || options.help) {
63
+ return showIterateHelp();
64
+ }
65
+ // Enable iterate mode and delegate to call command
66
+ const iterateOptions = {
67
+ ...options,
68
+ iterate: true,
69
+ };
70
+ return callCommand(args, iterateOptions);
71
+ }
72
+ //# sourceMappingURL=iterate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG;;;;;;;;;;;;mDAYgC,sBAAsB;0DACf,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC;;;;;;;;;;;;;;;;;;;CAmBhG,CAAC,IAAI,EAAE,CAAC;IAEP,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,OAAmB;IAEnB,yBAAyB;IACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,mDAAmD;IACnD,MAAM,cAAc,GAAe;QACjC,GAAG,OAAO;QACV,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CommandResult, CLIOptions } from '../types.js';
2
+ /**
3
+ * Handles the 'list' command - lists available workflows
4
+ */
5
+ export declare function listCommand(_args: string[], options: CLIOptions): Promise<CommandResult>;
6
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI7D;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAgExB"}
@@ -0,0 +1,62 @@
1
+ import { createWorkflowLoader, findWorkflowDir } from '@defai.digital/workflow-engine';
2
+ import * as path from 'node:path';
3
+ /**
4
+ * Handles the 'list' command - lists available workflows
5
+ */
6
+ export async function listCommand(_args, options) {
7
+ try {
8
+ // Find workflow directory
9
+ const workflowDir = options.workflowDir ?? findWorkflowDir(process.cwd());
10
+ if (!workflowDir) {
11
+ return {
12
+ success: true,
13
+ message: 'No workflow directory found. Create examples/workflows/ or use --workflow-dir.',
14
+ data: [],
15
+ exitCode: 0,
16
+ };
17
+ }
18
+ // Load workflows from directory
19
+ const loader = createWorkflowLoader({ workflowsDir: workflowDir });
20
+ const workflows = await loader.listAll();
21
+ if (workflows.length === 0) {
22
+ return {
23
+ success: true,
24
+ message: `No workflows found in ${workflowDir}`,
25
+ data: [],
26
+ exitCode: 0,
27
+ };
28
+ }
29
+ // Apply limit if specified
30
+ const limited = options.limit !== undefined
31
+ ? workflows.slice(0, options.limit)
32
+ : workflows;
33
+ if (options.format === 'json') {
34
+ return {
35
+ success: true,
36
+ message: undefined,
37
+ data: limited,
38
+ exitCode: 0,
39
+ };
40
+ }
41
+ // Format as text table
42
+ const header = 'ID | Name | Version | Steps | Status';
43
+ const separator = '-'.repeat(header.length);
44
+ const rows = limited.map((w) => `${w.id.padEnd(28)} | ${(w.name ?? w.id).substring(0, 30).padEnd(30)} | ${w.version.padEnd(7)} | ${String(w.stepCount).padEnd(5)} | ${w.status}`);
45
+ const footer = `\n${workflows.length} workflow(s) found in ${path.basename(workflowDir)}/`;
46
+ return {
47
+ success: true,
48
+ message: [header, separator, ...rows, footer].join('\n'),
49
+ data: limited,
50
+ exitCode: 0,
51
+ };
52
+ }
53
+ catch (error) {
54
+ return {
55
+ success: false,
56
+ message: `Failed to list workflows: ${error instanceof Error ? error.message : 'Unknown error'}`,
57
+ data: undefined,
58
+ exitCode: 1,
59
+ };
60
+ }
61
+ }
62
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,OAAmB;IAEnB,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gFAAgF;gBACzF,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,yBAAyB,WAAW,EAAE;gBAC/C,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;YACzC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,0FAA0F,CAAC;QAC1G,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CACjJ,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,SAAS,CAAC,MAAM,yBAAyB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;QAE3F,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;YAChG,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * MCP Server Command
3
+ *
4
+ * Starts the AutomatosX MCP server for integration with AI coding assistants
5
+ * like Claude Code, Gemini CLI, Codex CLI, etc.
6
+ */
7
+ import type { CommandResult, CLIOptions } from '../types.js';
8
+ /**
9
+ * MCP command handler
10
+ *
11
+ * Usage:
12
+ * ax mcp server Start the MCP server (stdio transport)
13
+ * ax mcp serve Alias for 'server'
14
+ */
15
+ export declare function mcpCommand(args: string[], _options: CLIOptions): Promise<CommandResult>;
16
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO7D;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * MCP Server Command
3
+ *
4
+ * Starts the AutomatosX MCP server for integration with AI coding assistants
5
+ * like Claude Code, Gemini CLI, Codex CLI, etc.
6
+ */
7
+ /**
8
+ * MCP command handler
9
+ *
10
+ * Usage:
11
+ * ax mcp server Start the MCP server (stdio transport)
12
+ * ax mcp serve Alias for 'server'
13
+ */
14
+ export async function mcpCommand(args, _options) {
15
+ const subcommand = args[0];
16
+ switch (subcommand) {
17
+ case 'server':
18
+ case 'serve':
19
+ case undefined:
20
+ return await startMCPServer();
21
+ default:
22
+ return {
23
+ success: false,
24
+ exitCode: 1,
25
+ message: `Unknown MCP subcommand: ${subcommand}\n\nUsage:\n ax mcp server Start the MCP server`,
26
+ data: undefined,
27
+ };
28
+ }
29
+ }
30
+ /**
31
+ * Start the MCP server
32
+ */
33
+ async function startMCPServer() {
34
+ try {
35
+ // Dynamically import the MCP server to avoid circular dependencies
36
+ const { runStdioServer } = await import('@defai.digital/mcp-server');
37
+ // Run the server (this will block until stdin closes)
38
+ await runStdioServer();
39
+ return {
40
+ success: true,
41
+ exitCode: 0,
42
+ message: undefined,
43
+ data: undefined,
44
+ };
45
+ }
46
+ catch (error) {
47
+ // Log to stderr to avoid polluting MCP protocol on stdout
48
+ console.error(`MCP server error: ${error instanceof Error ? error.message : 'Unknown error'}`);
49
+ return {
50
+ success: false,
51
+ exitCode: 1,
52
+ message: `Failed to start MCP server: ${error instanceof Error ? error.message : 'Unknown error'}`,
53
+ data: undefined,
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,QAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAA8B,CAAC;IAExD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,MAAM,cAAc,EAAE,CAAC;QAEhC;YACE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,2BAA2B,UAAU,qDAAqD;gBACnG,IAAI,EAAE,SAAS;aAChB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAErE,sDAAsD;QACtD,MAAM,cAAc,EAAE,CAAC;QAEvB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,SAAS;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0DAA0D;QAC1D,OAAO,CAAC,KAAK,CACX,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;YAClG,IAAI,EAAE,SAAS;SAChB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Resume Command
3
+ *
4
+ * Resume agent execution from a checkpoint.
5
+ * Leverages the existing checkpoint-manager from @defai.digital/agent-execution.
6
+ *
7
+ * Usage:
8
+ * ax resume # Resume latest checkpoint (requires --agent)
9
+ * ax resume --agent=coder # Resume latest for specific agent
10
+ * ax resume --checkpoint=<uuid> # Resume specific checkpoint
11
+ * ax resume list --agent=coder # List available checkpoints
12
+ */
13
+ import type { CommandResult, CLIOptions } from '../types.js';
14
+ /**
15
+ * Resume command handler
16
+ */
17
+ export declare function resumeCommand(args: string[], options: CLIOptions): Promise<CommandResult>;
18
+ //# sourceMappingURL=resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAY7D;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CA4GxB"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Resume Command
3
+ *
4
+ * Resume agent execution from a checkpoint.
5
+ * Leverages the existing checkpoint-manager from @defai.digital/agent-execution.
6
+ *
7
+ * Usage:
8
+ * ax resume # Resume latest checkpoint (requires --agent)
9
+ * ax resume --agent=coder # Resume latest for specific agent
10
+ * ax resume --checkpoint=<uuid> # Resume specific checkpoint
11
+ * ax resume list --agent=coder # List available checkpoints
12
+ */
13
+ import { createCheckpointManager } from '@defai.digital/agent-execution';
14
+ import { safeValidateResumeOptions, } from '@defai.digital/contracts';
15
+ import { getCheckpointStorage, initializeStorageAsync, } from '../utils/storage-instances.js';
16
+ /**
17
+ * Resume command handler
18
+ */
19
+ export async function resumeCommand(args, options) {
20
+ // Initialize storage (enables SQLite if available)
21
+ await initializeStorageAsync();
22
+ // Handle list subcommand
23
+ const extendedOptions = options;
24
+ if (args[0] === 'list' || extendedOptions.list) {
25
+ return listCheckpoints(options);
26
+ }
27
+ // Parse and validate options
28
+ const opts = extractResumeOptions(options);
29
+ const validation = safeValidateResumeOptions(opts);
30
+ if (!validation.success) {
31
+ return {
32
+ success: false,
33
+ exitCode: 1,
34
+ message: `Invalid options: ${validation.error.errors.map((e) => e.message).join(', ')}`,
35
+ data: undefined,
36
+ };
37
+ }
38
+ const resumeOpts = validation.data;
39
+ const storage = getCheckpointStorage();
40
+ // Get checkpoint to resume
41
+ let checkpoint = null;
42
+ if (resumeOpts.checkpointId) {
43
+ checkpoint = await storage.load(resumeOpts.checkpointId);
44
+ }
45
+ else if (resumeOpts.agentId) {
46
+ checkpoint = await storage.loadLatest(resumeOpts.agentId, resumeOpts.sessionId);
47
+ }
48
+ else {
49
+ return {
50
+ success: false,
51
+ exitCode: 1,
52
+ message: 'Please specify --agent or --checkpoint. Use "ax resume list --agent=<id>" to see available checkpoints.',
53
+ data: undefined,
54
+ };
55
+ }
56
+ if (!checkpoint) {
57
+ return {
58
+ success: false,
59
+ exitCode: 1,
60
+ message: resumeOpts.checkpointId
61
+ ? `Checkpoint not found: ${resumeOpts.checkpointId}`
62
+ : `No checkpoint found for agent: ${resumeOpts.agentId}`,
63
+ data: undefined,
64
+ };
65
+ }
66
+ // Check if expired
67
+ if (checkpoint.expiresAt && new Date(checkpoint.expiresAt) < new Date()) {
68
+ return {
69
+ success: false,
70
+ exitCode: 1,
71
+ message: `Checkpoint ${checkpoint.checkpointId} has expired (${formatAge(checkpoint.expiresAt)})`,
72
+ data: undefined,
73
+ };
74
+ }
75
+ // Display checkpoint info
76
+ if (!resumeOpts.force && options.format !== 'json') {
77
+ console.log('');
78
+ console.log('Resuming from checkpoint:');
79
+ console.log(` ID: ${checkpoint.checkpointId.slice(0, 8)}...`);
80
+ console.log(` Agent: ${checkpoint.agentId}`);
81
+ console.log(` Step: ${checkpoint.stepIndex} (${checkpoint.completedStepId})`);
82
+ console.log(` Created: ${formatAge(checkpoint.createdAt)}`);
83
+ console.log('');
84
+ console.log(`This will continue execution from step ${checkpoint.stepIndex + 1}.`);
85
+ }
86
+ // Create manager and get resume context
87
+ const manager = createCheckpointManager(checkpoint.agentId, checkpoint.sessionId, storage);
88
+ const resumeContext = await manager.getResumeContext(checkpoint.checkpointId);
89
+ if (!resumeContext) {
90
+ return {
91
+ success: false,
92
+ exitCode: 1,
93
+ message: 'Failed to create resume context',
94
+ data: undefined,
95
+ };
96
+ }
97
+ // Return success with resume info
98
+ // Note: Actual execution integration would happen here
99
+ return {
100
+ success: true,
101
+ exitCode: 0,
102
+ message: options.format === 'json'
103
+ ? undefined
104
+ : `Ready to resume from step ${resumeContext.startFromStep}`,
105
+ data: {
106
+ checkpointId: checkpoint.checkpointId,
107
+ agentId: checkpoint.agentId,
108
+ startFromStep: resumeContext.startFromStep,
109
+ previousStepsCompleted: checkpoint.stepIndex,
110
+ context: resumeContext.context,
111
+ },
112
+ };
113
+ }
114
+ /**
115
+ * List available checkpoints for an agent
116
+ */
117
+ async function listCheckpoints(options) {
118
+ const extendedOptions = options;
119
+ const agentId = extendedOptions.agent;
120
+ if (!agentId) {
121
+ return {
122
+ success: false,
123
+ exitCode: 1,
124
+ message: 'Please specify --agent to list checkpoints',
125
+ data: undefined,
126
+ };
127
+ }
128
+ const storage = getCheckpointStorage();
129
+ const checkpoints = await storage.list(agentId);
130
+ if (checkpoints.length === 0) {
131
+ return {
132
+ success: true,
133
+ exitCode: 0,
134
+ message: `No checkpoints found for agent: ${agentId}`,
135
+ data: { checkpoints: [] },
136
+ };
137
+ }
138
+ // Format for JSON output
139
+ if (options.format === 'json') {
140
+ return {
141
+ success: true,
142
+ exitCode: 0,
143
+ message: undefined,
144
+ data: {
145
+ checkpoints: checkpoints.map((cp) => ({
146
+ checkpointId: cp.checkpointId,
147
+ agentId: cp.agentId,
148
+ sessionId: cp.sessionId,
149
+ stepIndex: cp.stepIndex,
150
+ completedStepId: cp.completedStepId,
151
+ createdAt: cp.createdAt,
152
+ expiresAt: cp.expiresAt,
153
+ age: formatAge(cp.createdAt),
154
+ })),
155
+ },
156
+ };
157
+ }
158
+ // Format for text output
159
+ console.log('');
160
+ console.log(`Checkpoints for agent: ${agentId}`);
161
+ console.log('');
162
+ console.log('ID Step Created Expires');
163
+ console.log('-------- ---------------------- ---------- ----------');
164
+ for (const cp of checkpoints) {
165
+ const id = cp.checkpointId.slice(0, 8);
166
+ const step = `${cp.stepIndex} (${cp.completedStepId})`.slice(0, 22).padEnd(22);
167
+ const created = formatAge(cp.createdAt).padEnd(10);
168
+ const expires = cp.expiresAt ? formatAge(cp.expiresAt) : 'never';
169
+ console.log(`${id} ${step} ${created} ${expires}`);
170
+ }
171
+ console.log('');
172
+ return {
173
+ success: true,
174
+ exitCode: 0,
175
+ message: undefined,
176
+ data: { checkpoints },
177
+ };
178
+ }
179
+ /**
180
+ * Extract resume options from CLI options
181
+ */
182
+ function extractResumeOptions(options) {
183
+ const opts = options;
184
+ return {
185
+ checkpointId: opts.checkpoint,
186
+ agentId: opts.agent,
187
+ sessionId: opts.session,
188
+ force: opts.force === true,
189
+ format: options.format,
190
+ };
191
+ }
192
+ /**
193
+ * Format a datetime as human-readable age
194
+ */
195
+ function formatAge(isoDate) {
196
+ const diff = Date.now() - new Date(isoDate).getTime();
197
+ const minutes = Math.floor(diff / 60000);
198
+ const hours = Math.floor(minutes / 60);
199
+ const days = Math.floor(hours / 24);
200
+ if (days > 0)
201
+ return `${days}d ago`;
202
+ if (hours > 0)
203
+ return `${hours}h ago`;
204
+ if (minutes > 0)
205
+ return `${minutes}m ago`;
206
+ return 'just now';
207
+ }
208
+ //# sourceMappingURL=resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Review Command
3
+ *
4
+ * AI-powered code review with focused analysis modes.
5
+ * Usage: ax review <paths...> [options]
6
+ * ax review help
7
+ */
8
+ import type { CommandResult, CLIOptions } from '../types.js';
9
+ /**
10
+ * Review command handler
11
+ */
12
+ export declare function reviewCommand(args: string[], options: CLIOptions): Promise<CommandResult>;
13
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyf7D;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAcxB"}