@defai.digital/ax-cli 2.8.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.
- package/README.md +85 -9
- package/dist/agent/context-manager.js +9 -0
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/dependency-resolver.js +13 -5
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +48 -0
- package/dist/agent/llm-agent.js +375 -3
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/subagent-orchestrator.d.ts +4 -0
- package/dist/agent/subagent-orchestrator.js +54 -11
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent.js +35 -11
- package/dist/agent/subagent.js.map +1 -1
- package/dist/commands/cache.js +5 -3
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/memory.js +21 -16
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/plan.d.ts +43 -0
- package/dist/commands/plan.js +385 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/constants.d.ts +28 -0
- package/dist/constants.js +29 -0
- package/dist/constants.js.map +1 -1
- package/dist/hooks/use-enhanced-input.d.ts +5 -1
- package/dist/hooks/use-enhanced-input.js +23 -10
- package/dist/hooks/use-enhanced-input.js.map +1 -1
- package/dist/hooks/use-input-handler.d.ts +11 -1
- package/dist/hooks/use-input-handler.js +270 -2
- package/dist/hooks/use-input-handler.js.map +1 -1
- package/dist/llm/tools.d.ts +5 -0
- package/dist/llm/tools.js +57 -6
- package/dist/llm/tools.js.map +1 -1
- package/dist/mcp/client.js +19 -12
- package/dist/mcp/client.js.map +1 -1
- package/dist/planner/dependency-resolver.d.ts +72 -0
- package/dist/planner/dependency-resolver.js +272 -0
- package/dist/planner/dependency-resolver.js.map +1 -0
- package/dist/planner/index.d.ts +12 -0
- package/dist/planner/index.js +26 -0
- package/dist/planner/index.js.map +1 -0
- package/dist/planner/plan-generator.d.ts +74 -0
- package/dist/planner/plan-generator.js +244 -0
- package/dist/planner/plan-generator.js.map +1 -0
- package/dist/planner/plan-storage.d.ts +98 -0
- package/dist/planner/plan-storage.js +325 -0
- package/dist/planner/plan-storage.js.map +1 -0
- package/dist/planner/prompts/planning-prompt.d.ts +41 -0
- package/dist/planner/prompts/planning-prompt.js +289 -0
- package/dist/planner/prompts/planning-prompt.js.map +1 -0
- package/dist/planner/task-planner.d.ts +135 -0
- package/dist/planner/task-planner.js +493 -0
- package/dist/planner/task-planner.js.map +1 -0
- package/dist/planner/token-estimator.d.ts +63 -0
- package/dist/planner/token-estimator.js +295 -0
- package/dist/planner/token-estimator.js.map +1 -0
- package/dist/planner/types.d.ts +669 -0
- package/dist/planner/types.js +213 -0
- package/dist/planner/types.js.map +1 -0
- package/dist/schemas/confirmation-schemas.d.ts +5 -0
- package/dist/schemas/confirmation-schemas.js +7 -0
- package/dist/schemas/confirmation-schemas.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -4
- package/dist/tools/bash-output.d.ts +25 -0
- package/dist/tools/bash-output.js +145 -0
- package/dist/tools/bash-output.js.map +1 -0
- package/dist/tools/bash.d.ts +46 -2
- package/dist/tools/bash.js +241 -67
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/search.js +15 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/text-editor.js +4 -2
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/ui/components/chat-history.d.ts +1 -0
- package/dist/ui/components/chat-history.js +125 -41
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.js +10 -3
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/chat-interface.js +152 -44
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/collapsible-tool-result.d.ts +26 -0
- package/dist/ui/components/collapsible-tool-result.js +172 -0
- package/dist/ui/components/collapsible-tool-result.js.map +1 -0
- package/dist/ui/components/command-suggestions.js +2 -1
- package/dist/ui/components/command-suggestions.js.map +1 -1
- package/dist/ui/components/confirmation-dialog.js +25 -36
- package/dist/ui/components/confirmation-dialog.js.map +1 -1
- package/dist/ui/components/index.d.ts +8 -0
- package/dist/ui/components/index.js +9 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/components/keyboard-hints.d.ts +35 -0
- package/dist/ui/components/keyboard-hints.js +134 -0
- package/dist/ui/components/keyboard-hints.js.map +1 -0
- package/dist/ui/components/loading-spinner.d.ts +2 -1
- package/dist/ui/components/loading-spinner.js +86 -34
- package/dist/ui/components/loading-spinner.js.map +1 -1
- package/dist/ui/components/phase-progress.d.ts +21 -0
- package/dist/ui/components/phase-progress.js +228 -0
- package/dist/ui/components/phase-progress.js.map +1 -0
- package/dist/ui/components/quick-actions.d.ts +12 -0
- package/dist/ui/components/quick-actions.js +122 -0
- package/dist/ui/components/quick-actions.js.map +1 -0
- package/dist/ui/components/reasoning-display.d.ts +0 -80
- package/dist/ui/components/reasoning-display.js +0 -83
- package/dist/ui/components/reasoning-display.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +25 -0
- package/dist/ui/components/status-bar.js +125 -0
- package/dist/ui/components/status-bar.js.map +1 -0
- package/dist/ui/components/toast-notification.d.ts +123 -0
- package/dist/ui/components/toast-notification.js +143 -0
- package/dist/ui/components/toast-notification.js.map +1 -0
- package/dist/ui/components/welcome-panel.d.ts +10 -0
- package/dist/ui/components/welcome-panel.js +107 -0
- package/dist/ui/components/welcome-panel.js.map +1 -0
- package/dist/utils/background-task-manager.d.ts +95 -0
- package/dist/utils/background-task-manager.js +330 -0
- package/dist/utils/background-task-manager.js.map +1 -0
- package/dist/utils/confirmation-service.js +8 -3
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/message-optimizer.d.ts +1 -0
- package/dist/utils/message-optimizer.js +7 -1
- package/dist/utils/message-optimizer.js.map +1 -1
- package/dist/utils/project-analyzer.js +5 -2
- package/dist/utils/project-analyzer.js.map +1 -1
- package/package.json +2 -1
package/dist/llm/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/llm/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,eAAe,GAAc;IACjC;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,oDAAoD;YACjE,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,uDAAuD;qBAC1D;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qDAAqD;qBACnE;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,0CAA0C;YACvD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;qBACrD;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8BAA8B;qBAC5C;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC9B;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,sEAAsE;YACnF,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0BAA0B;qBACxC;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yFAAyF;qBAC5F;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACpC;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,0EAA0E;qBAC7E;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;aACzC;SACF;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/llm/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/client.js
CHANGED
|
@@ -177,19 +177,26 @@ export class MCPManager extends EventEmitter {
|
|
|
177
177
|
return; // Already initialized
|
|
178
178
|
}
|
|
179
179
|
// Create initialization promise to prevent concurrent initialization
|
|
180
|
+
// Wrap entire initialization in try-catch to prevent unhandled rejections
|
|
180
181
|
this.initializationPromise = (async () => {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
182
|
+
try {
|
|
183
|
+
const { loadMCPConfig } = await import('../mcp/config.js');
|
|
184
|
+
const config = loadMCPConfig();
|
|
185
|
+
// Initialize servers in parallel to avoid blocking
|
|
186
|
+
const initPromises = config.servers.map(async (serverConfig) => {
|
|
187
|
+
try {
|
|
188
|
+
await this.addServer(serverConfig);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
console.warn(`Failed to initialize MCP server ${serverConfig.name}:`, error);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
await Promise.all(initPromises);
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
// Catch config loading errors to prevent unhandled rejection
|
|
198
|
+
console.error('Failed to initialize MCP servers:', error);
|
|
199
|
+
}
|
|
193
200
|
})();
|
|
194
201
|
try {
|
|
195
202
|
await this.initializationPromise;
|
package/dist/mcp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves phase dependencies using topological sort.
|
|
5
|
+
* Groups phases into execution batches that can run in parallel.
|
|
6
|
+
*/
|
|
7
|
+
import { TaskPhase } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* A batch of phases that can execute together
|
|
10
|
+
*/
|
|
11
|
+
export interface ExecutionBatch {
|
|
12
|
+
/** Batch index (0-based) */
|
|
13
|
+
index: number;
|
|
14
|
+
/** Phases in this batch */
|
|
15
|
+
phases: TaskPhase[];
|
|
16
|
+
/** Whether phases in this batch can run in parallel */
|
|
17
|
+
canRunInParallel: boolean;
|
|
18
|
+
/** Estimated tokens for this batch */
|
|
19
|
+
estimatedTokens: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Result of dependency resolution
|
|
23
|
+
*/
|
|
24
|
+
export interface DependencyResolutionResult {
|
|
25
|
+
/** Ordered batches of phases */
|
|
26
|
+
batches: ExecutionBatch[];
|
|
27
|
+
/** Whether the dependency graph is valid (no cycles) */
|
|
28
|
+
isValid: boolean;
|
|
29
|
+
/** Error message if invalid */
|
|
30
|
+
error?: string;
|
|
31
|
+
/** Phases that form a cycle (if any) */
|
|
32
|
+
cyclicPhases?: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare class DependencyResolver {
|
|
35
|
+
/**
|
|
36
|
+
* Resolve dependencies and create execution batches
|
|
37
|
+
*
|
|
38
|
+
* Uses Kahn's algorithm for topological sorting.
|
|
39
|
+
* Groups phases that have no dependencies between them into batches.
|
|
40
|
+
*/
|
|
41
|
+
resolve(phases: TaskPhase[]): DependencyResolutionResult;
|
|
42
|
+
/**
|
|
43
|
+
* Get phases that can execute immediately (no pending dependencies)
|
|
44
|
+
*/
|
|
45
|
+
getReadyPhases(phases: TaskPhase[], completedPhaseIds: Set<string>): TaskPhase[];
|
|
46
|
+
/**
|
|
47
|
+
* Check if a phase can be executed given current state
|
|
48
|
+
*/
|
|
49
|
+
canExecutePhase(phase: TaskPhase, completedPhaseIds: Set<string>): {
|
|
50
|
+
canExecute: boolean;
|
|
51
|
+
blockedBy: string[];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Get the critical path (longest dependency chain)
|
|
55
|
+
*/
|
|
56
|
+
getCriticalPath(phases: TaskPhase[]): TaskPhase[];
|
|
57
|
+
/**
|
|
58
|
+
* Validate dependency graph
|
|
59
|
+
*/
|
|
60
|
+
validate(phases: TaskPhase[]): {
|
|
61
|
+
isValid: boolean;
|
|
62
|
+
errors: string[];
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Get a visualization of the dependency graph (ASCII)
|
|
66
|
+
*/
|
|
67
|
+
visualize(phases: TaskPhase[]): string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the singleton DependencyResolver instance
|
|
71
|
+
*/
|
|
72
|
+
export declare function getDependencyResolver(): DependencyResolver;
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves phase dependencies using topological sort.
|
|
5
|
+
* Groups phases into execution batches that can run in parallel.
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Dependency Resolver Class
|
|
9
|
+
// ============================================================================
|
|
10
|
+
export class DependencyResolver {
|
|
11
|
+
/**
|
|
12
|
+
* Resolve dependencies and create execution batches
|
|
13
|
+
*
|
|
14
|
+
* Uses Kahn's algorithm for topological sorting.
|
|
15
|
+
* Groups phases that have no dependencies between them into batches.
|
|
16
|
+
*/
|
|
17
|
+
resolve(phases) {
|
|
18
|
+
// Validate phase IDs are unique
|
|
19
|
+
const ids = new Set();
|
|
20
|
+
for (const phase of phases) {
|
|
21
|
+
if (ids.has(phase.id)) {
|
|
22
|
+
return {
|
|
23
|
+
batches: [],
|
|
24
|
+
isValid: false,
|
|
25
|
+
error: `Duplicate phase ID: ${phase.id}`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
ids.add(phase.id);
|
|
29
|
+
}
|
|
30
|
+
// Create adjacency list and in-degree map
|
|
31
|
+
const phaseMap = new Map();
|
|
32
|
+
const inDegree = new Map();
|
|
33
|
+
const dependents = new Map();
|
|
34
|
+
for (const phase of phases) {
|
|
35
|
+
phaseMap.set(phase.id, phase);
|
|
36
|
+
inDegree.set(phase.id, 0);
|
|
37
|
+
dependents.set(phase.id, []);
|
|
38
|
+
}
|
|
39
|
+
// Build dependency graph
|
|
40
|
+
for (const phase of phases) {
|
|
41
|
+
for (const depId of phase.dependencies) {
|
|
42
|
+
// Validate dependency exists
|
|
43
|
+
if (!phaseMap.has(depId)) {
|
|
44
|
+
return {
|
|
45
|
+
batches: [],
|
|
46
|
+
isValid: false,
|
|
47
|
+
error: `Phase "${phase.id}" depends on non-existent phase "${depId}"`,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Increment in-degree
|
|
51
|
+
inDegree.set(phase.id, (inDegree.get(phase.id) || 0) + 1);
|
|
52
|
+
// Add to dependents list
|
|
53
|
+
const deps = dependents.get(depId) || [];
|
|
54
|
+
deps.push(phase.id);
|
|
55
|
+
dependents.set(depId, deps);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Kahn's algorithm with batching
|
|
59
|
+
const batches = [];
|
|
60
|
+
const processed = new Set();
|
|
61
|
+
while (processed.size < phases.length) {
|
|
62
|
+
// Find all phases with in-degree 0 (no unprocessed dependencies)
|
|
63
|
+
const ready = [];
|
|
64
|
+
for (const phase of phases) {
|
|
65
|
+
if (processed.has(phase.id))
|
|
66
|
+
continue;
|
|
67
|
+
const degree = inDegree.get(phase.id) || 0;
|
|
68
|
+
if (degree === 0) {
|
|
69
|
+
ready.push(phase);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// No phases ready = cycle detected
|
|
73
|
+
if (ready.length === 0) {
|
|
74
|
+
const remaining = phases
|
|
75
|
+
.filter((p) => !processed.has(p.id))
|
|
76
|
+
.map((p) => p.id);
|
|
77
|
+
return {
|
|
78
|
+
batches: [],
|
|
79
|
+
isValid: false,
|
|
80
|
+
error: `Cyclic dependency detected among phases: ${remaining.join(", ")}`,
|
|
81
|
+
cyclicPhases: remaining,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Determine if this batch can run in parallel
|
|
85
|
+
// Phases can run in parallel if:
|
|
86
|
+
// 1. All phases in the batch have canRunInParallel: true
|
|
87
|
+
// 2. No phase in the batch depends on another phase in the same batch
|
|
88
|
+
const canRunInParallel = ready.length > 1 && ready.every((p) => p.canRunInParallel);
|
|
89
|
+
// Create batch
|
|
90
|
+
const batch = {
|
|
91
|
+
index: batches.length,
|
|
92
|
+
phases: ready,
|
|
93
|
+
canRunInParallel,
|
|
94
|
+
estimatedTokens: 0, // Will be filled by TokenEstimator
|
|
95
|
+
};
|
|
96
|
+
batches.push(batch);
|
|
97
|
+
// Mark as processed and update in-degrees
|
|
98
|
+
for (const phase of ready) {
|
|
99
|
+
processed.add(phase.id);
|
|
100
|
+
// Decrease in-degree for all dependents
|
|
101
|
+
const deps = dependents.get(phase.id) || [];
|
|
102
|
+
for (const depId of deps) {
|
|
103
|
+
const current = inDegree.get(depId) || 0;
|
|
104
|
+
inDegree.set(depId, current - 1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
batches,
|
|
110
|
+
isValid: true,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get phases that can execute immediately (no pending dependencies)
|
|
115
|
+
*/
|
|
116
|
+
getReadyPhases(phases, completedPhaseIds) {
|
|
117
|
+
return phases.filter((phase) => {
|
|
118
|
+
// Already completed
|
|
119
|
+
if (completedPhaseIds.has(phase.id))
|
|
120
|
+
return false;
|
|
121
|
+
// Check all dependencies are completed
|
|
122
|
+
return phase.dependencies.every((depId) => completedPhaseIds.has(depId));
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if a phase can be executed given current state
|
|
127
|
+
*/
|
|
128
|
+
canExecutePhase(phase, completedPhaseIds) {
|
|
129
|
+
const blockedBy = [];
|
|
130
|
+
for (const depId of phase.dependencies) {
|
|
131
|
+
if (!completedPhaseIds.has(depId)) {
|
|
132
|
+
blockedBy.push(depId);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
canExecute: blockedBy.length === 0,
|
|
137
|
+
blockedBy,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the critical path (longest dependency chain)
|
|
142
|
+
*/
|
|
143
|
+
getCriticalPath(phases) {
|
|
144
|
+
const phaseMap = new Map();
|
|
145
|
+
for (const phase of phases) {
|
|
146
|
+
phaseMap.set(phase.id, phase);
|
|
147
|
+
}
|
|
148
|
+
// Calculate longest path to each phase using dynamic programming
|
|
149
|
+
const longestPath = new Map();
|
|
150
|
+
const predecessor = new Map();
|
|
151
|
+
// Initialize
|
|
152
|
+
for (const phase of phases) {
|
|
153
|
+
longestPath.set(phase.id, 0);
|
|
154
|
+
predecessor.set(phase.id, null);
|
|
155
|
+
}
|
|
156
|
+
// Process in topological order
|
|
157
|
+
const result = this.resolve(phases);
|
|
158
|
+
if (!result.isValid)
|
|
159
|
+
return [];
|
|
160
|
+
for (const batch of result.batches) {
|
|
161
|
+
for (const phase of batch.phases) {
|
|
162
|
+
const currentLength = longestPath.get(phase.id) || 0;
|
|
163
|
+
for (const depId of phase.dependencies) {
|
|
164
|
+
const depLength = longestPath.get(depId) || 0;
|
|
165
|
+
if (depLength + 1 > currentLength) {
|
|
166
|
+
longestPath.set(phase.id, depLength + 1);
|
|
167
|
+
predecessor.set(phase.id, depId);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Find the phase with the longest path
|
|
173
|
+
let maxLength = -1;
|
|
174
|
+
let maxPhaseId = null;
|
|
175
|
+
for (const [id, length] of longestPath.entries()) {
|
|
176
|
+
if (length > maxLength) {
|
|
177
|
+
maxLength = length;
|
|
178
|
+
maxPhaseId = id;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Reconstruct the critical path
|
|
182
|
+
const criticalPath = [];
|
|
183
|
+
let currentId = maxPhaseId;
|
|
184
|
+
while (currentId) {
|
|
185
|
+
const phase = phaseMap.get(currentId);
|
|
186
|
+
if (phase) {
|
|
187
|
+
criticalPath.unshift(phase);
|
|
188
|
+
}
|
|
189
|
+
currentId = predecessor.get(currentId) || null;
|
|
190
|
+
}
|
|
191
|
+
return criticalPath;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Validate dependency graph
|
|
195
|
+
*/
|
|
196
|
+
validate(phases) {
|
|
197
|
+
const errors = [];
|
|
198
|
+
const ids = new Set();
|
|
199
|
+
// Check for duplicate IDs
|
|
200
|
+
for (const phase of phases) {
|
|
201
|
+
if (ids.has(phase.id)) {
|
|
202
|
+
errors.push(`Duplicate phase ID: ${phase.id}`);
|
|
203
|
+
}
|
|
204
|
+
ids.add(phase.id);
|
|
205
|
+
}
|
|
206
|
+
// Check for invalid dependencies
|
|
207
|
+
for (const phase of phases) {
|
|
208
|
+
for (const depId of phase.dependencies) {
|
|
209
|
+
if (!ids.has(depId)) {
|
|
210
|
+
errors.push(`Phase "${phase.id}" depends on non-existent phase "${depId}"`);
|
|
211
|
+
}
|
|
212
|
+
// Check for self-dependency
|
|
213
|
+
if (depId === phase.id) {
|
|
214
|
+
errors.push(`Phase "${phase.id}" cannot depend on itself`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// Check for cycles
|
|
219
|
+
const result = this.resolve(phases);
|
|
220
|
+
if (!result.isValid && result.cyclicPhases) {
|
|
221
|
+
errors.push(`Cyclic dependency detected: ${result.cyclicPhases.join(" -> ")}`);
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
isValid: errors.length === 0,
|
|
225
|
+
errors,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get a visualization of the dependency graph (ASCII)
|
|
230
|
+
*/
|
|
231
|
+
visualize(phases) {
|
|
232
|
+
const result = this.resolve(phases);
|
|
233
|
+
if (!result.isValid) {
|
|
234
|
+
return `Invalid dependency graph: ${result.error}`;
|
|
235
|
+
}
|
|
236
|
+
const lines = [];
|
|
237
|
+
lines.push("Execution Order:");
|
|
238
|
+
lines.push("================");
|
|
239
|
+
for (const batch of result.batches) {
|
|
240
|
+
const phaseNames = batch.phases.map((p) => p.name).join(", ");
|
|
241
|
+
const parallel = batch.canRunInParallel ? " [parallel]" : "";
|
|
242
|
+
lines.push(`Batch ${batch.index + 1}: ${phaseNames}${parallel}`);
|
|
243
|
+
}
|
|
244
|
+
lines.push("");
|
|
245
|
+
lines.push("Dependencies:");
|
|
246
|
+
lines.push("=============");
|
|
247
|
+
for (const phase of phases) {
|
|
248
|
+
if (phase.dependencies.length > 0) {
|
|
249
|
+
const deps = phase.dependencies.join(", ");
|
|
250
|
+
lines.push(`${phase.name} <- [${deps}]`);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
lines.push(`${phase.name} (no dependencies)`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return lines.join("\n");
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// ============================================================================
|
|
260
|
+
// Singleton Instance
|
|
261
|
+
// ============================================================================
|
|
262
|
+
let resolverInstance = null;
|
|
263
|
+
/**
|
|
264
|
+
* Get the singleton DependencyResolver instance
|
|
265
|
+
*/
|
|
266
|
+
export function getDependencyResolver() {
|
|
267
|
+
if (!resolverInstance) {
|
|
268
|
+
resolverInstance = new DependencyResolver();
|
|
269
|
+
}
|
|
270
|
+
return resolverInstance;
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=dependency-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-resolver.js","sourceRoot":"","sources":["../../src/planner/dependency-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Phase Task Planning System
|
|
3
|
+
*
|
|
4
|
+
* Exports all planner components for use in ax-cli.
|
|
5
|
+
*/
|
|
6
|
+
export { RiskLevel, FallbackStrategy, PhaseStatus, PlanStatus, type TaskPhase, type TaskPlan, type PhaseResult, type PlanResult, type ExecutionOptions, type PlannerOptions, type SavedPlanState, type PhaseDisplayInfo, type PlanSummary, type RecoveryAction, type LLMPhaseResponse, type LLMPlanResponse, TaskPhaseSchema, TaskPlanSchema, PhaseResultSchema, LLMPhaseResponseSchema, LLMPlanResponseSchema, createPhase, createPlan, createDefaultExecutionOptions, createDefaultPlannerOptions, } from "./types.js";
|
|
7
|
+
export { PlanStorage, getPlanStorage, resetPlanStorage, } from "./plan-storage.js";
|
|
8
|
+
export { DependencyResolver, getDependencyResolver, type ExecutionBatch, type DependencyResolutionResult, } from "./dependency-resolver.js";
|
|
9
|
+
export { TokenEstimator, getTokenEstimator, } from "./token-estimator.js";
|
|
10
|
+
export { PlanGenerator, getPlanGenerator, type PlanGeneratorOptions, type GenerationContext, } from "./plan-generator.js";
|
|
11
|
+
export { TaskPlanner, getTaskPlanner, resetTaskPlanner, type TaskPlannerEvents, } from "./task-planner.js";
|
|
12
|
+
export { PLANNING_SYSTEM_PROMPT, buildPlanningPrompt, buildPhaseExecutionPrompt, buildPlanSummaryPrompt, isComplexRequest, estimateMinPhases, COMPLEX_KEYWORDS, SIMPLE_KEYWORDS, } from "./prompts/planning-prompt.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Phase Task Planning System
|
|
3
|
+
*
|
|
4
|
+
* Exports all planner components for use in ax-cli.
|
|
5
|
+
*/
|
|
6
|
+
// Types
|
|
7
|
+
export {
|
|
8
|
+
// Enums
|
|
9
|
+
RiskLevel, FallbackStrategy, PhaseStatus, PlanStatus,
|
|
10
|
+
// Schemas
|
|
11
|
+
TaskPhaseSchema, TaskPlanSchema, PhaseResultSchema, LLMPhaseResponseSchema, LLMPlanResponseSchema,
|
|
12
|
+
// Factory functions
|
|
13
|
+
createPhase, createPlan, createDefaultExecutionOptions, createDefaultPlannerOptions, } from "./types.js";
|
|
14
|
+
// Plan Storage
|
|
15
|
+
export { PlanStorage, getPlanStorage, resetPlanStorage, } from "./plan-storage.js";
|
|
16
|
+
// Dependency Resolver
|
|
17
|
+
export { DependencyResolver, getDependencyResolver, } from "./dependency-resolver.js";
|
|
18
|
+
// Token Estimator
|
|
19
|
+
export { TokenEstimator, getTokenEstimator, } from "./token-estimator.js";
|
|
20
|
+
// Plan Generator
|
|
21
|
+
export { PlanGenerator, getPlanGenerator, } from "./plan-generator.js";
|
|
22
|
+
// Task Planner (main orchestrator)
|
|
23
|
+
export { TaskPlanner, getTaskPlanner, resetTaskPlanner, } from "./task-planner.js";
|
|
24
|
+
// Prompts
|
|
25
|
+
export { PLANNING_SYSTEM_PROMPT, buildPlanningPrompt, buildPhaseExecutionPrompt, buildPlanSummaryPrompt, isComplexRequest, estimateMinPhases, COMPLEX_KEYWORDS, SIMPLE_KEYWORDS, } from "./prompts/planning-prompt.js";
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planner/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,OAAO;AACL,QAAQ;AACR,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,UAAU;AAgBV,UAAU;AACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB;AAErB,oBAAoB;AACpB,WAAW,EACX,UAAU,EACV,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AAEpB,eAAe;AACf,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC;AAElC,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAE7B,mCAAmC;AACnC,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates execution plans from user requests using LLM.
|
|
5
|
+
*/
|
|
6
|
+
import { TaskPlan, RiskLevel } from "./types.js";
|
|
7
|
+
export interface PlanGeneratorOptions {
|
|
8
|
+
/** Maximum phases to generate */
|
|
9
|
+
maxPhases: number;
|
|
10
|
+
/** Default risk level for unspecified phases */
|
|
11
|
+
defaultRiskLevel: RiskLevel;
|
|
12
|
+
/** Whether to auto-require approval for high-risk phases */
|
|
13
|
+
requireApprovalForHighRisk: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface GenerationContext {
|
|
16
|
+
/** Project type (e.g., "typescript", "react") */
|
|
17
|
+
projectType?: string;
|
|
18
|
+
/** Relevant files for context */
|
|
19
|
+
files?: string[];
|
|
20
|
+
/** Recent conversation history */
|
|
21
|
+
recentHistory?: string[];
|
|
22
|
+
/** Custom instructions */
|
|
23
|
+
customInstructions?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare class PlanGenerator {
|
|
26
|
+
private options;
|
|
27
|
+
constructor(options?: Partial<PlanGeneratorOptions>);
|
|
28
|
+
/**
|
|
29
|
+
* Check if a request should trigger multi-phase planning
|
|
30
|
+
*/
|
|
31
|
+
shouldCreatePlan(request: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Generate a plan from LLM response
|
|
34
|
+
*
|
|
35
|
+
* @param request - User's original request
|
|
36
|
+
* @param llmResponse - Raw JSON response from LLM
|
|
37
|
+
* @param context - Additional context
|
|
38
|
+
*/
|
|
39
|
+
generateFromLLMResponse(request: string, llmResponse: string, _context?: GenerationContext): TaskPlan | null;
|
|
40
|
+
/**
|
|
41
|
+
* Build a TaskPlan from validated LLM response
|
|
42
|
+
*/
|
|
43
|
+
private buildPlanFromResponse;
|
|
44
|
+
/**
|
|
45
|
+
* Parse risk level string to enum
|
|
46
|
+
*/
|
|
47
|
+
private parseRiskLevel;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve dependency references to phase IDs
|
|
50
|
+
*
|
|
51
|
+
* LLM might return dependencies as names or indices
|
|
52
|
+
*/
|
|
53
|
+
private resolveDependencies;
|
|
54
|
+
/**
|
|
55
|
+
* Create a simple single-phase plan for non-complex requests
|
|
56
|
+
*/
|
|
57
|
+
createSimplePlan(request: string): TaskPlan;
|
|
58
|
+
/**
|
|
59
|
+
* Get the system prompt for planning
|
|
60
|
+
*/
|
|
61
|
+
getSystemPrompt(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Build the user prompt for planning
|
|
64
|
+
*/
|
|
65
|
+
buildUserPrompt(request: string, context?: GenerationContext): string;
|
|
66
|
+
/**
|
|
67
|
+
* Update plan with estimates after creation
|
|
68
|
+
*/
|
|
69
|
+
updatePlanEstimates(plan: TaskPlan): TaskPlan;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the singleton PlanGenerator instance
|
|
73
|
+
*/
|
|
74
|
+
export declare function getPlanGenerator(): PlanGenerator;
|