@turmind/halo 1.5.1-alpha → 1.5.3-alpha
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/admin-out/404.html +1 -1
- package/admin-out/_next/static/chunks/{803-7128009ee0e1c10e.js → 133-33aa091fba853037.js} +1 -1
- package/admin-out/_next/static/chunks/989-c6c7772db8a50926.js +1 -0
- package/admin-out/_next/static/chunks/app/page-5f41b086cd5ad353.js +1 -0
- package/admin-out/_next/static/css/8809d33379458514.css +3 -0
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +5 -5
- package/bundled-docs/design/agent.md +3 -3
- package/bundled-docs/design/architecture.md +3 -3
- package/bundled-docs/design/background-dispatch.md +52 -45
- package/bundled-docs/design/express-self.md +1 -1
- package/bundled-docs/design/prompt-system.md +2 -2
- package/bundled-docs/design/session.md +22 -14
- package/bundled-docs/design/storage.md +3 -3
- package/bundled-docs/design/ws.md +30 -25
- package/bundled-docs/dev/add-model-provider.md +2 -2
- package/bundled-docs/dev/api.md +37 -18
- package/bundled-docs/dev/env.md +2 -2
- package/bundled-docs/guide/agents.md +2 -2
- package/bundled-docs/guide/chat.md +16 -9
- package/bundled-docs/guide/cli.md +11 -1
- package/bundled-docs/guide/sessions.md +7 -7
- package/bundled-docs/guide/testing-agents-and-skills.md +5 -6
- package/bundled-docs/requirements/chat.md +23 -9
- package/bundled-docs/requirements/command.md +1 -1
- package/bundled-docs/requirements/session.md +10 -7
- package/bundled-docs/requirements/terminal.md +2 -0
- package/dist/index.js +222 -211
- package/package.json +1 -1
- package/templates/agents/__apply_agent__/agent.yaml +2 -2
- package/templates/agents/__evo_agent__/agent.yaml +2 -2
- package/templates/agents/__score__/agent.yaml +2 -2
- package/templates/agents/deep-executor/agent.yaml +2 -2
- package/templates/agents/default/agent.yaml +2 -2
- package/templates/agents/executor/agent.yaml +2 -2
- package/templates/agents/goal/agent.yaml +2 -2
- package/templates/models/anthropic.yaml +1 -1
- package/templates/models/aws-bedrock-claude-invoke.yaml +10 -10
- package/templates/models/aws-bedrock-mantle.yaml +4 -4
- package/templates/models/aws-bedrock-openai.yaml +6 -6
- package/templates/models/deepseek.yaml +2 -2
- package/templates/models/kimi.yaml +1 -1
- package/templates/models/mimo-token-plan-china.yaml +4 -4
- package/templates/models/minimax.yaml +1 -1
- package/templates/models/qwen.yaml +2 -2
- package/templates/models/zhipu.yaml +4 -4
- package/templates/prompts/root/DELEGATION.md +20 -3
- package/templates/skills/agent/SKILL.md +2 -2
- package/admin-out/_next/static/chunks/989-7420ee650083df43.js +0 -1
- package/admin-out/_next/static/chunks/app/page-fa5e935dbaa74165.js +0 -1
- package/admin-out/_next/static/css/b8ffb5202b5a6619.css +0 -3
- /package/admin-out/_next/static/{gRsZxPP4kTOmCtkHhJIZB → Wqi_ugna9MYsiV7ECuawQ}/_buildManifest.js +0 -0
- /package/admin-out/_next/static/{gRsZxPP4kTOmCtkHhJIZB → Wqi_ugna9MYsiV7ECuawQ}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -17,8 +17,8 @@ system_prompt: >
|
|
|
17
17
|
those are the wrapper's jobs. See AGENT.md for the full procedure. You
|
|
18
18
|
are invoked by an evo wrapper process — never by a user directly.
|
|
19
19
|
context:
|
|
20
|
-
maxTokens:
|
|
21
|
-
compressAt: 0.
|
|
20
|
+
maxTokens: 272000
|
|
21
|
+
compressAt: 0.9
|
|
22
22
|
tools:
|
|
23
23
|
- file_read
|
|
24
24
|
- file_write
|
|
@@ -19,8 +19,8 @@ system_prompt: >
|
|
|
19
19
|
not by you. See AGENT.md for the full procedure. You are invoked by an evo
|
|
20
20
|
wrapper process — never by a user directly.
|
|
21
21
|
context:
|
|
22
|
-
maxTokens:
|
|
23
|
-
compressAt: 0.
|
|
22
|
+
maxTokens: 272000
|
|
23
|
+
compressAt: 0.9
|
|
24
24
|
tools:
|
|
25
25
|
- file_read
|
|
26
26
|
- view_image
|
|
@@ -38,7 +38,7 @@ models:
|
|
|
38
38
|
- id: global.anthropic.claude-fable-5-1
|
|
39
39
|
displayName: Claude Fable 5.1
|
|
40
40
|
maxOutputTokens: 128000
|
|
41
|
-
contextWindow:
|
|
41
|
+
contextWindow: 272000
|
|
42
42
|
capabilities:
|
|
43
43
|
image: true
|
|
44
44
|
video: false
|
|
@@ -66,7 +66,7 @@ models:
|
|
|
66
66
|
- id: global.anthropic.claude-fable-5
|
|
67
67
|
displayName: Claude Fable 5
|
|
68
68
|
maxOutputTokens: 128000
|
|
69
|
-
contextWindow:
|
|
69
|
+
contextWindow: 272000
|
|
70
70
|
capabilities:
|
|
71
71
|
image: true
|
|
72
72
|
video: false
|
|
@@ -94,7 +94,7 @@ models:
|
|
|
94
94
|
- id: global.anthropic.claude-sonnet-4-6
|
|
95
95
|
displayName: Claude Sonnet 4.6
|
|
96
96
|
maxOutputTokens: 64000
|
|
97
|
-
contextWindow:
|
|
97
|
+
contextWindow: 272000
|
|
98
98
|
capabilities:
|
|
99
99
|
image: true
|
|
100
100
|
video: false
|
|
@@ -121,7 +121,7 @@ models:
|
|
|
121
121
|
- id: global.anthropic.claude-sonnet-5
|
|
122
122
|
displayName: Claude Sonnet 5
|
|
123
123
|
maxOutputTokens: 64000
|
|
124
|
-
contextWindow:
|
|
124
|
+
contextWindow: 272000
|
|
125
125
|
capabilities:
|
|
126
126
|
image: true
|
|
127
127
|
video: false
|
|
@@ -148,7 +148,7 @@ models:
|
|
|
148
148
|
- id: global.anthropic.claude-sonnet-5-5
|
|
149
149
|
displayName: Claude Sonnet 5.5
|
|
150
150
|
maxOutputTokens: 64000
|
|
151
|
-
contextWindow:
|
|
151
|
+
contextWindow: 272000
|
|
152
152
|
capabilities:
|
|
153
153
|
image: true
|
|
154
154
|
video: false
|
|
@@ -179,7 +179,7 @@ models:
|
|
|
179
179
|
- id: global.anthropic.claude-opus-4-6-v1
|
|
180
180
|
displayName: Claude Opus 4.6
|
|
181
181
|
maxOutputTokens: 128000
|
|
182
|
-
contextWindow:
|
|
182
|
+
contextWindow: 272000
|
|
183
183
|
capabilities:
|
|
184
184
|
image: true
|
|
185
185
|
video: false
|
|
@@ -202,7 +202,7 @@ models:
|
|
|
202
202
|
- id: global.anthropic.claude-opus-4-7
|
|
203
203
|
displayName: Claude Opus 4.7
|
|
204
204
|
maxOutputTokens: 128000
|
|
205
|
-
contextWindow:
|
|
205
|
+
contextWindow: 272000
|
|
206
206
|
capabilities:
|
|
207
207
|
image: true
|
|
208
208
|
video: false
|
|
@@ -226,7 +226,7 @@ models:
|
|
|
226
226
|
- id: global.anthropic.claude-opus-4-8
|
|
227
227
|
displayName: Claude Opus 4.8
|
|
228
228
|
maxOutputTokens: 128000
|
|
229
|
-
contextWindow:
|
|
229
|
+
contextWindow: 272000
|
|
230
230
|
capabilities:
|
|
231
231
|
image: true
|
|
232
232
|
video: false
|
|
@@ -252,7 +252,7 @@ models:
|
|
|
252
252
|
- id: global.anthropic.claude-opus-5
|
|
253
253
|
displayName: Claude Opus 5
|
|
254
254
|
maxOutputTokens: 128000
|
|
255
|
-
contextWindow:
|
|
255
|
+
contextWindow: 272000
|
|
256
256
|
capabilities:
|
|
257
257
|
image: true
|
|
258
258
|
video: false
|
|
@@ -279,7 +279,7 @@ models:
|
|
|
279
279
|
- id: global.anthropic.claude-opus-5-5
|
|
280
280
|
displayName: Claude Opus 5.5
|
|
281
281
|
maxOutputTokens: 128000
|
|
282
|
-
contextWindow:
|
|
282
|
+
contextWindow: 272000
|
|
283
283
|
capabilities:
|
|
284
284
|
image: true
|
|
285
285
|
video: false
|
|
@@ -75,7 +75,7 @@ models:
|
|
|
75
75
|
- id: openai.gpt-6-astra
|
|
76
76
|
displayName: GPT-6 Astra
|
|
77
77
|
maxOutputTokens: 128000
|
|
78
|
-
contextWindow:
|
|
78
|
+
contextWindow: 272000
|
|
79
79
|
capabilities:
|
|
80
80
|
image: true
|
|
81
81
|
video: false
|
|
@@ -113,7 +113,7 @@ models:
|
|
|
113
113
|
- id: openai.gpt-6-sol
|
|
114
114
|
displayName: GPT-6 Sol
|
|
115
115
|
maxOutputTokens: 128000
|
|
116
|
-
contextWindow:
|
|
116
|
+
contextWindow: 272000
|
|
117
117
|
capabilities:
|
|
118
118
|
image: true
|
|
119
119
|
video: false
|
|
@@ -147,7 +147,7 @@ models:
|
|
|
147
147
|
- id: openai.gpt-6.1-sol
|
|
148
148
|
displayName: GPT-6.1 Sol
|
|
149
149
|
maxOutputTokens: 128000
|
|
150
|
-
contextWindow:
|
|
150
|
+
contextWindow: 272000
|
|
151
151
|
capabilities:
|
|
152
152
|
image: true
|
|
153
153
|
video: false
|
|
@@ -176,7 +176,7 @@ models:
|
|
|
176
176
|
- id: openai.gpt-6-luna
|
|
177
177
|
displayName: GPT-6 Luna
|
|
178
178
|
maxOutputTokens: 128000
|
|
179
|
-
contextWindow:
|
|
179
|
+
contextWindow: 272000
|
|
180
180
|
capabilities:
|
|
181
181
|
image: true
|
|
182
182
|
video: false
|
|
@@ -68,7 +68,7 @@ models:
|
|
|
68
68
|
- id: global.openai.gpt-6-sol
|
|
69
69
|
displayName: GPT-6 Sol
|
|
70
70
|
maxOutputTokens: 128000
|
|
71
|
-
contextWindow:
|
|
71
|
+
contextWindow: 272000
|
|
72
72
|
capabilities:
|
|
73
73
|
image: true
|
|
74
74
|
video: false
|
|
@@ -102,7 +102,7 @@ models:
|
|
|
102
102
|
- id: global.openai.gpt-6.1-sol
|
|
103
103
|
displayName: GPT-6.1 Sol
|
|
104
104
|
maxOutputTokens: 128000
|
|
105
|
-
contextWindow:
|
|
105
|
+
contextWindow: 272000
|
|
106
106
|
capabilities:
|
|
107
107
|
image: true
|
|
108
108
|
video: false
|
|
@@ -131,7 +131,7 @@ models:
|
|
|
131
131
|
- id: global.openai.gpt-6-astra
|
|
132
132
|
displayName: GPT-6 Astra
|
|
133
133
|
maxOutputTokens: 128000
|
|
134
|
-
contextWindow:
|
|
134
|
+
contextWindow: 272000
|
|
135
135
|
capabilities:
|
|
136
136
|
image: true
|
|
137
137
|
video: false
|
|
@@ -160,7 +160,7 @@ models:
|
|
|
160
160
|
- id: global.openai.gpt-6-luna
|
|
161
161
|
displayName: GPT-6 Luna
|
|
162
162
|
maxOutputTokens: 128000
|
|
163
|
-
contextWindow:
|
|
163
|
+
contextWindow: 272000
|
|
164
164
|
capabilities:
|
|
165
165
|
image: true
|
|
166
166
|
video: false
|
|
@@ -285,7 +285,7 @@ models:
|
|
|
285
285
|
- id: global.xai.grok-4.6
|
|
286
286
|
displayName: Grok 4.6
|
|
287
287
|
maxOutputTokens: 64000
|
|
288
|
-
contextWindow:
|
|
288
|
+
contextWindow: 272000
|
|
289
289
|
capabilities:
|
|
290
290
|
image: true
|
|
291
291
|
video: false
|
|
@@ -322,7 +322,7 @@ models:
|
|
|
322
322
|
- id: global.moonshotai.kimi-k3
|
|
323
323
|
displayName: Kimi K3
|
|
324
324
|
maxOutputTokens: 131072
|
|
325
|
-
contextWindow:
|
|
325
|
+
contextWindow: 272000
|
|
326
326
|
capabilities:
|
|
327
327
|
image: true
|
|
328
328
|
video: false
|
|
@@ -27,7 +27,7 @@ models:
|
|
|
27
27
|
- id: deepseek-v4-pro
|
|
28
28
|
displayName: DeepSeek V4 Pro
|
|
29
29
|
maxOutputTokens: 65536
|
|
30
|
-
contextWindow:
|
|
30
|
+
contextWindow: 272000
|
|
31
31
|
capabilities:
|
|
32
32
|
image: false
|
|
33
33
|
video: false
|
|
@@ -53,7 +53,7 @@ models:
|
|
|
53
53
|
- id: deepseek-flash
|
|
54
54
|
displayName: DeepSeek Flash
|
|
55
55
|
maxOutputTokens: 65536
|
|
56
|
-
contextWindow:
|
|
56
|
+
contextWindow: 272000
|
|
57
57
|
capabilities:
|
|
58
58
|
image: true
|
|
59
59
|
video: false
|
|
@@ -27,7 +27,7 @@ models:
|
|
|
27
27
|
displayName: Kimi K3
|
|
28
28
|
# Official default output cap; the model can go up to 1M but we don't max out.
|
|
29
29
|
maxOutputTokens: 131072
|
|
30
|
-
contextWindow:
|
|
30
|
+
contextWindow: 272000
|
|
31
31
|
capabilities:
|
|
32
32
|
# K3 itself also supports video input, but Halo has no video upload
|
|
33
33
|
# path yet — keep video:false until one exists. Image input is
|
|
@@ -37,7 +37,7 @@ models:
|
|
|
37
37
|
- id: mimo-v2.6-pro
|
|
38
38
|
displayName: MiMo v2.6 Pro
|
|
39
39
|
maxOutputTokens: 131072
|
|
40
|
-
contextWindow:
|
|
40
|
+
contextWindow: 272000
|
|
41
41
|
capabilities:
|
|
42
42
|
image: true
|
|
43
43
|
video: false
|
|
@@ -60,7 +60,7 @@ models:
|
|
|
60
60
|
- id: mimo-v2.6-flash
|
|
61
61
|
displayName: MiMo v2.6 Flash
|
|
62
62
|
maxOutputTokens: 131072
|
|
63
|
-
contextWindow:
|
|
63
|
+
contextWindow: 272000
|
|
64
64
|
capabilities:
|
|
65
65
|
image: true
|
|
66
66
|
video: false
|
|
@@ -84,7 +84,7 @@ models:
|
|
|
84
84
|
- id: mimo-v2.5-pro
|
|
85
85
|
displayName: MiMo v2.5 Pro (deprecated 2026-10-21)
|
|
86
86
|
maxOutputTokens: 131072
|
|
87
|
-
contextWindow:
|
|
87
|
+
contextWindow: 272000
|
|
88
88
|
capabilities:
|
|
89
89
|
image: false
|
|
90
90
|
video: false
|
|
@@ -107,7 +107,7 @@ models:
|
|
|
107
107
|
- id: mimo-v2.5
|
|
108
108
|
displayName: MiMo v2.5 (deprecated 2026-10-21)
|
|
109
109
|
maxOutputTokens: 131072
|
|
110
|
-
contextWindow:
|
|
110
|
+
contextWindow: 272000
|
|
111
111
|
capabilities:
|
|
112
112
|
image: true
|
|
113
113
|
video: false
|
|
@@ -40,7 +40,7 @@ models:
|
|
|
40
40
|
displayName: MiniMax M3
|
|
41
41
|
# Official recommended value; hard cap is 524288 but we don't max out.
|
|
42
42
|
maxOutputTokens: 131072
|
|
43
|
-
contextWindow:
|
|
43
|
+
contextWindow: 272000
|
|
44
44
|
capabilities:
|
|
45
45
|
# M3 also supports video input, but Halo has no video upload path yet —
|
|
46
46
|
# keep video:false until one exists. Image rides the Anthropic-compatible
|
|
@@ -38,7 +38,7 @@ models:
|
|
|
38
38
|
- id: qwen3.7-max
|
|
39
39
|
displayName: Qwen3.7 Max
|
|
40
40
|
maxOutputTokens: 16384
|
|
41
|
-
contextWindow:
|
|
41
|
+
contextWindow: 272000
|
|
42
42
|
capabilities:
|
|
43
43
|
image: false
|
|
44
44
|
video: false
|
|
@@ -61,7 +61,7 @@ models:
|
|
|
61
61
|
- id: qwen3.6-plus
|
|
62
62
|
displayName: Qwen3.6 Plus
|
|
63
63
|
maxOutputTokens: 16384
|
|
64
|
-
contextWindow:
|
|
64
|
+
contextWindow: 272000
|
|
65
65
|
capabilities:
|
|
66
66
|
image: true
|
|
67
67
|
video: false
|
|
@@ -35,7 +35,7 @@ models:
|
|
|
35
35
|
- id: glm-5.3
|
|
36
36
|
displayName: GLM-5.3
|
|
37
37
|
maxOutputTokens: 131072
|
|
38
|
-
contextWindow:
|
|
38
|
+
contextWindow: 272000
|
|
39
39
|
capabilities:
|
|
40
40
|
image: false
|
|
41
41
|
video: false
|
|
@@ -56,7 +56,7 @@ models:
|
|
|
56
56
|
- id: glm-5.3-flash
|
|
57
57
|
displayName: GLM-5.3 Flash
|
|
58
58
|
maxOutputTokens: 131072
|
|
59
|
-
contextWindow:
|
|
59
|
+
contextWindow: 272000
|
|
60
60
|
capabilities:
|
|
61
61
|
image: true
|
|
62
62
|
video: false
|
|
@@ -76,7 +76,7 @@ models:
|
|
|
76
76
|
- id: glm-5.3-flashx
|
|
77
77
|
displayName: GLM-5.3 FlashX
|
|
78
78
|
maxOutputTokens: 131072
|
|
79
|
-
contextWindow:
|
|
79
|
+
contextWindow: 272000
|
|
80
80
|
capabilities:
|
|
81
81
|
image: true
|
|
82
82
|
video: false
|
|
@@ -96,7 +96,7 @@ models:
|
|
|
96
96
|
- id: glm-5.2
|
|
97
97
|
displayName: GLM-5.2
|
|
98
98
|
maxOutputTokens: 131072
|
|
99
|
-
contextWindow:
|
|
99
|
+
contextWindow: 272000
|
|
100
100
|
capabilities:
|
|
101
101
|
image: false
|
|
102
102
|
video: false
|
|
@@ -21,9 +21,10 @@ talk to you while you're busy, and fills your context with intermediate output.
|
|
|
21
21
|
|
|
22
22
|
### What tends to fit doing it yourself
|
|
23
23
|
|
|
24
|
-
- It leans on this conversation: decisions the user made,
|
|
25
|
-
out, constraints they mentioned in passing — and
|
|
26
|
-
would take about as long as the work.
|
|
24
|
+
- It is light work that leans on this conversation: decisions the user made,
|
|
25
|
+
options they ruled out, constraints they mentioned in passing — and
|
|
26
|
+
restating those in a brief would take about as long as the work. For
|
|
27
|
+
anything heavier, the context goes into the brief.
|
|
27
28
|
- It is small and its cause is already known.
|
|
28
29
|
- The user is waiting on an answer, or wants to steer step by step.
|
|
29
30
|
- Your next step depends on the result and there is nothing else to do meanwhile.
|
|
@@ -48,6 +49,14 @@ brief leaves out, it explores or guesses.
|
|
|
48
49
|
options, and constraints. Quote the user's wording when it matters.
|
|
49
50
|
- **What you already know**: paths, line numbers, snippets, the pattern to copy.
|
|
50
51
|
Findings, not pointers.
|
|
52
|
+
- **Settled questions, not open branches**: anything the work depends on that
|
|
53
|
+
this conversation has already established — by you or by an earlier worker's
|
|
54
|
+
report — goes in as a stated fact or decision. "If you find X, pick the
|
|
55
|
+
simplest" hands over an investigation; settle it before sending. This is
|
|
56
|
+
about questions of intent and choice — ask the user when unsure. Technical
|
|
57
|
+
unknowns (where the change goes, how many call sites) are part of the task:
|
|
58
|
+
locate the entry point and stop, don't pre-investigate on the worker's
|
|
59
|
+
behalf.
|
|
51
60
|
- **Boundaries**: files not to touch; whether commit / push / build / deploy is
|
|
52
61
|
allowed; in-flight work it must not disturb.
|
|
53
62
|
- **Verification**: the exact commands, scoped to what changed.
|
|
@@ -56,3 +65,11 @@ brief leaves out, it explores or guesses.
|
|
|
56
65
|
One task per session. When fanning out, partition by file so parallel sessions
|
|
57
66
|
don't edit the same ones. For a follow-up or a fix from the same worker,
|
|
58
67
|
`query_session` continues it with its context intact.
|
|
68
|
+
|
|
69
|
+
### Context a worker already gathered
|
|
70
|
+
|
|
71
|
+
A worker's session keeps everything it read. Ask for the reusable part in its
|
|
72
|
+
report — files and line ranges it touched, the call sites it traced, facts
|
|
73
|
+
that differed from the brief — and when later work needs the same ground,
|
|
74
|
+
`query_session` that worker (to answer, or to take the follow-up) before
|
|
75
|
+
re-reading it yourself or briefing a fresh worker to rediscover it.
|
|
@@ -66,8 +66,8 @@ model:
|
|
|
66
66
|
system_prompt: >
|
|
67
67
|
<Brief one-paragraph role statement. Keep behavioral detail in AGENT.md.>
|
|
68
68
|
context:
|
|
69
|
-
maxTokens:
|
|
70
|
-
compressAt: 0.
|
|
69
|
+
maxTokens: 272000
|
|
70
|
+
compressAt: 0.9 # auto-compact at 90%
|
|
71
71
|
tools:
|
|
72
72
|
- file_read
|
|
73
73
|
- file_write
|