@turmind/halo 1.6.4 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +18 -9
  2. package/admin-out/404.html +1 -1
  3. package/admin-out/_next/static/chunks/87-6a2716c98a819c4e.js +1 -0
  4. package/admin-out/_next/static/chunks/989-066a874961bd519f.js +1 -0
  5. package/admin-out/_next/static/chunks/app/page-812bcbb46db628b6.js +1 -0
  6. package/admin-out/_next/static/css/e890aa0d13e94290.css +1 -0
  7. package/admin-out/index.html +1 -1
  8. package/admin-out/index.txt +5 -5
  9. package/bundled-docs/design/a2a.md +1 -1
  10. package/bundled-docs/design/canvas-extensions.md +38 -7
  11. package/bundled-docs/design/cron.md +13 -5
  12. package/bundled-docs/design/feishu.md +2 -0
  13. package/bundled-docs/design/halo-city.md +18 -149
  14. package/bundled-docs/design/slack.md +2 -2
  15. package/bundled-docs/design/storage.md +6 -2
  16. package/bundled-docs/design/stt-local.md +106 -0
  17. package/bundled-docs/design/web.md +1 -1
  18. package/bundled-docs/design/wecom.md +1 -1
  19. package/bundled-docs/dev/add-model-provider.md +1 -1
  20. package/bundled-docs/dev/api.md +13 -10
  21. package/bundled-docs/dev/desktop-packaging.md +37 -9
  22. package/bundled-docs/dev/env.md +1 -1
  23. package/bundled-docs/requirements/chat.md +8 -0
  24. package/bundled-docs/requirements/workspace.md +4 -0
  25. package/dist/index.js +1509 -604
  26. package/package.json +2 -1
  27. package/templates/models/mimo-token-plan-china.yaml +3 -55
  28. package/templates/skills/cron/SKILL.md +2 -1
  29. package/templates/skills/cron/manage-cron.py +2 -1
  30. package/admin-out/_next/static/chunks/147-d4200c70445aabb6.js +0 -1
  31. package/admin-out/_next/static/chunks/989-5d7743ff56d00dd7.js +0 -1
  32. package/admin-out/_next/static/chunks/app/page-8881b4f87a3d5ae8.js +0 -1
  33. package/admin-out/_next/static/css/3b4dcd0ac6b8eae8.css +0 -1
  34. /package/admin-out/_next/static/{kfp1cMc36J6hjZ06L9mm- → Yc05ORrVk5IE9P1Gd8Ojh}/_buildManifest.js +0 -0
  35. /package/admin-out/_next/static/{kfp1cMc36J6hjZ06L9mm- → Yc05ORrVk5IE9P1Gd8Ojh}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turmind/halo",
3
- "version": "1.6.4",
3
+ "version": "1.6.6",
4
4
  "description": "Halo — multi-agent collaborative workspace. CLI + TUI + HTTP/WS server in one package.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -55,6 +55,7 @@
55
55
  "qrcode": "^1.5.4",
56
56
  "react": "^19.2.5",
57
57
  "react-dom": "^19.2.5",
58
+ "sherpa-onnx-node": "1.13.8",
58
59
  "simple-git": "^3.27.0",
59
60
  "ws": "^8.21.3",
60
61
  "yaml": "^2.8.3",
@@ -1,6 +1,6 @@
1
1
  id: mimo-token-plan-china
2
2
  runtime: anthropic-messages
3
- revision: 2026101002
3
+ revision: 2026101401
4
4
  displayName: Xiaomi MiMo
5
5
  displayName_zh: 小米 MiMo
6
6
  description: Xiaomi MiMo via its Anthropic-compatible gateway — Token Plan (China / Singapore / Europe clusters) or pay-as-you-go. Supports 1M context window.
@@ -28,9 +28,8 @@ secrets:
28
28
  # gives `mimo-v2.6-pro` / `mimo-v2.6-flash` 1M context, 128K (131072) max
29
29
  # output, full-modal understanding (image input on both — V2.5 only had it on
30
30
  # the non-pro tier). `mimo-v2.6-pro-ultraspeed` is "contact us" only, not
31
- # listed. `mimo-v2.5-pro` / `mimo-v2.5` are deprecated 2026-10-21 10:00 CST —
32
- # kept at the tail (tagged) so agents still on them keep their registry
33
- # capabilities until the cutoff; drop both after that date. Thinking shape unchanged from V2.5 — Anthropic-protocol
31
+ # listed. `mimo-v2.5-pro` / `mimo-v2.5` (officially retired 2026-10-21) were
32
+ # dropped from this list on 2026-10-14. Thinking shape unchanged from V2.5 — Anthropic-protocol
34
33
  # `thinking.type` enabled/disabled, on by default; the docs say effort levels
35
34
  # are not differentiated yet, so the adaptive presets below are a UI knob the
36
35
  # gateway accepts, not a real intensity dial. Not live-probed (no valid key at
@@ -85,54 +84,3 @@ models:
85
84
  - { value: medium, label: Medium }
86
85
  - { value: high, label: High }
87
86
  - { value: max, label: Max }
88
-
89
- # --- deprecated 2026-10-21 10:00 CST (official notice) — remove after cutoff ---
90
- - id: mimo-v2.5-pro
91
- displayName: MiMo v2.5 Pro (deprecated 2026-10-21)
92
- maxOutputTokens: 131072
93
- contextWindow: 272000
94
- maxContextWindow: 1000000
95
- compressAt: 0.9
96
- capabilities:
97
- image: false
98
- video: false
99
- audio: false
100
- promptCaching:
101
- default: 1h
102
- ttlPresets:
103
- - { value: 5m, label: 5min }
104
- - { value: 1h, label: 1hour }
105
- thinking:
106
- mode: adaptive
107
- defaultEnabled: true
108
- default: high
109
- effortPresets:
110
- - { value: low, label: Low }
111
- - { value: medium, label: Medium }
112
- - { value: high, label: High }
113
- - { value: max, label: Max }
114
-
115
- - id: mimo-v2.5
116
- displayName: MiMo v2.5 (deprecated 2026-10-21)
117
- maxOutputTokens: 131072
118
- contextWindow: 272000
119
- maxContextWindow: 1000000
120
- compressAt: 0.9
121
- capabilities:
122
- image: true
123
- video: false
124
- audio: false
125
- promptCaching:
126
- default: 1h
127
- ttlPresets:
128
- - { value: 5m, label: 5min }
129
- - { value: 1h, label: 1hour }
130
- thinking:
131
- mode: adaptive
132
- defaultEnabled: true
133
- default: high
134
- effortPresets:
135
- - { value: low, label: Low }
136
- - { value: medium, label: Medium }
137
- - { value: high, label: High }
138
- - { value: max, label: Max }
@@ -128,7 +128,8 @@ tasks that don't need memory ("每天抓一次行情发给我", a fixed report).
128
128
  Excludes `--session`. On `update`: `--stateless on` / `--stateless off`
129
129
  (clear `--session ""` first if one is set). Only the newest 10 runs are kept;
130
130
  an older run's session is deleted with it (unless someone continued chatting
131
- in it). Deleting the job deletes them too. `get` / `list` show
131
+ in it). After `delete`, the server clears the job's run history and these
132
+ sessions within about 10 seconds (a continued session stays). `get` / `list` show
132
133
  `effective_session_id: null` for a stateless job.
133
134
 
134
135
  **Folder (`--dir`, optional)** — the run focuses on a workspace sub-folder:
@@ -551,11 +551,12 @@ def _toggle_enabled(job_id: str, on: bool):
551
551
 
552
552
 
553
553
  def cmd_delete(args):
554
+ # Job row only: the server's reconcile pass deletes the job's cron_runs
555
+ # rows, and with them each stateless run's session (runner.ts deleteOrphanRuns).
554
556
  conn = open_db()
555
557
  cur = conn.execute('DELETE FROM cron_jobs WHERE id = ?', (args.id,))
556
558
  if cur.rowcount == 0:
557
559
  die(f'job {args.id} not found', 2)
558
- conn.execute('DELETE FROM cron_runs WHERE job_id = ?', (args.id,))
559
560
  conn.commit()
560
561
  print(json.dumps({'id': args.id, 'deleted': True}, ensure_ascii=False))
561
562