@defai.digital/ax-cli 2.7.0 → 3.0.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 (197) hide show
  1. package/.ax-cli/checkpoints/2025-11-20/checkpoint-2dd84869-e62d-46c8-9885-7e45f37f36e2.json +69 -0
  2. package/.ax-cli/checkpoints/2025-11-20/checkpoint-484dc350-353f-4808-9ed1-ebb3cefdab37.json +24 -0
  3. package/.ax-cli/checkpoints/2025-11-20/checkpoint-74a18b87-6172-4215-962b-44bb9f46a662.json +69 -0
  4. package/.ax-cli/checkpoints/2025-11-20/checkpoint-870a5fb9-6e82-4ff2-8ec8-af4c251cc514.json +44 -0
  5. package/.ax-cli/checkpoints/2025-11-20/checkpoint-93946601-0e83-456c-ba47-def9713124dd.json +24 -0
  6. package/.ax-cli/checkpoints/metadata.json +62 -0
  7. package/README.md +87 -11
  8. package/dist/agent/context-manager.d.ts +2 -2
  9. package/dist/agent/context-manager.js +37 -15
  10. package/dist/agent/context-manager.js.map +1 -1
  11. package/dist/agent/dependency-resolver.d.ts +83 -0
  12. package/dist/agent/dependency-resolver.js +310 -0
  13. package/dist/agent/dependency-resolver.js.map +1 -0
  14. package/dist/agent/llm-agent.d.ts +111 -0
  15. package/dist/agent/llm-agent.js +625 -3
  16. package/dist/agent/llm-agent.js.map +1 -1
  17. package/dist/agent/specialized/analysis-agent.d.ts +11 -0
  18. package/dist/agent/specialized/analysis-agent.js +33 -0
  19. package/dist/agent/specialized/analysis-agent.js.map +1 -0
  20. package/dist/agent/specialized/debug-agent.d.ts +11 -0
  21. package/dist/agent/specialized/debug-agent.js +33 -0
  22. package/dist/agent/specialized/debug-agent.js.map +1 -0
  23. package/dist/agent/specialized/documentation-agent.d.ts +11 -0
  24. package/dist/agent/specialized/documentation-agent.js +33 -0
  25. package/dist/agent/specialized/documentation-agent.js.map +1 -0
  26. package/dist/agent/specialized/index.d.ts +11 -0
  27. package/dist/agent/specialized/index.js +12 -0
  28. package/dist/agent/specialized/index.js.map +1 -0
  29. package/dist/agent/specialized/performance-agent.d.ts +11 -0
  30. package/dist/agent/specialized/performance-agent.js +33 -0
  31. package/dist/agent/specialized/performance-agent.js.map +1 -0
  32. package/dist/agent/specialized/refactoring-agent.d.ts +11 -0
  33. package/dist/agent/specialized/refactoring-agent.js +33 -0
  34. package/dist/agent/specialized/refactoring-agent.js.map +1 -0
  35. package/dist/agent/specialized/testing-agent.d.ts +11 -0
  36. package/dist/agent/specialized/testing-agent.js +33 -0
  37. package/dist/agent/specialized/testing-agent.js.map +1 -0
  38. package/dist/agent/subagent-orchestrator.d.ts +128 -0
  39. package/dist/agent/subagent-orchestrator.js +388 -0
  40. package/dist/agent/subagent-orchestrator.js.map +1 -0
  41. package/dist/agent/subagent-types.d.ts +262 -0
  42. package/dist/agent/subagent-types.js +152 -0
  43. package/dist/agent/subagent-types.js.map +1 -0
  44. package/dist/agent/subagent.d.ts +88 -0
  45. package/dist/agent/subagent.js +426 -0
  46. package/dist/agent/subagent.js.map +1 -0
  47. package/dist/checkpoint/index.d.ts +9 -0
  48. package/dist/checkpoint/index.js +11 -0
  49. package/dist/checkpoint/index.js.map +1 -0
  50. package/dist/checkpoint/manager.d.ts +99 -0
  51. package/dist/checkpoint/manager.js +281 -0
  52. package/dist/checkpoint/manager.js.map +1 -0
  53. package/dist/checkpoint/storage.d.ts +31 -0
  54. package/dist/checkpoint/storage.js +265 -0
  55. package/dist/checkpoint/storage.js.map +1 -0
  56. package/dist/checkpoint/types.d.ts +111 -0
  57. package/dist/checkpoint/types.js +17 -0
  58. package/dist/checkpoint/types.js.map +1 -0
  59. package/dist/commands/cache.js +5 -3
  60. package/dist/commands/cache.js.map +1 -1
  61. package/dist/commands/memory.js +21 -16
  62. package/dist/commands/memory.js.map +1 -1
  63. package/dist/commands/plan.d.ts +43 -0
  64. package/dist/commands/plan.js +385 -0
  65. package/dist/commands/plan.js.map +1 -0
  66. package/dist/commands/rewind.d.ts +19 -0
  67. package/dist/commands/rewind.js +221 -0
  68. package/dist/commands/rewind.js.map +1 -0
  69. package/dist/constants.d.ts +28 -0
  70. package/dist/constants.js +29 -0
  71. package/dist/constants.js.map +1 -1
  72. package/dist/hooks/use-enhanced-input.d.ts +5 -1
  73. package/dist/hooks/use-enhanced-input.js +23 -10
  74. package/dist/hooks/use-enhanced-input.js.map +1 -1
  75. package/dist/hooks/use-input-handler.d.ts +11 -1
  76. package/dist/hooks/use-input-handler.js +294 -2
  77. package/dist/hooks/use-input-handler.js.map +1 -1
  78. package/dist/llm/client.js +2 -1
  79. package/dist/llm/client.js.map +1 -1
  80. package/dist/llm/tools.d.ts +5 -0
  81. package/dist/llm/tools.js +57 -6
  82. package/dist/llm/tools.js.map +1 -1
  83. package/dist/mcp/client.d.ts +1 -0
  84. package/dist/mcp/client.js +30 -8
  85. package/dist/mcp/client.js.map +1 -1
  86. package/dist/mcp/transports.d.ts +0 -1
  87. package/dist/mcp/transports.js +10 -7
  88. package/dist/mcp/transports.js.map +1 -1
  89. package/dist/planner/dependency-resolver.d.ts +72 -0
  90. package/dist/planner/dependency-resolver.js +272 -0
  91. package/dist/planner/dependency-resolver.js.map +1 -0
  92. package/dist/planner/index.d.ts +12 -0
  93. package/dist/planner/index.js +26 -0
  94. package/dist/planner/index.js.map +1 -0
  95. package/dist/planner/plan-generator.d.ts +74 -0
  96. package/dist/planner/plan-generator.js +244 -0
  97. package/dist/planner/plan-generator.js.map +1 -0
  98. package/dist/planner/plan-storage.d.ts +98 -0
  99. package/dist/planner/plan-storage.js +325 -0
  100. package/dist/planner/plan-storage.js.map +1 -0
  101. package/dist/planner/prompts/planning-prompt.d.ts +41 -0
  102. package/dist/planner/prompts/planning-prompt.js +289 -0
  103. package/dist/planner/prompts/planning-prompt.js.map +1 -0
  104. package/dist/planner/task-planner.d.ts +135 -0
  105. package/dist/planner/task-planner.js +493 -0
  106. package/dist/planner/task-planner.js.map +1 -0
  107. package/dist/planner/token-estimator.d.ts +63 -0
  108. package/dist/planner/token-estimator.js +295 -0
  109. package/dist/planner/token-estimator.js.map +1 -0
  110. package/dist/planner/types.d.ts +669 -0
  111. package/dist/planner/types.js +213 -0
  112. package/dist/planner/types.js.map +1 -0
  113. package/dist/schemas/api-schemas.js +4 -0
  114. package/dist/schemas/api-schemas.js.map +1 -1
  115. package/dist/schemas/confirmation-schemas.d.ts +5 -0
  116. package/dist/schemas/confirmation-schemas.js +7 -0
  117. package/dist/schemas/confirmation-schemas.js.map +1 -1
  118. package/dist/schemas/index.d.ts +4 -4
  119. package/dist/tools/bash-output.d.ts +25 -0
  120. package/dist/tools/bash-output.js +145 -0
  121. package/dist/tools/bash-output.js.map +1 -0
  122. package/dist/tools/bash.d.ts +46 -2
  123. package/dist/tools/bash.js +241 -42
  124. package/dist/tools/bash.js.map +1 -1
  125. package/dist/tools/search.js +34 -9
  126. package/dist/tools/search.js.map +1 -1
  127. package/dist/tools/text-editor.d.ts +16 -0
  128. package/dist/tools/text-editor.js +37 -2
  129. package/dist/tools/text-editor.js.map +1 -1
  130. package/dist/ui/components/chat-history.d.ts +1 -0
  131. package/dist/ui/components/chat-history.js +125 -41
  132. package/dist/ui/components/chat-history.js.map +1 -1
  133. package/dist/ui/components/chat-input.js +10 -3
  134. package/dist/ui/components/chat-input.js.map +1 -1
  135. package/dist/ui/components/chat-interface.js +154 -45
  136. package/dist/ui/components/chat-interface.js.map +1 -1
  137. package/dist/ui/components/collapsible-tool-result.d.ts +26 -0
  138. package/dist/ui/components/collapsible-tool-result.js +172 -0
  139. package/dist/ui/components/collapsible-tool-result.js.map +1 -0
  140. package/dist/ui/components/command-suggestions.js +2 -1
  141. package/dist/ui/components/command-suggestions.js.map +1 -1
  142. package/dist/ui/components/confirmation-dialog.js +25 -36
  143. package/dist/ui/components/confirmation-dialog.js.map +1 -1
  144. package/dist/ui/components/index.d.ts +8 -0
  145. package/dist/ui/components/index.js +9 -0
  146. package/dist/ui/components/index.js.map +1 -1
  147. package/dist/ui/components/keyboard-hints.d.ts +35 -0
  148. package/dist/ui/components/keyboard-hints.js +134 -0
  149. package/dist/ui/components/keyboard-hints.js.map +1 -0
  150. package/dist/ui/components/loading-spinner.d.ts +2 -1
  151. package/dist/ui/components/loading-spinner.js +86 -34
  152. package/dist/ui/components/loading-spinner.js.map +1 -1
  153. package/dist/ui/components/phase-progress.d.ts +21 -0
  154. package/dist/ui/components/phase-progress.js +228 -0
  155. package/dist/ui/components/phase-progress.js.map +1 -0
  156. package/dist/ui/components/quick-actions.d.ts +12 -0
  157. package/dist/ui/components/quick-actions.js +122 -0
  158. package/dist/ui/components/quick-actions.js.map +1 -0
  159. package/dist/ui/components/reasoning-display.d.ts +0 -80
  160. package/dist/ui/components/reasoning-display.js +0 -83
  161. package/dist/ui/components/reasoning-display.js.map +1 -1
  162. package/dist/ui/components/status-bar.d.ts +25 -0
  163. package/dist/ui/components/status-bar.js +125 -0
  164. package/dist/ui/components/status-bar.js.map +1 -0
  165. package/dist/ui/components/subagent-monitor.d.ts +29 -0
  166. package/dist/ui/components/subagent-monitor.js +150 -0
  167. package/dist/ui/components/subagent-monitor.js.map +1 -0
  168. package/dist/ui/components/toast-notification.d.ts +123 -0
  169. package/dist/ui/components/toast-notification.js +143 -0
  170. package/dist/ui/components/toast-notification.js.map +1 -0
  171. package/dist/ui/components/welcome-panel.d.ts +10 -0
  172. package/dist/ui/components/welcome-panel.js +107 -0
  173. package/dist/ui/components/welcome-panel.js.map +1 -0
  174. package/dist/utils/background-task-manager.d.ts +95 -0
  175. package/dist/utils/background-task-manager.js +330 -0
  176. package/dist/utils/background-task-manager.js.map +1 -0
  177. package/dist/utils/confirmation-service.js +8 -3
  178. package/dist/utils/confirmation-service.js.map +1 -1
  179. package/dist/utils/history-manager.d.ts +1 -0
  180. package/dist/utils/history-manager.js +40 -5
  181. package/dist/utils/history-manager.js.map +1 -1
  182. package/dist/utils/json-utils.d.ts +7 -0
  183. package/dist/utils/json-utils.js +70 -2
  184. package/dist/utils/json-utils.js.map +1 -1
  185. package/dist/utils/message-optimizer.d.ts +1 -0
  186. package/dist/utils/message-optimizer.js +7 -1
  187. package/dist/utils/message-optimizer.js.map +1 -1
  188. package/dist/utils/project-analyzer.js +5 -2
  189. package/dist/utils/project-analyzer.js.map +1 -1
  190. package/dist/utils/settings-manager.js +12 -10
  191. package/dist/utils/settings-manager.js.map +1 -1
  192. package/dist/utils/text-utils.js +3 -3
  193. package/dist/utils/text-utils.js.map +1 -1
  194. package/dist/utils/token-counter.d.ts +5 -0
  195. package/dist/utils/token-counter.js +18 -3
  196. package/dist/utils/token-counter.js.map +1 -1
  197. package/package.json +3 -1
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Multi-Phase Task Planning System - Type Definitions
3
+ *
4
+ * Defines the core data structures for task decomposition,
5
+ * phase execution, and plan persistence.
6
+ */
7
+ import { z } from "zod";
8
+ // ============================================================================
9
+ // Enums
10
+ // ============================================================================
11
+ /**
12
+ * Risk level for a phase - determines approval requirements
13
+ */
14
+ export var RiskLevel;
15
+ (function (RiskLevel) {
16
+ RiskLevel["LOW"] = "low";
17
+ RiskLevel["MEDIUM"] = "medium";
18
+ RiskLevel["HIGH"] = "high";
19
+ })(RiskLevel || (RiskLevel = {}));
20
+ /**
21
+ * Fallback strategy when a phase fails
22
+ */
23
+ export var FallbackStrategy;
24
+ (function (FallbackStrategy) {
25
+ FallbackStrategy["RETRY"] = "retry";
26
+ FallbackStrategy["SKIP"] = "skip";
27
+ FallbackStrategy["ABORT"] = "abort";
28
+ })(FallbackStrategy || (FallbackStrategy = {}));
29
+ /**
30
+ * Status of an individual phase
31
+ */
32
+ export var PhaseStatus;
33
+ (function (PhaseStatus) {
34
+ PhaseStatus["PENDING"] = "pending";
35
+ PhaseStatus["APPROVED"] = "approved";
36
+ PhaseStatus["QUEUED"] = "queued";
37
+ PhaseStatus["EXECUTING"] = "executing";
38
+ PhaseStatus["COMPLETED"] = "completed";
39
+ PhaseStatus["FAILED"] = "failed";
40
+ PhaseStatus["SKIPPED"] = "skipped";
41
+ PhaseStatus["CANCELLED"] = "cancelled";
42
+ })(PhaseStatus || (PhaseStatus = {}));
43
+ /**
44
+ * Status of the overall plan
45
+ */
46
+ export var PlanStatus;
47
+ (function (PlanStatus) {
48
+ PlanStatus["CREATED"] = "created";
49
+ PlanStatus["APPROVED"] = "approved";
50
+ PlanStatus["EXECUTING"] = "executing";
51
+ PlanStatus["PAUSED"] = "paused";
52
+ PlanStatus["COMPLETED"] = "completed";
53
+ PlanStatus["FAILED"] = "failed";
54
+ PlanStatus["ABANDONED"] = "abandoned";
55
+ })(PlanStatus || (PlanStatus = {}));
56
+ // ============================================================================
57
+ // Zod Schemas for Runtime Validation
58
+ // ============================================================================
59
+ export const RiskLevelSchema = z.nativeEnum(RiskLevel);
60
+ export const FallbackStrategySchema = z.nativeEnum(FallbackStrategy);
61
+ export const PhaseStatusSchema = z.nativeEnum(PhaseStatus);
62
+ export const PlanStatusSchema = z.nativeEnum(PlanStatus);
63
+ export const TaskPhaseSchema = z.object({
64
+ id: z.string(),
65
+ index: z.number(),
66
+ name: z.string(),
67
+ description: z.string(),
68
+ objectives: z.array(z.string()),
69
+ toolsRequired: z.array(z.string()),
70
+ dependencies: z.array(z.string()),
71
+ canRunInParallel: z.boolean(),
72
+ riskLevel: RiskLevelSchema,
73
+ requiresApproval: z.boolean(),
74
+ fallbackStrategy: FallbackStrategySchema,
75
+ maxRetries: z.number().default(3),
76
+ status: PhaseStatusSchema,
77
+ startedAt: z.date().optional(),
78
+ completedAt: z.date().optional(),
79
+ duration: z.number().optional(),
80
+ checkpointId: z.string().optional(),
81
+ retryCount: z.number().default(0),
82
+ output: z.string().optional(),
83
+ error: z.string().optional(),
84
+ tokensUsed: z.number().optional(),
85
+ filesModified: z.array(z.string()).optional(),
86
+ });
87
+ export const TaskPlanSchema = z.object({
88
+ id: z.string(),
89
+ version: z.number(),
90
+ originalPrompt: z.string(),
91
+ reasoning: z.string(),
92
+ complexity: z.enum(["simple", "moderate", "complex"]),
93
+ phases: z.array(TaskPhaseSchema),
94
+ currentPhaseIndex: z.number(),
95
+ status: PlanStatusSchema,
96
+ createdAt: z.date(),
97
+ updatedAt: z.date(),
98
+ estimatedTotalTokens: z.number(),
99
+ estimatedDuration: z.number(),
100
+ initialCheckpointId: z.string().optional(),
101
+ totalTokensUsed: z.number().default(0),
102
+ actualDuration: z.number().default(0),
103
+ phasesCompleted: z.number().default(0),
104
+ phasesFailed: z.number().default(0),
105
+ phasesSkipped: z.number().default(0),
106
+ });
107
+ export const PhaseResultSchema = z.object({
108
+ phaseId: z.string(),
109
+ success: z.boolean(),
110
+ output: z.string().optional(),
111
+ error: z.string().optional(),
112
+ duration: z.number(),
113
+ tokensUsed: z.number(),
114
+ filesModified: z.array(z.string()),
115
+ checkpointId: z.string().optional(),
116
+ wasRetry: z.boolean(),
117
+ retryAttempt: z.number(),
118
+ });
119
+ // ============================================================================
120
+ // LLM Response Schemas (for parsing plan generation)
121
+ // ============================================================================
122
+ /**
123
+ * Schema for LLM-generated phase (before adding execution state)
124
+ */
125
+ export const LLMPhaseResponseSchema = z.object({
126
+ name: z.string(),
127
+ description: z.string(),
128
+ objectives: z.array(z.string()),
129
+ toolsRequired: z.array(z.string()).default([]),
130
+ dependencies: z.array(z.string()).default([]),
131
+ canRunInParallel: z.boolean().default(false),
132
+ riskLevel: z.enum(["low", "medium", "high"]).default("low"),
133
+ requiresApproval: z.boolean().default(false),
134
+ });
135
+ /**
136
+ * Schema for LLM-generated plan response
137
+ */
138
+ export const LLMPlanResponseSchema = z.object({
139
+ reasoning: z.string(),
140
+ complexity: z.enum(["simple", "moderate", "complex"]),
141
+ phases: z.array(LLMPhaseResponseSchema),
142
+ });
143
+ // ============================================================================
144
+ // Factory Functions
145
+ // ============================================================================
146
+ /**
147
+ * Create a new TaskPhase with defaults
148
+ */
149
+ export function createPhase(partial) {
150
+ return {
151
+ objectives: [],
152
+ toolsRequired: [],
153
+ dependencies: [],
154
+ canRunInParallel: false,
155
+ riskLevel: RiskLevel.LOW,
156
+ requiresApproval: false,
157
+ fallbackStrategy: FallbackStrategy.ABORT,
158
+ maxRetries: 3,
159
+ status: PhaseStatus.PENDING,
160
+ retryCount: 0,
161
+ ...partial,
162
+ };
163
+ }
164
+ /**
165
+ * Create a new TaskPlan with defaults
166
+ */
167
+ export function createPlan(partial) {
168
+ const now = new Date();
169
+ return {
170
+ version: 1,
171
+ reasoning: "",
172
+ complexity: "moderate",
173
+ currentPhaseIndex: -1,
174
+ status: PlanStatus.CREATED,
175
+ createdAt: now,
176
+ updatedAt: now,
177
+ estimatedTotalTokens: 0,
178
+ estimatedDuration: 0,
179
+ totalTokensUsed: 0,
180
+ actualDuration: 0,
181
+ phasesCompleted: 0,
182
+ phasesFailed: 0,
183
+ phasesSkipped: 0,
184
+ ...partial,
185
+ };
186
+ }
187
+ /**
188
+ * Create default execution options
189
+ */
190
+ export function createDefaultExecutionOptions() {
191
+ return {
192
+ autoApprove: false,
193
+ autoApproveLowRisk: false,
194
+ createCheckpoints: true,
195
+ pruneContextBetweenPhases: true,
196
+ targetContextPercentage: 50,
197
+ maxParallelPhases: 5,
198
+ phaseTimeoutMs: 600000, // 10 minutes
199
+ };
200
+ }
201
+ /**
202
+ * Create default planner options
203
+ */
204
+ export function createDefaultPlannerOptions() {
205
+ return {
206
+ maxPhases: 10,
207
+ autoPlanThreshold: 3,
208
+ requirePlanApproval: true,
209
+ requireHighRiskApproval: true,
210
+ defaultExecutionOptions: createDefaultExecutionOptions(),
211
+ };
212
+ }
213
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/planner/types.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,10 @@ export const StreamingChunkSchema = z.discriminatedUnion('type', [
61
61
  type: z.literal('content'),
62
62
  content: z.string(),
63
63
  }),
64
+ z.object({
65
+ type: z.literal('reasoning'),
66
+ reasoningContent: z.string(),
67
+ }),
64
68
  z.object({
65
69
  type: z.literal('tool_calls'),
66
70
  toolCalls: z.array(LLMToolCallSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"api-schemas.js","sourceRoot":"","sources":["../../src/schemas/api-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-schemas.js","sourceRoot":"","sources":["../../src/schemas/api-schemas.ts"],"names":[],"mappings":"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"}
@@ -58,3 +58,8 @@ export declare function safeValidateConfirmationOptions(data: unknown): {
58
58
  error?: z.ZodError;
59
59
  };
60
60
  export declare function validateConfirmationResult(data: unknown): ConfirmationResult;
61
+ export declare function safeValidateConfirmationResult(data: unknown): {
62
+ success: boolean;
63
+ data?: ConfirmationResult;
64
+ error?: z.ZodError;
65
+ };
@@ -38,4 +38,11 @@ export function safeValidateConfirmationOptions(data) {
38
38
  export function validateConfirmationResult(data) {
39
39
  return ConfirmationResultSchema.parse(data);
40
40
  }
41
+ export function safeValidateConfirmationResult(data) {
42
+ const result = ConfirmationResultSchema.safeParse(data);
43
+ if (result.success) {
44
+ return { success: true, data: result.data };
45
+ }
46
+ return { success: false, error: result.error };
47
+ }
41
48
  //# sourceMappingURL=confirmation-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-schemas.js","sourceRoot":"","sources":["../../src/schemas/confirmation-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;CAC3B,CAAC,CAAC;AAIH;;GAEG;AAEH,MAAM,UAAU,2BAA2B,CACzC,IAAa;IAEb,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAa;IAK3D,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"confirmation-schemas.js","sourceRoot":"","sources":["../../src/schemas/confirmation-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;CAC3B,CAAC,CAAC;AAIH;;GAEG;AAEH,MAAM,UAAU,2BAA2B,CACzC,IAAa;IAEb,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAa;IAK3D,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAK1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC"}
@@ -94,16 +94,16 @@ export declare const ProjectTemplateSchema: z.ZodObject<{
94
94
  description: string;
95
95
  id: string;
96
96
  version: string;
97
+ createdAt: string;
98
+ projectType: string;
97
99
  metadata: {
98
100
  scripts?: Record<string, string> | undefined;
99
101
  directories?: Record<string, string> | undefined;
100
102
  conventions?: Record<string, string> | undefined;
101
103
  keyFiles?: string[] | undefined;
102
104
  };
103
- projectType: string;
104
105
  tags: string[];
105
106
  instructions: string;
106
- createdAt: string;
107
107
  isBuiltIn: boolean;
108
108
  author?: string | undefined;
109
109
  }, {
@@ -111,16 +111,16 @@ export declare const ProjectTemplateSchema: z.ZodObject<{
111
111
  description: string;
112
112
  id: string;
113
113
  version: string;
114
+ createdAt: string;
115
+ projectType: string;
114
116
  metadata: {
115
117
  scripts?: Record<string, string> | undefined;
116
118
  directories?: Record<string, string> | undefined;
117
119
  conventions?: Record<string, string> | undefined;
118
120
  keyFiles?: string[] | undefined;
119
121
  };
120
- projectType: string;
121
122
  tags: string[];
122
123
  instructions: string;
123
- createdAt: string;
124
124
  isBuiltIn: boolean;
125
125
  author?: string | undefined;
126
126
  }>;
@@ -0,0 +1,25 @@
1
+ import { ToolResult } from '../types/index.js';
2
+ /**
3
+ * BashOutputTool - Retrieve output from background tasks
4
+ *
5
+ * This tool allows the AI agent to check on and retrieve output
6
+ * from commands that were run in the background.
7
+ */
8
+ export declare class BashOutputTool {
9
+ private backgroundTaskManager;
10
+ /**
11
+ * Get output from a background task
12
+ * @param taskId The background task ID
13
+ * @param wait Whether to wait for the task to complete (default: false)
14
+ * @param timeoutMs Maximum time to wait in milliseconds (default: 30000)
15
+ */
16
+ execute(taskId: string, wait?: boolean, timeoutMs?: number): Promise<ToolResult>;
17
+ /**
18
+ * List all background tasks
19
+ */
20
+ listTasks(): ToolResult;
21
+ /**
22
+ * Kill a background task
23
+ */
24
+ killTask(taskId: string): ToolResult;
25
+ }
@@ -0,0 +1,145 @@
1
+ import { getBackgroundTaskManager } from '../utils/background-task-manager.js';
2
+ /**
3
+ * BashOutputTool - Retrieve output from background tasks
4
+ *
5
+ * This tool allows the AI agent to check on and retrieve output
6
+ * from commands that were run in the background.
7
+ */
8
+ export class BashOutputTool {
9
+ backgroundTaskManager = getBackgroundTaskManager();
10
+ /**
11
+ * Get output from a background task
12
+ * @param taskId The background task ID
13
+ * @param wait Whether to wait for the task to complete (default: false)
14
+ * @param timeoutMs Maximum time to wait in milliseconds (default: 30000)
15
+ */
16
+ async execute(taskId, wait = false, timeoutMs = 30000) {
17
+ if (!taskId) {
18
+ return {
19
+ success: false,
20
+ error: 'Task ID is required'
21
+ };
22
+ }
23
+ try {
24
+ let output;
25
+ if (wait) {
26
+ // Wait for task to complete
27
+ output = await this.backgroundTaskManager.waitForTask(taskId, timeoutMs);
28
+ }
29
+ else {
30
+ output = this.backgroundTaskManager.getOutput(taskId);
31
+ }
32
+ if (!output) {
33
+ return {
34
+ success: false,
35
+ error: `Task not found: ${taskId}`
36
+ };
37
+ }
38
+ // Format output
39
+ const statusEmoji = {
40
+ 'running': '🔄',
41
+ 'completed': '✅',
42
+ 'failed': '❌',
43
+ 'killed': '🛑'
44
+ }[output.status] || '❓';
45
+ let result = `${statusEmoji} Task ${taskId}\n`;
46
+ result += `Status: ${output.status}`;
47
+ if (output.exitCode !== undefined && output.exitCode !== null) {
48
+ result += ` (exit code: ${output.exitCode})`;
49
+ }
50
+ result += '\n';
51
+ if (output.startTime) {
52
+ const elapsed = output.endTime
53
+ ? Math.round((output.endTime.getTime() - output.startTime.getTime()) / 1000)
54
+ : Math.round((Date.now() - output.startTime.getTime()) / 1000);
55
+ result += `Duration: ${elapsed}s\n`;
56
+ }
57
+ result += '\n';
58
+ if (output.stdout) {
59
+ result += '--- STDOUT ---\n';
60
+ result += output.stdout;
61
+ result += '\n';
62
+ }
63
+ if (output.stderr) {
64
+ result += '--- STDERR ---\n';
65
+ result += output.stderr;
66
+ result += '\n';
67
+ }
68
+ if (!output.stdout && !output.stderr) {
69
+ result += '(No output yet)\n';
70
+ }
71
+ return {
72
+ success: true,
73
+ output: result.trim()
74
+ };
75
+ }
76
+ catch (error) {
77
+ return {
78
+ success: false,
79
+ error: `Failed to get task output: ${error.message}`
80
+ };
81
+ }
82
+ }
83
+ /**
84
+ * List all background tasks
85
+ */
86
+ listTasks() {
87
+ const tasks = this.backgroundTaskManager.listTasks();
88
+ if (tasks.length === 0) {
89
+ return {
90
+ success: true,
91
+ output: 'No background tasks'
92
+ };
93
+ }
94
+ let result = `📋 Background Tasks (${tasks.length})\n\n`;
95
+ const statusEmoji = {
96
+ 'running': '🔄',
97
+ 'completed': '✅',
98
+ 'failed': '❌',
99
+ 'killed': '🛑'
100
+ };
101
+ for (const task of tasks) {
102
+ const emoji = statusEmoji[task.status] || '❓';
103
+ const elapsed = task.endTime
104
+ ? Math.round((task.endTime.getTime() - task.startTime.getTime()) / 1000)
105
+ : Math.round((Date.now() - task.startTime.getTime()) / 1000);
106
+ result += `${emoji} ${task.id}\n`;
107
+ result += ` Command: ${task.command.length > 50 ? task.command.slice(0, 50) + '...' : task.command}\n`;
108
+ result += ` Status: ${task.status}`;
109
+ if (task.exitCode !== undefined && task.exitCode !== null) {
110
+ result += ` (exit: ${task.exitCode})`;
111
+ }
112
+ result += ` | Duration: ${elapsed}s\n`;
113
+ result += '\n';
114
+ }
115
+ return {
116
+ success: true,
117
+ output: result.trim()
118
+ };
119
+ }
120
+ /**
121
+ * Kill a background task
122
+ */
123
+ killTask(taskId) {
124
+ if (!taskId) {
125
+ return {
126
+ success: false,
127
+ error: 'Task ID is required'
128
+ };
129
+ }
130
+ const killed = this.backgroundTaskManager.kill(taskId);
131
+ if (killed) {
132
+ return {
133
+ success: true,
134
+ output: `🛑 Task ${taskId} has been killed`
135
+ };
136
+ }
137
+ else {
138
+ return {
139
+ success: false,
140
+ error: `Could not kill task ${taskId}. It may not exist or is not running.`
141
+ };
142
+ }
143
+ }
144
+ }
145
+ //# sourceMappingURL=bash-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-output.js","sourceRoot":"","sources":["../../src/tools/bash-output.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,54 @@
1
1
  import { ToolResult } from '../types/index.js';
2
- export declare class BashTool {
2
+ import { EventEmitter } from 'events';
3
+ export interface BashExecuteOptions {
4
+ timeout?: number;
5
+ background?: boolean;
6
+ /** Abort signal to cancel execution or move to background */
7
+ signal?: AbortSignal;
8
+ }
9
+ /**
10
+ * Result when command is moved to background
11
+ */
12
+ export interface BackgroundTransferResult {
13
+ movedToBackground: true;
14
+ taskId: string;
15
+ partialOutput: string;
16
+ }
17
+ export declare class BashTool extends EventEmitter {
3
18
  private static readonly MAX_BUFFER_SIZE;
4
19
  private static readonly DEFAULT_TIMEOUT;
5
20
  private currentDirectory;
6
21
  private confirmationService;
7
- execute(command: string, timeout?: number): Promise<ToolResult>;
22
+ private backgroundTaskManager;
23
+ /** Currently running process (for Ctrl+B transfer) */
24
+ private currentProcess;
25
+ private currentCommand;
26
+ private currentOutput;
27
+ constructor();
28
+ /**
29
+ * Check if a command is currently executing
30
+ */
31
+ isExecuting(): boolean;
32
+ /**
33
+ * Move the currently running command to background
34
+ * Returns task ID if successful, null if no command is running
35
+ */
36
+ moveToBackground(): string | null;
37
+ /**
38
+ * Execute a bash command
39
+ * @param command The command to execute
40
+ * @param options Execution options (timeout, background, signal)
41
+ */
42
+ execute(command: string, options?: BashExecuteOptions | number): Promise<ToolResult>;
43
+ /**
44
+ * Handle cd command separately (no spawn needed)
45
+ */
46
+ private handleCdCommand;
47
+ /**
48
+ * Execute command using spawn (interruptible)
49
+ * Returns ToolResult normally, or BackgroundTransferResult if moved to background
50
+ */
51
+ private executeWithSpawn;
8
52
  getCurrentDirectory(): string;
9
53
  listFiles(directory?: string): Promise<ToolResult>;
10
54
  findFiles(pattern: string, directory?: string): Promise<ToolResult>;