@defai.digital/ax-cli 2.6.7 → 2.8.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/.ax-cli/checkpoints/2025-11-20/checkpoint-2dd84869-e62d-46c8-9885-7e45f37f36e2.json +69 -0
- package/.ax-cli/checkpoints/2025-11-20/checkpoint-484dc350-353f-4808-9ed1-ebb3cefdab37.json +24 -0
- package/.ax-cli/checkpoints/2025-11-20/checkpoint-74a18b87-6172-4215-962b-44bb9f46a662.json +69 -0
- package/.ax-cli/checkpoints/2025-11-20/checkpoint-870a5fb9-6e82-4ff2-8ec8-af4c251cc514.json +44 -0
- package/.ax-cli/checkpoints/2025-11-20/checkpoint-93946601-0e83-456c-ba47-def9713124dd.json +24 -0
- package/.ax-cli/checkpoints/metadata.json +62 -0
- package/README.md +46 -2
- package/dist/agent/context-manager.d.ts +3 -2
- package/dist/agent/context-manager.js +35 -20
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/dependency-resolver.d.ts +83 -0
- package/dist/agent/dependency-resolver.js +302 -0
- package/dist/agent/dependency-resolver.js.map +1 -0
- package/dist/agent/index.js +7 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +63 -0
- package/dist/agent/llm-agent.js +250 -0
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/specialized/analysis-agent.d.ts +11 -0
- package/dist/agent/specialized/analysis-agent.js +33 -0
- package/dist/agent/specialized/analysis-agent.js.map +1 -0
- package/dist/agent/specialized/debug-agent.d.ts +11 -0
- package/dist/agent/specialized/debug-agent.js +33 -0
- package/dist/agent/specialized/debug-agent.js.map +1 -0
- package/dist/agent/specialized/documentation-agent.d.ts +11 -0
- package/dist/agent/specialized/documentation-agent.js +33 -0
- package/dist/agent/specialized/documentation-agent.js.map +1 -0
- package/dist/agent/specialized/index.d.ts +11 -0
- package/dist/agent/specialized/index.js +12 -0
- package/dist/agent/specialized/index.js.map +1 -0
- package/dist/agent/specialized/performance-agent.d.ts +11 -0
- package/dist/agent/specialized/performance-agent.js +33 -0
- package/dist/agent/specialized/performance-agent.js.map +1 -0
- package/dist/agent/specialized/refactoring-agent.d.ts +11 -0
- package/dist/agent/specialized/refactoring-agent.js +33 -0
- package/dist/agent/specialized/refactoring-agent.js.map +1 -0
- package/dist/agent/specialized/testing-agent.d.ts +11 -0
- package/dist/agent/specialized/testing-agent.js +33 -0
- package/dist/agent/specialized/testing-agent.js.map +1 -0
- package/dist/agent/subagent-orchestrator.d.ts +124 -0
- package/dist/agent/subagent-orchestrator.js +345 -0
- package/dist/agent/subagent-orchestrator.js.map +1 -0
- package/dist/agent/subagent-types.d.ts +262 -0
- package/dist/agent/subagent-types.js +152 -0
- package/dist/agent/subagent-types.js.map +1 -0
- package/dist/agent/subagent.d.ts +88 -0
- package/dist/agent/subagent.js +402 -0
- package/dist/agent/subagent.js.map +1 -0
- package/dist/checkpoint/index.d.ts +9 -0
- package/dist/checkpoint/index.js +11 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/checkpoint/manager.d.ts +99 -0
- package/dist/checkpoint/manager.js +281 -0
- package/dist/checkpoint/manager.js.map +1 -0
- package/dist/checkpoint/storage.d.ts +31 -0
- package/dist/checkpoint/storage.js +265 -0
- package/dist/checkpoint/storage.js.map +1 -0
- package/dist/checkpoint/types.d.ts +111 -0
- package/dist/checkpoint/types.js +17 -0
- package/dist/checkpoint/types.js.map +1 -0
- package/dist/commands/rewind.d.ts +19 -0
- package/dist/commands/rewind.js +221 -0
- package/dist/commands/rewind.js.map +1 -0
- package/dist/hooks/use-input-handler.js +176 -0
- package/dist/hooks/use-input-handler.js.map +1 -1
- package/dist/index.js +25 -2
- package/dist/index.js.map +1 -1
- package/dist/llm/client.js +3 -2
- package/dist/llm/client.js.map +1 -1
- package/dist/mcp/client.d.ts +1 -0
- package/dist/mcp/client.js +27 -12
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/transports.d.ts +0 -1
- package/dist/mcp/transports.js +10 -7
- package/dist/mcp/transports.js.map +1 -1
- package/dist/schemas/api-schemas.js +4 -0
- package/dist/schemas/api-schemas.js.map +1 -1
- package/dist/tools/bash.js +26 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/search.js +21 -9
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/text-editor.d.ts +16 -0
- package/dist/tools/text-editor.js +33 -0
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/ui/components/chat-interface.d.ts +2 -1
- package/dist/ui/components/chat-interface.js +14 -10
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/subagent-monitor.d.ts +29 -0
- package/dist/ui/components/subagent-monitor.js +150 -0
- package/dist/ui/components/subagent-monitor.js.map +1 -0
- package/dist/utils/history-manager.d.ts +16 -3
- package/dist/utils/history-manager.js +89 -9
- package/dist/utils/history-manager.js.map +1 -1
- package/dist/utils/incremental-analyzer.js +9 -3
- package/dist/utils/incremental-analyzer.js.map +1 -1
- package/dist/utils/json-utils.d.ts +7 -0
- package/dist/utils/json-utils.js +70 -2
- package/dist/utils/json-utils.js.map +1 -1
- package/dist/utils/settings-manager.js +12 -10
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/utils/text-utils.js +3 -3
- package/dist/utils/text-utils.js.map +1 -1
- package/dist/utils/token-counter.d.ts +5 -0
- package/dist/utils/token-counter.js +18 -3
- package/dist/utils/token-counter.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "2dd84869-e62d-46c8-9885-7e45f37f36e2",
|
|
3
|
+
"timestamp": "2025-11-21T03:53:47.537Z",
|
|
4
|
+
"description": "Test checkpoint",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/test/file-1763697227537.ts",
|
|
8
|
+
"content": "test content",
|
|
9
|
+
"hash": "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72",
|
|
10
|
+
"size": 12
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"conversationState": [
|
|
14
|
+
{
|
|
15
|
+
"type": "user",
|
|
16
|
+
"content": "Message 10",
|
|
17
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "user",
|
|
21
|
+
"content": "Message 11",
|
|
22
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "user",
|
|
26
|
+
"content": "Message 12",
|
|
27
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "user",
|
|
31
|
+
"content": "Message 13",
|
|
32
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "user",
|
|
36
|
+
"content": "Message 14",
|
|
37
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "user",
|
|
41
|
+
"content": "Message 15",
|
|
42
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "user",
|
|
46
|
+
"content": "Message 16",
|
|
47
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "user",
|
|
51
|
+
"content": "Message 17",
|
|
52
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "user",
|
|
56
|
+
"content": "Message 18",
|
|
57
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "user",
|
|
61
|
+
"content": "Message 19",
|
|
62
|
+
"timestamp": "2025-11-21T03:53:47.537Z"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"metadata": {
|
|
66
|
+
"model": "glm-4.6",
|
|
67
|
+
"triggeredBy": "test"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "484dc350-353f-4808-9ed1-ebb3cefdab37",
|
|
3
|
+
"timestamp": "2025-11-21T03:53:47.531Z",
|
|
4
|
+
"description": "Test checkpoint",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/test/file-1763697227531.ts",
|
|
8
|
+
"content": "test content",
|
|
9
|
+
"hash": "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72",
|
|
10
|
+
"size": 12
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"conversationState": [
|
|
14
|
+
{
|
|
15
|
+
"type": "user",
|
|
16
|
+
"content": "Test message",
|
|
17
|
+
"timestamp": "2025-11-21T03:53:47.531Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"metadata": {
|
|
21
|
+
"model": "glm-4.6",
|
|
22
|
+
"triggeredBy": "test"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "74a18b87-6172-4215-962b-44bb9f46a662",
|
|
3
|
+
"timestamp": "2025-11-21T03:53:47.535Z",
|
|
4
|
+
"description": "Test checkpoint",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/test/file-1763697227535.ts",
|
|
8
|
+
"content": "test content",
|
|
9
|
+
"hash": "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72",
|
|
10
|
+
"size": 12
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"conversationState": [
|
|
14
|
+
{
|
|
15
|
+
"type": "user",
|
|
16
|
+
"content": "Message 40",
|
|
17
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "user",
|
|
21
|
+
"content": "Message 41",
|
|
22
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "user",
|
|
26
|
+
"content": "Message 42",
|
|
27
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "user",
|
|
31
|
+
"content": "Message 43",
|
|
32
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "user",
|
|
36
|
+
"content": "Message 44",
|
|
37
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "user",
|
|
41
|
+
"content": "Message 45",
|
|
42
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "user",
|
|
46
|
+
"content": "Message 46",
|
|
47
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "user",
|
|
51
|
+
"content": "Message 47",
|
|
52
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "user",
|
|
56
|
+
"content": "Message 48",
|
|
57
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "user",
|
|
61
|
+
"content": "Message 49",
|
|
62
|
+
"timestamp": "2025-11-21T03:53:47.535Z"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"metadata": {
|
|
66
|
+
"model": "glm-4.6",
|
|
67
|
+
"triggeredBy": "test"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "870a5fb9-6e82-4ff2-8ec8-af4c251cc514",
|
|
3
|
+
"timestamp": "2025-11-21T03:53:47.540Z",
|
|
4
|
+
"description": "Test checkpoint",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/test/file-1763697227540.ts",
|
|
8
|
+
"content": "test content",
|
|
9
|
+
"hash": "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72",
|
|
10
|
+
"size": 12
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"conversationState": [
|
|
14
|
+
{
|
|
15
|
+
"type": "user",
|
|
16
|
+
"content": "Message 0",
|
|
17
|
+
"timestamp": "2025-11-21T03:53:47.540Z"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "user",
|
|
21
|
+
"content": "Message 1",
|
|
22
|
+
"timestamp": "2025-11-21T03:53:47.540Z"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "user",
|
|
26
|
+
"content": "Message 2",
|
|
27
|
+
"timestamp": "2025-11-21T03:53:47.540Z"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "user",
|
|
31
|
+
"content": "Message 3",
|
|
32
|
+
"timestamp": "2025-11-21T03:53:47.540Z"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "user",
|
|
36
|
+
"content": "Message 4",
|
|
37
|
+
"timestamp": "2025-11-21T03:53:47.540Z"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"metadata": {
|
|
41
|
+
"model": "glm-4.6",
|
|
42
|
+
"triggeredBy": "test"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "93946601-0e83-456c-ba47-def9713124dd",
|
|
3
|
+
"timestamp": "2025-11-21T03:53:47.533Z",
|
|
4
|
+
"description": "Test checkpoint",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/test/file-1763697227533.ts",
|
|
8
|
+
"content": "test content",
|
|
9
|
+
"hash": "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72",
|
|
10
|
+
"size": 12
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"conversationState": [
|
|
14
|
+
{
|
|
15
|
+
"type": "user",
|
|
16
|
+
"content": "Test message",
|
|
17
|
+
"timestamp": "2025-11-21T03:53:47.533Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"metadata": {
|
|
21
|
+
"model": "glm-4.6",
|
|
22
|
+
"triggeredBy": "test"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"checkpoints": [
|
|
3
|
+
{
|
|
4
|
+
"id": "870a5fb9-6e82-4ff2-8ec8-af4c251cc514",
|
|
5
|
+
"timestamp": "2025-11-21T03:53:47.540Z",
|
|
6
|
+
"description": "Test checkpoint",
|
|
7
|
+
"filesChanged": [
|
|
8
|
+
"/test/file-1763697227540.ts"
|
|
9
|
+
],
|
|
10
|
+
"size": 991,
|
|
11
|
+
"compressed": false
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "2dd84869-e62d-46c8-9885-7e45f37f36e2",
|
|
15
|
+
"timestamp": "2025-11-21T03:53:47.537Z",
|
|
16
|
+
"description": "Test checkpoint",
|
|
17
|
+
"filesChanged": [
|
|
18
|
+
"/test/file-1763697227537.ts"
|
|
19
|
+
],
|
|
20
|
+
"size": 1556,
|
|
21
|
+
"compressed": false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "74a18b87-6172-4215-962b-44bb9f46a662",
|
|
25
|
+
"timestamp": "2025-11-21T03:53:47.535Z",
|
|
26
|
+
"description": "Test checkpoint",
|
|
27
|
+
"filesChanged": [
|
|
28
|
+
"/test/file-1763697227535.ts"
|
|
29
|
+
],
|
|
30
|
+
"size": 1556,
|
|
31
|
+
"compressed": false
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "93946601-0e83-456c-ba47-def9713124dd",
|
|
35
|
+
"timestamp": "2025-11-21T03:53:47.533Z",
|
|
36
|
+
"description": "Test checkpoint",
|
|
37
|
+
"filesChanged": [
|
|
38
|
+
"/test/file-1763697227533.ts"
|
|
39
|
+
],
|
|
40
|
+
"size": 550,
|
|
41
|
+
"compressed": false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "484dc350-353f-4808-9ed1-ebb3cefdab37",
|
|
45
|
+
"timestamp": "2025-11-21T03:53:47.531Z",
|
|
46
|
+
"description": "Test checkpoint",
|
|
47
|
+
"filesChanged": [
|
|
48
|
+
"/test/file-1763697227531.ts"
|
|
49
|
+
],
|
|
50
|
+
"size": 550,
|
|
51
|
+
"compressed": false
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"stats": {
|
|
55
|
+
"totalCount": 5,
|
|
56
|
+
"totalSize": 5203,
|
|
57
|
+
"compressedCount": 0,
|
|
58
|
+
"oldestDate": "2025-11-21T03:53:47.531Z",
|
|
59
|
+
"newestDate": "2025-11-21T03:53:47.540Z"
|
|
60
|
+
},
|
|
61
|
+
"lastUpdated": "2025-11-21T03:53:47.541Z"
|
|
62
|
+
}
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AX CLI - Enterprise-Class AI CLI
|
|
2
2
|
|
|
3
|
-
[](https://github.com/defai-digital/ax-cli/actions/workflows/test.yml)
|
|
4
4
|
[](https://github.com/defai-digital/ax-cli)
|
|
5
5
|
[](https://npm-stat.com/charts.html?package=%40defai.digital%2Fax-cli)
|
|
6
6
|
[](https://nodejs.org/)
|
|
@@ -42,6 +42,10 @@ ax-cli
|
|
|
42
42
|
- 200K context window, 128K max output capability
|
|
43
43
|
- 30% more token efficient than GLM 4.5
|
|
44
44
|
- Optimized for complex code generation and refactoring
|
|
45
|
+
- **🔄 Session Continuity**: Directory-specific conversation history with `--continue` flag
|
|
46
|
+
- Preserve context across sessions for multi-day development
|
|
47
|
+
- Each project maintains its own independent history
|
|
48
|
+
- Seamlessly resume conversations where you left off
|
|
45
49
|
- **🔌 MCP Integration**: Model Context Protocol for extensible tool support
|
|
46
50
|
- **✅ Production-Ready**: 98%+ test coverage, TypeScript strict mode, Zod validation
|
|
47
51
|
- **🎯 Interactive & Headless**: Chat interface or one-shot commands
|
|
@@ -123,8 +127,14 @@ ax-cli # Will prompt for API key on first run
|
|
|
123
127
|
# Start interactive chat
|
|
124
128
|
ax-cli
|
|
125
129
|
|
|
130
|
+
# Continue the most recent conversation in this directory
|
|
131
|
+
ax-cli --continue
|
|
132
|
+
# or
|
|
133
|
+
ax-cli -c
|
|
134
|
+
|
|
126
135
|
# Available slash commands:
|
|
127
136
|
/help # Show help
|
|
137
|
+
/continue # Continue incomplete response
|
|
128
138
|
/init # Initialize project
|
|
129
139
|
/clear # Clear chat history
|
|
130
140
|
/models # Switch AI model
|
|
@@ -186,6 +196,40 @@ cp node_modules/@defai.digital/ax-cli/templates/vscode/*.json .vscode/
|
|
|
186
196
|
|
|
187
197
|
[VSCode Integration Guide →](docs/vscode-integration-guide.md)
|
|
188
198
|
|
|
199
|
+
### 🔄 Session Continuity (`--continue`)
|
|
200
|
+
|
|
201
|
+
Resume conversations seamlessly with directory-specific session history:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Start a conversation in your project
|
|
205
|
+
cd /path/to/your/project
|
|
206
|
+
ax-cli
|
|
207
|
+
# > Work on some features, then exit
|
|
208
|
+
|
|
209
|
+
# Later, continue where you left off
|
|
210
|
+
cd /path/to/your/project
|
|
211
|
+
ax-cli --continue
|
|
212
|
+
# All previous context is restored!
|
|
213
|
+
|
|
214
|
+
# Each project maintains its own independent history
|
|
215
|
+
cd /path/to/another/project
|
|
216
|
+
ax-cli --continue
|
|
217
|
+
# Fresh context for this project
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**How It Works:**
|
|
221
|
+
- Each project directory gets its own conversation session
|
|
222
|
+
- History includes all messages, tool calls, and results
|
|
223
|
+
- Integrated with `.ax-cli/CUSTOM.md` for project-specific context
|
|
224
|
+
- Sessions stored in `~/.ax-cli/sessions/` by project hash
|
|
225
|
+
- Up to 50 most recent messages preserved per session
|
|
226
|
+
|
|
227
|
+
**Use Cases:**
|
|
228
|
+
- Multi-day feature development with accumulated knowledge
|
|
229
|
+
- Resume after interruptions without losing context
|
|
230
|
+
- Maintain separate conversations per project
|
|
231
|
+
- Natural workflow continuity across sessions
|
|
232
|
+
|
|
189
233
|
### Project Initialization
|
|
190
234
|
|
|
191
235
|
```bash
|
|
@@ -262,7 +306,7 @@ AX CLI implements enterprise-grade architecture with:
|
|
|
262
306
|
|
|
263
307
|
- **Single Source of Truth (SSOT)** type system via `@ax-cli/schemas`
|
|
264
308
|
- **TypeScript strict mode** with Zod runtime validation
|
|
265
|
-
- **98%+ test coverage** (
|
|
309
|
+
- **98%+ test coverage** (562 tests)
|
|
266
310
|
- **Modular design** with clean separation of concerns
|
|
267
311
|
|
|
268
312
|
[Architecture Documentation →](docs/architecture.md)
|
|
@@ -37,8 +37,8 @@ export declare class ContextManager {
|
|
|
37
37
|
private getCachedTokenCount;
|
|
38
38
|
/**
|
|
39
39
|
* Create a cache key from messages
|
|
40
|
-
*
|
|
41
|
-
*
|
|
40
|
+
* Uses SHA-256 hash of full content to prevent collisions
|
|
41
|
+
* More reliable than content sampling
|
|
42
42
|
*/
|
|
43
43
|
private createMessageCacheKey;
|
|
44
44
|
/**
|
|
@@ -98,6 +98,7 @@ export declare class ContextManager {
|
|
|
98
98
|
dispose(): void;
|
|
99
99
|
/**
|
|
100
100
|
* Create a warning message for approaching limit
|
|
101
|
+
* Percentage shows remaining capacity (counts down from 100%)
|
|
101
102
|
*/
|
|
102
103
|
createWarningMessage(stats: ReturnType<typeof this.getStats>): string;
|
|
103
104
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Prevents context window overflow through intelligent pruning
|
|
4
4
|
*/
|
|
5
5
|
import { GLM_MODELS } from '../constants.js';
|
|
6
|
+
import * as crypto from 'crypto';
|
|
6
7
|
export class ContextManager {
|
|
7
8
|
model;
|
|
8
9
|
contextWindow;
|
|
@@ -57,23 +58,27 @@ export class ContextManager {
|
|
|
57
58
|
}
|
|
58
59
|
/**
|
|
59
60
|
* Create a cache key from messages
|
|
60
|
-
*
|
|
61
|
-
*
|
|
61
|
+
* Uses SHA-256 hash of full content to prevent collisions
|
|
62
|
+
* More reliable than content sampling
|
|
62
63
|
*/
|
|
63
64
|
createMessageCacheKey(messages) {
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
// Increased from 20 to 50 to reduce false cache hits
|
|
70
|
-
const contentSample = typeof m.content === 'string'
|
|
71
|
-
? m.content.substring(0, 50).replace(/[|:]/g, '') // Remove delimiters
|
|
65
|
+
// Serialize messages to a stable string representation
|
|
66
|
+
const messageSignature = messages.map(m => {
|
|
67
|
+
// Get full content
|
|
68
|
+
const content = typeof m.content === 'string'
|
|
69
|
+
? m.content
|
|
72
70
|
: Array.isArray(m.content)
|
|
73
|
-
? m.content.
|
|
71
|
+
? m.content.map(part => part.type === 'text' ? part.text : '').join('')
|
|
74
72
|
: '';
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
// Include tool calls if present
|
|
74
|
+
const toolCalls = (m.role === 'assistant' || m.role === 'tool') && 'tool_calls' in m && m.tool_calls
|
|
75
|
+
? JSON.stringify(m.tool_calls)
|
|
76
|
+
: '';
|
|
77
|
+
// Create deterministic string for this message
|
|
78
|
+
return `${m.role}|${content}|${toolCalls}`;
|
|
79
|
+
}).join('||');
|
|
80
|
+
// Hash the signature for efficient cache lookup
|
|
81
|
+
return crypto.createHash('sha256').update(messageSignature).digest('hex').substring(0, 32);
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* Clean up expired cache entries
|
|
@@ -113,12 +118,13 @@ export class ContextManager {
|
|
|
113
118
|
*/
|
|
114
119
|
getStats(messages, tokenCounter) {
|
|
115
120
|
const currentTokens = this.getCachedTokenCount(messages, tokenCounter);
|
|
116
|
-
|
|
121
|
+
// Changed: Show remaining percentage (counting down from 100%)
|
|
122
|
+
const percentage = 100 - (currentTokens / this.contextWindow) * 100;
|
|
117
123
|
const available = this.contextWindow - currentTokens;
|
|
118
124
|
return {
|
|
119
125
|
currentTokens,
|
|
120
126
|
contextWindow: this.contextWindow,
|
|
121
|
-
percentage: percentage, //
|
|
127
|
+
percentage: percentage, // Remaining percentage (counts down from 100%)
|
|
122
128
|
available,
|
|
123
129
|
shouldPrune: currentTokens > (this.contextWindow * this.pruneThreshold),
|
|
124
130
|
isNearLimit: currentTokens > (this.contextWindow * this.hardLimit),
|
|
@@ -135,8 +141,16 @@ export class ContextManager {
|
|
|
135
141
|
*/
|
|
136
142
|
pruneMessages(messages, tokenCounter) {
|
|
137
143
|
// Always keep system message - validate first
|
|
138
|
-
if (messages.length === 0
|
|
139
|
-
|
|
144
|
+
if (messages.length === 0) {
|
|
145
|
+
// Empty messages array - return as-is (edge case protection)
|
|
146
|
+
console.warn('[ContextManager] Cannot prune empty messages array');
|
|
147
|
+
return messages;
|
|
148
|
+
}
|
|
149
|
+
if (messages[0].role !== 'system') {
|
|
150
|
+
// Missing system message - log warning but continue with defensive handling
|
|
151
|
+
console.warn('[ContextManager] First message is not system message, proceeding with caution');
|
|
152
|
+
// Don't prune if system message is missing to avoid breaking conversation state
|
|
153
|
+
return messages;
|
|
140
154
|
}
|
|
141
155
|
// If under threshold, no pruning needed
|
|
142
156
|
if (!this.shouldPrune(messages, tokenCounter)) {
|
|
@@ -308,17 +322,18 @@ export class ContextManager {
|
|
|
308
322
|
}
|
|
309
323
|
/**
|
|
310
324
|
* Create a warning message for approaching limit
|
|
325
|
+
* Percentage shows remaining capacity (counts down from 100%)
|
|
311
326
|
*/
|
|
312
327
|
createWarningMessage(stats) {
|
|
313
328
|
if (stats.isNearLimit) {
|
|
314
|
-
return `⚠️ Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage}%)
|
|
329
|
+
return `⚠️ Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage.toFixed(1)}% remaining)
|
|
315
330
|
💡 Near context limit! Consider starting a new conversation soon.`;
|
|
316
331
|
}
|
|
317
332
|
if (stats.shouldPrune) {
|
|
318
|
-
return `ℹ️ Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage}%)
|
|
333
|
+
return `ℹ️ Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage.toFixed(1)}% remaining)
|
|
319
334
|
📊 Context pruning active to maintain performance.`;
|
|
320
335
|
}
|
|
321
|
-
return `📊 Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage}%)`;
|
|
336
|
+
return `📊 Context: ${stats.currentTokens.toLocaleString()}/${stats.contextWindow.toLocaleString()} tokens (${stats.percentage.toFixed(1)}% remaining)`;
|
|
322
337
|
}
|
|
323
338
|
}
|
|
324
339
|
//# sourceMappingURL=context-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7C,MAAM,OAAO,cAAc;IACjB,KAAK,CAAS;IACd,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,SAAS,CAAS;IAClB,oBAAoB,CAAS;IAC7B,iBAAiB,CAAS;IAC1B,cAAc,CAAS;IAE/B,uCAAuC;IACvC,gEAAgE;IACxD,UAAU,GAAG,IAAI,GAAG,EAAgD,CAAC;IAC5D,SAAS,GAAG,KAAK,CAAC,CAAC,eAAe;IAClC,cAAc,GAAG,GAAG,CAAC,CAAC,uCAAuC;IAE9E,YAAY,OAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,WAAW,EAAE,aAAa,IAAI,MAAM,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,QAAsB,EAAE,YAA0B;QAC5E,sCAAsC;QACtC,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEtD,0DAA0D;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,gCAAgC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,QAAsB;QAClD,8EAA8E;QAC9E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7L,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxH,+DAA+D;YAC/D,qDAAqD;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBACjD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,oBAAoB;gBACtE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBACxB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBACtH,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAsB,EAAE,YAA0B;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3D,OAAO,aAAa,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAsB,EAAE,YAA0B;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,OAAO,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAsB,EAAE,YAA0B;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAErD,OAAO;YACL,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,UAAU,EAAE,sBAAsB;YAC9C,SAAS;YACT,WAAW,EAAE,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YACvE,WAAW,EAAE,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;SACnE,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAsB,EAAE,YAA0B;QAC9D,8CAA8C;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExC,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAE1E,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAE5D,kCAAkC;QAClC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1D,oCAAoC;QACpC,MAAM,cAAc,GAAiB,CAAC,aAAa,CAAC,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAEnC,8BAA8B;YAC9B,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,wDAAwD;iBACnD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,wBAAwB;gBACxB,SAAS;YACX,CAAC;YACD,2DAA2D;iBACtD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjE,yCAAyC;gBACzC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEpE,gDAAgD;QAChD,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,QAAsB;QACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,yDAAyD;QACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC9C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjB,gBAAgB,EAAE,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,QAAsB;QAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5B,4CAA4C;YAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,wBAAwB;iBACnB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,sDAAsD;iBACjD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3I,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,YAAY,GAAG,EAAE,CAAC;gBAClB,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,0BAA0B;iBACrB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,YAAY,GAAG,EAAE,CAAC;gBAClB,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,QAAsB,EAAE,YAA0B;QAC3E,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1C,oDAAoD;QACpD,MAAM,aAAa,GAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,SAAS,EAAE,CAAC;gBACZ,eAAe,GAAG,CAAC,CAAC;gBACpB,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB;oBAAE,MAAM;YACjD,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,cAAc,CAC/E,CAAC;QAEF,0EAA0E;QAC1E,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,aAAa,CAAC,CAAC,+CAA+C;QACvE,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAiB,EAAE,CAAC;QACxC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAClE,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzD,IAAI,YAAY,GAAG,SAAS,IAAI,eAAe,EAAE,CAAC;gBAChD,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5B,YAAY,IAAI,SAAS,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QAElC,4CAA4C;QAC5C,oEAAoE;QACpE,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QAC9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,+DAA+D;aACzE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,KAAuC;QAC1D,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,gBAAgB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,KAAK,CAAC,UAAU;kEACnE,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,gBAAgB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,KAAK,CAAC,UAAU;mDAClF,CAAC;QAChD,CAAC;QAED,OAAO,eAAe,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,KAAK,CAAC,UAAU,IAAI,CAAC;IACrI,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves task dependencies and determines execution order for subagents.
|
|
5
|
+
* Implements topological sorting with cycle detection.
|
|
6
|
+
*/
|
|
7
|
+
import type { SubagentTask, DependencyGraph } from './subagent-types.js';
|
|
8
|
+
/**
|
|
9
|
+
* DependencyResolver class for managing task dependencies
|
|
10
|
+
*/
|
|
11
|
+
export declare class DependencyResolver {
|
|
12
|
+
/**
|
|
13
|
+
* Resolve task dependencies and return execution batches
|
|
14
|
+
* Tasks in the same batch can be executed in parallel
|
|
15
|
+
*
|
|
16
|
+
* @param tasks Array of tasks to resolve
|
|
17
|
+
* @returns Array of batches, where each batch is an array of task IDs
|
|
18
|
+
*/
|
|
19
|
+
resolveDependencies(tasks: SubagentTask[]): string[][];
|
|
20
|
+
/**
|
|
21
|
+
* Validate that there are no circular dependencies
|
|
22
|
+
*
|
|
23
|
+
* @param tasks Array of tasks to validate
|
|
24
|
+
* @returns true if valid, false if circular dependencies exist
|
|
25
|
+
*/
|
|
26
|
+
validateDependencies(tasks: SubagentTask[]): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Get dependency graph structure
|
|
29
|
+
*
|
|
30
|
+
* @param tasks Array of tasks
|
|
31
|
+
* @returns DependencyGraph object with nodes and execution order
|
|
32
|
+
*/
|
|
33
|
+
getDependencyGraph(tasks: SubagentTask[]): DependencyGraph;
|
|
34
|
+
/**
|
|
35
|
+
* Build dependency graph from tasks
|
|
36
|
+
*/
|
|
37
|
+
private buildDependencyGraph;
|
|
38
|
+
/**
|
|
39
|
+
* Perform topological sort using Kahn's algorithm
|
|
40
|
+
*/
|
|
41
|
+
private topologicalSort;
|
|
42
|
+
/**
|
|
43
|
+
* Group sorted tasks into parallel execution batches
|
|
44
|
+
*/
|
|
45
|
+
private groupIntoBatches;
|
|
46
|
+
/**
|
|
47
|
+
* Check if graph has cycles using DFS
|
|
48
|
+
*/
|
|
49
|
+
private hasCycle;
|
|
50
|
+
/**
|
|
51
|
+
* Utility function for cycle detection
|
|
52
|
+
*/
|
|
53
|
+
private hasCycleUtil;
|
|
54
|
+
/**
|
|
55
|
+
* Find all cycles in the graph
|
|
56
|
+
*/
|
|
57
|
+
private findCycles;
|
|
58
|
+
/**
|
|
59
|
+
* Utility function for finding cycles
|
|
60
|
+
*/
|
|
61
|
+
private findCyclesUtil;
|
|
62
|
+
/**
|
|
63
|
+
* Get execution level for a task
|
|
64
|
+
* Level 0 = no dependencies, Level N = depends on tasks at level N-1
|
|
65
|
+
*/
|
|
66
|
+
getTaskLevel(taskId: string, tasks: SubagentTask[]): number;
|
|
67
|
+
/**
|
|
68
|
+
* Get all tasks that can be executed in parallel
|
|
69
|
+
*/
|
|
70
|
+
getParallelTasks(tasks: SubagentTask[]): string[][];
|
|
71
|
+
/**
|
|
72
|
+
* Check if a task can be executed given completed tasks
|
|
73
|
+
*/
|
|
74
|
+
canExecuteTask(taskId: string, completedTaskIds: Set<string>, tasks: SubagentTask[]): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Get tasks that are ready to execute
|
|
77
|
+
*/
|
|
78
|
+
getReadyTasks(tasks: SubagentTask[], completedTaskIds: Set<string>): SubagentTask[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create a new dependency resolver instance
|
|
82
|
+
*/
|
|
83
|
+
export declare function createDependencyResolver(): DependencyResolver;
|