@turmind/halo 1.3.3 → 1.3.4

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.
@@ -0,0 +1,313 @@
1
+ id: aws-bedrock-openai
2
+ displayName: AWS Bedrock OpenAI-compatible (GPT-6 / 5.6 · Grok 4.6 · Kimi K3)
3
+ displayName_zh: AWS Bedrock OpenAI 兼容接口(GPT-6 / 5.6 · Grok 4.6 · Kimi K3)
4
+ description: Frontier models on Amazon Bedrock via the bedrock-runtime endpoint's OpenAI Responses API (/openai/v1) — OpenAI GPT-6 (Astra / Sol / Luna) and GPT-5.6 (Sol / Terra / Luna), xAI Grok 4.6, Moonshot Kimi K3. Cross-Region inference profiles (global.*) only — every region serves every model, no region split. No server-side web_search (that is Mantle-only).
5
+ description_zh: 通过 bedrock-runtime 端点的 OpenAI Responses API(/openai/v1)调用 Bedrock 上的前沿模型——OpenAI GPT-6(Astra / Sol / Luna)与 GPT-5.6(Sol / Terra / Luna)、xAI Grok 4.6、月之暗面 Kimi K3。仅支持跨区域推理 profile(global.*)——每个区域都能调所有模型,无区域分裂。不支持服务端 web_search(那是 Mantle 独有)。
6
+ # Why a second Bedrock/OpenAI provider next to aws-bedrock-mantle: this is the
7
+ # bedrock-runtime host (https://bedrock-runtime.<region>.amazonaws.com/openai/v1),
8
+ # which AWS now recommends for new applications; bedrock-mantle is the legacy
9
+ # compatibility endpoint. Same wire format (OpenAI Responses API), same runtime
10
+ # class (MantleAgent), different rules:
11
+ # - model ids MUST be cross-Region inference profiles (`global.*` / `us.*`);
12
+ # the bare foundation-model id 400s with "on-demand throughput isn't
13
+ # supported". Kimi K3 isn't on Mantle at all; Grok 4.6 is Mantle us-west-2
14
+ # only — here everything is reachable from any region.
15
+ # - live-probed 2026-09-24 with SigV4: all eight global.* ids below return
16
+ # 200 in us-east-1 / us-west-2 / eu-west-1 / ap-northeast-1 alike, so the
17
+ # endpoint is purely a latency / data-residency pick — unlike Mantle's
18
+ # per-region GPT matrix.
19
+ # - requests are always synchronous and there are NO server-side tools:
20
+ # `tools:[{type:'web_search'}]` → 400 "web search is not supported for
21
+ # this request" (verified). MantleAgent never sends those, but the
22
+ # web-search skill's deep gear does — it stays on Mantle for that reason.
23
+ defaultEndpoint: https://bedrock-runtime.us-east-1.amazonaws.com/openai/v1
24
+ endpointPresets:
25
+ - https://bedrock-runtime.us-east-1.amazonaws.com/openai/v1
26
+ - https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1
27
+ - https://bedrock-runtime.eu-west-1.amazonaws.com/openai/v1
28
+ - https://bedrock-runtime.ap-northeast-1.amazonaws.com/openai/v1
29
+
30
+ defaultModelId: global.openai.gpt-6-sol
31
+
32
+ # Auth: same two modes as aws-bedrock-mantle — a Bedrock long-term API key as
33
+ # a Bearer token, or (when empty) SigV4 with the AWS credential chain
34
+ # (service `bedrock`, region parsed from the hostname). The default placeholder
35
+ # reads AWS_BEARER_TOKEN_BEDROCK; leave the env unset and fill the key in
36
+ # Settings to store it in secrets/settings.yaml instead.
37
+ secrets:
38
+ - key: api_key
39
+ description: Bedrock long-term API key (sent as a Bearer token). Defaults to the AWS_BEARER_TOKEN_BEDROCK env var; leave empty to use the AWS credential chain (SigV4).
40
+ description_zh: Bedrock 长期 API Key(作为 Bearer 令牌发送)。默认读取 AWS_BEARER_TOKEN_BEDROCK 环境变量;留空则使用 AWS 凭证链(SigV4)。
41
+ default: <<AWS_BEARER_TOKEN_BEDROCK>>
42
+ secret: true
43
+
44
+ # capability notes (shared with the Mantle template — same Responses surface):
45
+ # - image: input only, sent as input_image data URLs.
46
+ # - promptCaching: implicit/automatic, nothing to send. Live-probed 2026-09-24:
47
+ # a ~6.3K-token prefix repeated 3x → run 1 reports cache_write_tokens and
48
+ # runs 2-3 report input_tokens_details.cached_tokens ≈ the whole prefix on
49
+ # GPT, Grok and Kimi alike. TTL isn't disclosed for implicit caching (Kimi
50
+ # K3's model card gives "at least 30 minutes" for *explicit* checkpoints,
51
+ # which MantleAgent doesn't send) — the single 5m preset is a form hint only.
52
+ # - thinking: reasoning.effort. Turning Thinking off in the form omits the
53
+ # field (model default) — it does not send `none`. Good thing too: on this
54
+ # host GPT-6 Astra 400s on `none` while every other GPT accepts it.
55
+ # - Reasoning summaries are never surfaced (output[].reasoning.summary
56
+ # empty) — same as GPT on Mantle; reasoning_tokens > 0 proves it ran.
57
+ models:
58
+ # OpenAI GPT-6 / GPT-5.6 — the same six models as aws-bedrock-mantle.yaml
59
+ # (see that file for the per-model background: 1,050,000 / 128,000 for GPT-6,
60
+ # 272,000 / 64,000 for 5.6, 2x input price past 272K). Live-probed
61
+ # 2026-09-24 on this host with invalid-value requests: every one lists
62
+ # reasoning.effort none/low/medium/high/xhigh/max in its own validation
63
+ # error and accepts text.verbosity low/medium/high — identical surface, so
64
+ # presets are copied verbatim. Pick these over the Mantle entries unless you
65
+ # need Mantle-only features (server-side web_search, background inference).
66
+ - id: global.openai.gpt-6-sol
67
+ displayName: GPT-6 Sol
68
+ maxOutputTokens: 128000
69
+ contextWindow: 1050000
70
+ capabilities:
71
+ image: true
72
+ video: false
73
+ audio: false
74
+ promptCaching:
75
+ default: 5m
76
+ ttlPresets:
77
+ - { value: 5m, label: 5min }
78
+ thinking:
79
+ mode: adaptive
80
+ defaultEnabled: true
81
+ default: medium
82
+ effortPresets:
83
+ - { value: low, label: Low }
84
+ - { value: medium, label: Medium }
85
+ - { value: high, label: High }
86
+ - { value: xhigh, label: XHigh }
87
+ - { value: max, label: Max }
88
+ verbosity:
89
+ default: low
90
+ presets:
91
+ - { value: low, label: Low }
92
+ - { value: medium, label: Medium }
93
+ - { value: high, label: High }
94
+
95
+ - id: global.openai.gpt-6-astra
96
+ displayName: GPT-6 Astra
97
+ maxOutputTokens: 128000
98
+ contextWindow: 1050000
99
+ capabilities:
100
+ image: true
101
+ video: false
102
+ audio: false
103
+ promptCaching:
104
+ default: 5m
105
+ ttlPresets:
106
+ - { value: 5m, label: 5min }
107
+ thinking:
108
+ mode: adaptive
109
+ defaultEnabled: true
110
+ default: medium
111
+ effortPresets:
112
+ - { value: low, label: Low }
113
+ - { value: medium, label: Medium }
114
+ - { value: high, label: High }
115
+ - { value: xhigh, label: XHigh }
116
+ - { value: max, label: Max }
117
+ verbosity:
118
+ default: low
119
+ presets:
120
+ - { value: low, label: Low }
121
+ - { value: medium, label: Medium }
122
+ - { value: high, label: High }
123
+
124
+ - id: global.openai.gpt-6-luna
125
+ displayName: GPT-6 Luna
126
+ maxOutputTokens: 128000
127
+ contextWindow: 1050000
128
+ capabilities:
129
+ image: true
130
+ video: false
131
+ audio: false
132
+ promptCaching:
133
+ default: 5m
134
+ ttlPresets:
135
+ - { value: 5m, label: 5min }
136
+ thinking:
137
+ mode: adaptive
138
+ defaultEnabled: true
139
+ default: medium
140
+ effortPresets:
141
+ - { value: low, label: Low }
142
+ - { value: medium, label: Medium }
143
+ - { value: high, label: High }
144
+ - { value: xhigh, label: XHigh }
145
+ - { value: max, label: Max }
146
+ verbosity:
147
+ default: low
148
+ presets:
149
+ - { value: low, label: Low }
150
+ - { value: medium, label: Medium }
151
+ - { value: high, label: High }
152
+
153
+ - id: global.openai.gpt-5.6-sol
154
+ displayName: GPT-5.6 Sol
155
+ maxOutputTokens: 64000
156
+ contextWindow: 272000
157
+ capabilities:
158
+ image: true
159
+ video: false
160
+ audio: false
161
+ promptCaching:
162
+ default: 5m
163
+ ttlPresets:
164
+ - { value: 5m, label: 5min }
165
+ thinking:
166
+ mode: adaptive
167
+ defaultEnabled: true
168
+ default: medium
169
+ effortPresets:
170
+ - { value: low, label: Low }
171
+ - { value: medium, label: Medium }
172
+ - { value: high, label: High }
173
+ - { value: xhigh, label: XHigh }
174
+ - { value: max, label: Max }
175
+ verbosity:
176
+ default: low
177
+ presets:
178
+ - { value: low, label: Low }
179
+ - { value: medium, label: Medium }
180
+ - { value: high, label: High }
181
+
182
+ - id: global.openai.gpt-5.6-terra
183
+ displayName: GPT-5.6 Terra
184
+ maxOutputTokens: 64000
185
+ contextWindow: 272000
186
+ capabilities:
187
+ image: true
188
+ video: false
189
+ audio: false
190
+ promptCaching:
191
+ default: 5m
192
+ ttlPresets:
193
+ - { value: 5m, label: 5min }
194
+ thinking:
195
+ mode: adaptive
196
+ defaultEnabled: true
197
+ default: medium
198
+ effortPresets:
199
+ - { value: low, label: Low }
200
+ - { value: medium, label: Medium }
201
+ - { value: high, label: High }
202
+ - { value: xhigh, label: XHigh }
203
+ - { value: max, label: Max }
204
+ verbosity:
205
+ default: low
206
+ presets:
207
+ - { value: low, label: Low }
208
+ - { value: medium, label: Medium }
209
+ - { value: high, label: High }
210
+
211
+ - id: global.openai.gpt-5.6-luna
212
+ displayName: GPT-5.6 Luna
213
+ maxOutputTokens: 64000
214
+ contextWindow: 272000
215
+ capabilities:
216
+ image: true
217
+ video: false
218
+ audio: false
219
+ promptCaching:
220
+ default: 5m
221
+ ttlPresets:
222
+ - { value: 5m, label: 5min }
223
+ thinking:
224
+ mode: adaptive
225
+ defaultEnabled: true
226
+ default: medium
227
+ effortPresets:
228
+ - { value: low, label: Low }
229
+ - { value: medium, label: Medium }
230
+ - { value: high, label: High }
231
+ - { value: xhigh, label: XHigh }
232
+ - { value: max, label: Max }
233
+ verbosity:
234
+ default: low
235
+ presets:
236
+ - { value: low, label: Low }
237
+ - { value: medium, label: Medium }
238
+ - { value: high, label: High }
239
+
240
+ # Grok 4.6 (Bedrock launch 2026-08-18). 500K context per the Bedrock model
241
+ # card and xAI's model page (input beyond 200K bills at 2x — cap
242
+ # context.maxTokens in agent.yaml unless that's intended). Max output isn't
243
+ # disclosed by either (the endpoint accepts any max_output_tokens without
244
+ # validation) — 64000 is the same conservative carry-over used for GPT-5.6.
245
+ # Live-probed 2026-09-24: reasoning.effort accepts ONLY low/medium/high/xhigh
246
+ # (`none` and `max` → 400 "unsupported"), so no Max preset here; verbosity
247
+ # low/medium/high, image input OK ("blue"), function_call OK. Global CRIS
248
+ # pricing $2 / $6 per 1M (cache read $0.50).
249
+ - id: global.xai.grok-4.6
250
+ displayName: Grok 4.6
251
+ maxOutputTokens: 64000
252
+ contextWindow: 500000
253
+ capabilities:
254
+ image: true
255
+ video: false
256
+ audio: false
257
+ promptCaching:
258
+ default: 5m
259
+ ttlPresets:
260
+ - { value: 5m, label: 5min }
261
+ thinking:
262
+ mode: adaptive
263
+ defaultEnabled: true
264
+ default: medium
265
+ effortPresets:
266
+ - { value: low, label: Low }
267
+ - { value: medium, label: Medium }
268
+ - { value: high, label: High }
269
+ - { value: xhigh, label: XHigh }
270
+ verbosity:
271
+ default: low
272
+ presets:
273
+ - { value: low, label: Low }
274
+ - { value: medium, label: Medium }
275
+ - { value: high, label: High }
276
+
277
+ # Kimi K3 (Bedrock launch 2026-09-18, INFERENCE_PROFILE only — no in-Region
278
+ # id). 1M context per the Bedrock model card; 131072 max output carried over
279
+ # from the native kimi.yaml (Moonshot's official default cap). Live-probed
280
+ # 2026-09-24: reasoning.effort accepts none/low/medium/high/xhigh/max (none →
281
+ # reasoning_tokens 0; the others differ only within noise on short prompts,
282
+ # so treat the ladder as advisory), text.verbosity low/medium/high, image
283
+ # input OK (64×64 blue PNG → "Blue"), function_call OK. Global CRIS pricing
284
+ # $3 / $15 per 1M (cache read $0.30, cache write $3.75). AWS notes images
285
+ # answer better when placed before text in a mixed input.
286
+ - id: global.moonshotai.kimi-k3
287
+ displayName: Kimi K3
288
+ maxOutputTokens: 131072
289
+ contextWindow: 1048576
290
+ capabilities:
291
+ image: true
292
+ video: false
293
+ audio: false
294
+ promptCaching:
295
+ default: 5m
296
+ ttlPresets:
297
+ - { value: 5m, label: 5min }
298
+ thinking:
299
+ mode: adaptive
300
+ defaultEnabled: true
301
+ default: medium
302
+ effortPresets:
303
+ - { value: low, label: Low }
304
+ - { value: medium, label: Medium }
305
+ - { value: high, label: High }
306
+ - { value: xhigh, label: XHigh }
307
+ - { value: max, label: Max }
308
+ verbosity:
309
+ default: low
310
+ presets:
311
+ - { value: low, label: Low }
312
+ - { value: medium, label: Medium }
313
+ - { value: high, label: High }
@@ -12,12 +12,17 @@ secrets:
12
12
  default: <<DEEPSEEK_API_KEY>>
13
13
  secret: true
14
14
 
15
- # Capabilities verified 2026-05-27 via live probes. DeepSeek's image_url
16
- # blocks are rejected at the JSON-deserialize layer ("unknown variant
17
- # image_url"), so image:false is correct. reasoning_effort accepts
18
- # { low, medium, high, max, xhigh } — bogus values 400 with the full
19
- # valid list in the error. Caching is automatic; cached_tokens shows up
20
- # from turn 2.
15
+ # Capabilities verified via live probes (2026-05-27, re-probed 2026-09-24).
16
+ # reasoning_effort accepts { low, medium, high, max, xhigh } — bogus values
17
+ # 400 with the full valid list in the error. Caching is automatic;
18
+ # cached_tokens shows up from turn 2.
19
+ #
20
+ # Vision is per model: `image_url` blocks are no longer rejected at the
21
+ # deserialize layer on either id, but only `deepseek-flash` (V4.1-Flash,
22
+ # native multimodal since 2026-09-10) actually sees the pixels — a 64×64
23
+ # solid-blue PNG came back "Blue" with 230 prompt tokens. `deepseek-v4-pro`
24
+ # accepts the block yet ignores it (24 prompt tokens, reasoning says
25
+ # "unsupported image" and guesses), so image:false stays on pro.
21
26
  models:
22
27
  - id: deepseek-v4-pro
23
28
  displayName: DeepSeek V4 Pro
@@ -50,7 +55,7 @@ models:
50
55
  maxOutputTokens: 65536
51
56
  contextWindow: 1000000
52
57
  capabilities:
53
- image: false
58
+ image: true
54
59
  video: false
55
60
  audio: false
56
61
  promptCaching:
@@ -4,20 +4,78 @@ displayName_zh: Mimo Token Plan(中国)
4
4
  description: Mimo Token Plan — Xiaomi's Anthropic-compatible gateway for MiMo models in China. Supports 1M context window.
5
5
  description_zh: Mimo Token Plan — 小米中国区 Anthropic 兼容网关,支持 MiMo 模型,1M 上下文窗口。
6
6
  defaultEndpoint: https://token-plan-cn.xiaomimimo.com/anthropic
7
- defaultModelId: mimo-v2.5
7
+ defaultModelId: mimo-v2.6-pro
8
8
  endpointPresets:
9
9
  - https://token-plan-cn.xiaomimimo.com/anthropic
10
10
 
11
11
  secrets:
12
12
  - key: api_key
13
- description: Mimo Token Plan API Key. Format starts with tp-.
14
- description_zh: Mimo Token Plan API Key,tp- 开头
13
+ description: Mimo Token Plan API Key. Format starts with tp- (individual) or ttp- (team).
14
+ description_zh: Mimo Token Plan API Key,tp-(个人)或 ttp-(团队)开头
15
15
  default: <<MIMO_API_KEY>>
16
16
  secret: true
17
17
 
18
+ # MiMo V2.6 (2026-09) replaces V2.5: official model list (mimo.mi.com/llms-full.txt)
19
+ # gives `mimo-v2.6-pro` / `mimo-v2.6-flash` 1M context, 128K (131072) max
20
+ # output, full-modal understanding (image input on both — V2.5 only had it on
21
+ # the non-pro tier). `mimo-v2.6-pro-ultraspeed` is "contact us" only, not
22
+ # listed. `mimo-v2.5-pro` / `mimo-v2.5` are deprecated 2026-10-21 10:00 CST —
23
+ # kept at the tail (tagged) so agents still on them keep their registry
24
+ # capabilities until the cutoff; drop both after that date. Thinking shape unchanged from V2.5 — Anthropic-protocol
25
+ # `thinking.type` enabled/disabled, on by default; the docs say effort levels
26
+ # are not differentiated yet, so the adaptive presets below are a UI knob the
27
+ # gateway accepts, not a real intensity dial. Not live-probed (no valid key at
28
+ # hand on 2026-09-24) — specs are from the official docs only.
18
29
  models:
30
+ - id: mimo-v2.6-pro
31
+ displayName: MiMo v2.6 Pro
32
+ maxOutputTokens: 131072
33
+ contextWindow: 1048576
34
+ capabilities:
35
+ image: true
36
+ video: false
37
+ audio: false
38
+ promptCaching:
39
+ default: 1h
40
+ ttlPresets:
41
+ - { value: 5m, label: 5min }
42
+ - { value: 1h, label: 1hour }
43
+ thinking:
44
+ mode: adaptive
45
+ defaultEnabled: true
46
+ default: high
47
+ effortPresets:
48
+ - { value: low, label: Low }
49
+ - { value: medium, label: Medium }
50
+ - { value: high, label: High }
51
+ - { value: max, label: Max }
52
+
53
+ - id: mimo-v2.6-flash
54
+ displayName: MiMo v2.6 Flash
55
+ maxOutputTokens: 131072
56
+ contextWindow: 1048576
57
+ capabilities:
58
+ image: true
59
+ video: false
60
+ audio: false
61
+ promptCaching:
62
+ default: 1h
63
+ ttlPresets:
64
+ - { value: 5m, label: 5min }
65
+ - { value: 1h, label: 1hour }
66
+ thinking:
67
+ mode: adaptive
68
+ defaultEnabled: true
69
+ default: high
70
+ effortPresets:
71
+ - { value: low, label: Low }
72
+ - { value: medium, label: Medium }
73
+ - { value: high, label: High }
74
+ - { value: max, label: Max }
75
+
76
+ # --- deprecated 2026-10-21 10:00 CST (official notice) — remove after cutoff ---
19
77
  - id: mimo-v2.5-pro
20
- displayName: MiMo v2.5 Pro
78
+ displayName: MiMo v2.5 Pro (deprecated 2026-10-21)
21
79
  maxOutputTokens: 131072
22
80
  contextWindow: 1048576
23
81
  capabilities:
@@ -40,7 +98,7 @@ models:
40
98
  - { value: max, label: Max }
41
99
 
42
100
  - id: mimo-v2.5
43
- displayName: MiMo v2.5
101
+ displayName: MiMo v2.5 (deprecated 2026-10-21)
44
102
  maxOutputTokens: 131072
45
103
  contextWindow: 1048576
46
104
  capabilities: