@turmind/halo 1.5.11 → 1.6.1
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 +2 -2
- package/admin-out/404.html +1 -1
- package/admin-out/_next/static/chunks/{941-4719e7343b54b9bd.js → 147-d4200c70445aabb6.js} +1 -1
- package/admin-out/_next/static/chunks/58.d26b1c4f14404226.js +1 -0
- package/admin-out/_next/static/chunks/989-ddba0eb72566da23.js +1 -0
- package/admin-out/_next/static/chunks/app/{layout-5ec6c5f713a8562b.js → layout-ea161287d934ba96.js} +1 -1
- package/admin-out/_next/static/chunks/app/page-be47983ba8ff20b1.js +1 -0
- package/admin-out/_next/static/chunks/webpack-74f577c1b094f942.js +1 -0
- package/admin-out/_next/static/css/3b4dcd0ac6b8eae8.css +1 -0
- package/admin-out/_next/static/css/7b736202f0b1dbfd.css +1 -0
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +6 -5
- package/bundled-docs/design/a2a.md +286 -0
- package/bundled-docs/design/agent.md +6 -4
- package/bundled-docs/design/agentcore.md +194 -122
- package/bundled-docs/design/architecture.md +2 -2
- package/bundled-docs/design/canvas-extensions.md +59 -12
- package/bundled-docs/design/cron.md +22 -11
- package/bundled-docs/design/observability.md +12 -4
- package/bundled-docs/design/prompt-system.md +10 -5
- package/bundled-docs/design/relay.md +1 -1
- package/bundled-docs/design/session.md +7 -2
- package/bundled-docs/design/storage.md +40 -10
- package/bundled-docs/design/web.md +5 -56
- package/bundled-docs/design/ws.md +1 -1
- package/bundled-docs/dev/add-model-provider.md +15 -9
- package/bundled-docs/dev/api.md +93 -14
- package/bundled-docs/dev/deploy.md +5 -1
- package/bundled-docs/dev/desktop-packaging.md +11 -5
- package/bundled-docs/dev/env.md +9 -5
- package/bundled-docs/dev/previews.md +26 -0
- package/bundled-docs/dev/tools.md +93 -3
- package/bundled-docs/guide/agents.md +6 -6
- package/bundled-docs/guide/channels/web.md +0 -26
- package/bundled-docs/guide/cli.md +45 -8
- package/bundled-docs/guide/delegation-and-access.md +3 -2
- package/bundled-docs/guide/skills.md +13 -7
- package/bundled-docs/guide/workspace.md +1 -1
- package/bundled-docs/requirements/agent.md +6 -1
- package/bundled-docs/requirements/chat.md +9 -3
- package/bundled-docs/requirements/command.md +4 -0
- package/bundled-docs/requirements/editor.md +28 -8
- package/bundled-docs/requirements/skill.md +15 -9
- package/bundled-docs/requirements/workspace.md +6 -0
- package/dist/index.js +6081 -3013
- package/package.json +1 -1
- package/templates/models/anthropic.yaml +109 -13
- package/templates/models/aws-bedrock-claude-invoke.yaml +76 -11
- package/templates/models/aws-bedrock-mantle.yaml +60 -28
- package/templates/models/aws-bedrock-openai.yaml +146 -29
- package/templates/models/deepseek.yaml +7 -3
- package/templates/models/doubao.yaml +72 -20
- package/templates/models/hunyuan.yaml +74 -14
- package/templates/models/kimi.yaml +63 -3
- package/templates/models/mimo-token-plan-china.yaml +9 -1
- package/templates/models/minimax.yaml +9 -3
- package/templates/models/openai.yaml +120 -17
- package/templates/models/qwen.yaml +90 -4
- package/templates/models/zhipu.yaml +9 -1
- package/templates/prompts/all/RUNTIME.md +2 -1
- package/templates/schema.sql +1 -1
- package/templates/skills/cron/SKILL.md +38 -2
- package/templates/skills/cron/manage-cron.py +115 -7
- package/templates/skills/send-file/SKILL.md +1 -1
- package/templates/skills/send-file/a2a.md +13 -0
- package/templates/skills/skill/SKILL.md +22 -11
- package/templates/skills/workspace/share.md +5 -2
- package/templates/skills/workspace/stage.py +51 -14
- package/admin-out/_next/static/chunks/220.7566bc89f3d98993.js +0 -1
- package/admin-out/_next/static/chunks/989-86b0f677f69ccf3b.js +0 -1
- package/admin-out/_next/static/chunks/app/page-4792aa1c79f7e7f1.js +0 -1
- package/admin-out/_next/static/chunks/webpack-efd27999305b080a.js +0 -1
- package/admin-out/_next/static/css/97f3ac570664d044.css +0 -3
- /package/admin-out/_next/static/{GO2W5JoiC46FIxLjtFAXx → j6buZnQDPISEFgtAuTGyl}/_buildManifest.js +0 -0
- /package/admin-out/_next/static/{GO2W5JoiC46FIxLjtFAXx → j6buZnQDPISEFgtAuTGyl}/_ssgManifest.js +0 -0
|
@@ -20,17 +20,20 @@ button is hidden in this mode (`showMaximize={false}`).
|
|
|
20
20
|
|
|
21
21
|
| Operation | API |
|
|
22
22
|
|---|---|
|
|
23
|
-
| List | `GET /api/skills?projectId=xxx` — returns
|
|
24
|
-
| Create | `POST /api/skills` (body: name, description, scope, projectId) |
|
|
25
|
-
| Delete | `DELETE /api/skills/:id?scope=...&projectId=...` |
|
|
26
|
-
| Toggle disabled | `PATCH /api/skills/:id/toggle?scope=...&projectId=...` → `{ ok, disabled }` |
|
|
23
|
+
| List | `GET /api/skills?projectId=xxx` — returns workspace, global AND extension skills as separate entries (no merge); entries shadowed by a higher-precedence same-id skill are flagged `overridden: true`; extension entries carry `extId` |
|
|
24
|
+
| Create | `POST /api/skills` (body: name, description, scope, projectId) — `scope: 'extension'` → 403 |
|
|
25
|
+
| Delete | `DELETE /api/skills/:id?scope=...&projectId=...` — `scope=extension` → 403 |
|
|
26
|
+
| Toggle disabled | `PATCH /api/skills/:id/toggle?scope=...&projectId=...` → `{ ok, disabled }` (all three scopes) |
|
|
27
27
|
|
|
28
|
-
### Scope (Global / Workspace)
|
|
28
|
+
### Scope (Global / Workspace / Extension)
|
|
29
|
+
|
|
30
|
+
Runtime precedence for one id: workspace > global > extension. The higher folder wins wholly.
|
|
29
31
|
|
|
30
32
|
| Scope | Path | Notes |
|
|
31
33
|
|---|---|---|
|
|
32
|
-
| Global | `~/.halo/global/skills/<id>/` | Shared across projects |
|
|
33
|
-
| Workspace | `<project>/.halo/skills/<id>/` | Wins over a same-id global skill at runtime |
|
|
34
|
+
| Global | `~/.halo/global/skills/<id>/` | Shared across projects; wins over a same-id extension skill |
|
|
35
|
+
| Workspace | `<project>/.halo/skills/<id>/` | Wins over a same-id global or extension skill at runtime |
|
|
36
|
+
| Extension | `~/.halo/global/extensions/<extId>/skills/<id>/` | Shipped by an installed extension (valid manifest; id `<extId>` or `<extId>-*`). Read-only; removed with the extension. See [design/canvas-extensions.md → Extension skills](../design/canvas-extensions.md#extension-skills) |
|
|
34
37
|
|
|
35
38
|
### Management UI
|
|
36
39
|
|
|
@@ -38,8 +41,9 @@ The Skills sidebar mirrors the Agents sidebar layout:
|
|
|
38
41
|
- Two collapsible sections — **Global** (globe icon) and **Workspace** (folder icon, shown only while a workspace is open). Expanded state persists in `halo_skills_expandedScopes` (localStorage)
|
|
39
42
|
- Each section header has its own **+ button** — scope is implicit from which button is clicked, no pop-up picker
|
|
40
43
|
- Creating a name that collides with the other scope prompts a one-time confirmation explaining the runtime override
|
|
41
|
-
- Items overridden by a
|
|
42
|
-
-
|
|
44
|
+
- Items overridden by a higher-precedence skill are rendered dimmed with "overridden" subtitle
|
|
45
|
+
- A third section, **Extensions** (puzzle icon), is shown only when an installed extension ships skills. It has no + button and no trash button; the toggle stays. The subtitle reads "from extension X". Clicking one opens a read-only file view (badge "from extension · read-only" and a hint to copy the folder into global / workspace) instead of the mini workspace editor
|
|
46
|
+
- Each row has a toggle switch (shown on hover while enabled, always visible once disabled) and a hover trash button. Disabled skills are rendered dimmed with "disabled" subtitle. Disabled state is stored per workspace in the `disabled_items` table of `halo.db` (not in SKILL.md frontmatter). Global, workspace and extension skills can each be toggled per workspace (rows keyed `scope:id`, e.g. `extension:<id>`). Disabled skills are excluded from system prompt injection, activate_skill tool, agent form skill picker, and `/workspace share` export.
|
|
43
47
|
- Selection uses a composite `id:scope` key (localStorage `halo_skills_selectedKey`) so the same id in different scopes can coexist
|
|
44
48
|
|
|
45
49
|
### Auto-sync behaviour (workspace vs. global)
|
|
@@ -54,6 +58,8 @@ The Skills sidebar and any open mini-workspace editor stay in sync with the file
|
|
|
54
58
|
|
|
55
59
|
So when an agent (or the `skill` skill) creates a **global** skill, the Skills sidebar won't reflect it until the user refocuses the browser window. The `skill` skill documents this so agents can warn the user.
|
|
56
60
|
|
|
61
|
+
Extension skills follow the extension, not a file watcher. Installing or uninstalling an extension broadcasts `extension:changed`, which bumps `skill-bus`, so the sidebar and the agent form's skill picker refetch live. Edits inside an installed extension's `skills/` push nothing (show on focus refresh); reinstalling the extension is how a change ships.
|
|
62
|
+
|
|
57
63
|
### SKILL.md protocol
|
|
58
64
|
|
|
59
65
|
```markdown
|
|
@@ -44,6 +44,12 @@ The Source Control entry is hidden in workspaces that are not git repos.
|
|
|
44
44
|
|
|
45
45
|
Below Settings sits the quick-toggles entry (network status, finish notification, and on desktop pin / keep-screen-awake) — see [explorer.md → Desktop windows](explorer.md#desktop-windows-multi-window).
|
|
46
46
|
|
|
47
|
+
### Hover drawer
|
|
48
|
+
The bar is icon-only (48px) at rest. Resting the **mouse** on it for 300 ms widens it into a 240px drawer that shows each view's name plus a one-line description (the quick-toggles entry too); leaving closes it after a 200 ms grace, and moving back in within that grace keeps it open. The view icons no longer carry native tooltips.
|
|
49
|
+
- **No reflow**: the bar is an absolute layer over a fixed 48px slot, so the drawer overlays the sidebar / main area instead of pushing them.
|
|
50
|
+
- **Mouse only**: touch and pen never open it, and neither do touch-primary devices — a tap still just switches view.
|
|
51
|
+
- **Stays open** while the quick-toggles panel (anchored to the drawer's right edge) is up. **Esc** or picking a view closes it.
|
|
52
|
+
|
|
47
53
|
## Resizable panels
|
|
48
54
|
- **Sidebar width**: drag between sidebar and main content
|
|
49
55
|
- **Bottom panel height**: drag between main content and bottom panel
|