zidane 5.4.2 → 5.5.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.
Files changed (86) hide show
  1. package/README.md +45 -1
  2. package/dist/{agent-DxBoKDba.d.ts → agent-CvImMxMQ.d.ts} +256 -5
  3. package/dist/agent-CvImMxMQ.d.ts.map +1 -0
  4. package/dist/chat.d.ts +137 -16
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +3 -2
  7. package/dist/contexts/docker.d.ts +1 -1
  8. package/dist/contexts-DhmMlT2W.js +472 -0
  9. package/dist/contexts-DhmMlT2W.js.map +1 -0
  10. package/dist/contexts.d.ts +3 -3
  11. package/dist/contexts.js +1 -1
  12. package/dist/{errors-Byb0F8B9.js → errors-CDwtPIMX.js} +4 -2
  13. package/dist/{errors-Byb0F8B9.js.map → errors-CDwtPIMX.js.map} +1 -1
  14. package/dist/{index-BOtXdQkW.d.ts → index-B0uc2C5x.d.ts} +9 -3
  15. package/dist/index-B0uc2C5x.d.ts.map +1 -0
  16. package/dist/{index-BiO_5Hm4.d.ts → index-CbS75MD3.d.ts} +2 -2
  17. package/dist/index-CbS75MD3.d.ts.map +1 -0
  18. package/dist/{index-B2VOOijU.d.ts → index-CtXksgqb.d.ts} +73 -4
  19. package/dist/index-CtXksgqb.d.ts.map +1 -0
  20. package/dist/index.d.ts +6 -6
  21. package/dist/index.js +11 -11
  22. package/dist/{interpolate-ERgZUxgg.js → interpolate-BaaKaKzN.js} +156 -19
  23. package/dist/interpolate-BaaKaKzN.js.map +1 -0
  24. package/dist/{login-CJbeAadS.js → login-iTy-0wYz.js} +3 -3
  25. package/dist/{login-CJbeAadS.js.map → login-iTy-0wYz.js.map} +1 -1
  26. package/dist/{mcp-DhmmJfxK.js → mcp-CNUbvbsy.js} +2 -2
  27. package/dist/{mcp-DhmmJfxK.js.map → mcp-CNUbvbsy.js.map} +1 -1
  28. package/dist/mcp.d.ts +1 -1
  29. package/dist/mcp.js +1 -1
  30. package/dist/{messages-D0xT979U.js → messages-fTR19Ga6.js} +2 -2
  31. package/dist/{messages-D0xT979U.js.map → messages-fTR19Ga6.js.map} +1 -1
  32. package/dist/{presets-MCcvxiNT.js → presets-h6UWhghO.js} +3 -2
  33. package/dist/presets-h6UWhghO.js.map +1 -0
  34. package/dist/presets.d.ts +2 -2
  35. package/dist/presets.js +1 -1
  36. package/dist/{providers-x3LZByR5.js → providers-G0VBZK9j.js} +4 -4
  37. package/dist/{providers-x3LZByR5.js.map → providers-G0VBZK9j.js.map} +1 -1
  38. package/dist/providers.d.ts +1 -1
  39. package/dist/providers.js +2 -2
  40. package/dist/session/sqlite.d.ts +1 -1
  41. package/dist/session/sqlite.d.ts.map +1 -1
  42. package/dist/session/sqlite.js +2 -1
  43. package/dist/session/sqlite.js.map +1 -1
  44. package/dist/{session-BHZwxmfr.js → session-CbkiJDlH.js} +3 -2
  45. package/dist/session-CbkiJDlH.js.map +1 -0
  46. package/dist/session.d.ts +1 -1
  47. package/dist/session.js +2 -2
  48. package/dist/skills.d.ts +2 -2
  49. package/dist/skills.js +1 -1
  50. package/dist/{tools-BNfyY14s.js → tools-D_icxa-V.js} +813 -284
  51. package/dist/tools-D_icxa-V.js.map +1 -0
  52. package/dist/tools.d.ts +3 -3
  53. package/dist/tools.js +2 -2
  54. package/dist/{transcript-anchors-DonKvoh4.d.ts → transcript-anchors-3FFw2xuk.d.ts} +98 -15
  55. package/dist/transcript-anchors-3FFw2xuk.d.ts.map +1 -0
  56. package/dist/tui.d.ts +29 -5
  57. package/dist/tui.d.ts.map +1 -1
  58. package/dist/tui.js +879 -70
  59. package/dist/tui.js.map +1 -1
  60. package/dist/{turn-operations-TKvy0q29.js → turn-operations-CtgBlBHn.js} +412 -125
  61. package/dist/turn-operations-CtgBlBHn.js.map +1 -0
  62. package/dist/types-IcokUOyC.js.map +1 -1
  63. package/dist/types-KukEp-mi.d.ts +253 -0
  64. package/dist/types-KukEp-mi.d.ts.map +1 -0
  65. package/dist/types.d.ts +4 -4
  66. package/dist/types.js +1 -1
  67. package/docs/ARCHITECTURE.md +37 -3
  68. package/docs/CHAT.md +4 -2
  69. package/docs/RUN_IN_BACKGROUND.md +612 -0
  70. package/docs/SKILL.md +83 -14
  71. package/docs/TUI.md +40 -2
  72. package/package.json +4 -4
  73. package/dist/agent-DxBoKDba.d.ts.map +0 -1
  74. package/dist/contexts-BwiHIr2w.js +0 -129
  75. package/dist/contexts-BwiHIr2w.js.map +0 -1
  76. package/dist/index-B2VOOijU.d.ts.map +0 -1
  77. package/dist/index-BOtXdQkW.d.ts.map +0 -1
  78. package/dist/index-BiO_5Hm4.d.ts.map +0 -1
  79. package/dist/interpolate-ERgZUxgg.js.map +0 -1
  80. package/dist/presets-MCcvxiNT.js.map +0 -1
  81. package/dist/session-BHZwxmfr.js.map +0 -1
  82. package/dist/tools-BNfyY14s.js.map +0 -1
  83. package/dist/transcript-anchors-DonKvoh4.d.ts.map +0 -1
  84. package/dist/turn-operations-TKvy0q29.js.map +0 -1
  85. package/dist/types-Ce78ds4h.d.ts +0 -88
  86. package/dist/types-Ce78ds4h.d.ts.map +0 -1
package/docs/SKILL.md CHANGED
@@ -298,7 +298,7 @@ Hooks fire at every lifecycle point via [hookable](https://github.com/unjs/hooka
298
298
  | `skills:resolve` | Once per agent, after discovery (lazy on first `warmup()` / `run()` / `activateSkill()`, eager when `eager: true`) | — | `skills` |
299
299
  | `skills:catalog` | Once per agent, after catalog build (same timing as `skills:resolve`) | **yes** (`catalog`) | `catalog, skills` |
300
300
  | `skills:activate` | Skill activated (via `skills_use` / `activateSkill` / session resume) | — | `skill, via` (`'model' \| 'explicit' \| 'resume'`) |
301
- | `skills:deactivate` | Skill deactivated | — | `skill, reason` (`'run-end' \| 'explicit' \| 'reset'`) |
301
+ | `skills:deactivate` | Skill deactivated | — | `skill, reason` (`'run-end' \| 'explicit' \| 'reset' \| 'model'`) — `'model'` fires when the model calls `skills_use({ mode: 'deactivate' })` to release an `allowed-tools` restriction it ran into |
302
302
  | `mcp:bootstrap:start` | Per MCP server, before connect + listTools | — | `name, transport` |
303
303
  | `mcp:bootstrap:end` | Per MCP server, after connect attempt (always fires) | — | `name, transport, durationMs, ok` + (`toolCount, lazy?, cached?` \| `error`) |
304
304
  | `mcp:connect` | Per MCP server after successful bootstrap (lazy-connect: after first call) | — | `name, transport, tools, lazy?` |
@@ -329,6 +329,9 @@ Hooks fire at every lifecycle point via [hookable](https://github.com/unjs/hooka
329
329
  | `tool:transform` | After tool result | **yes** (`result`, `isError`) | `+ result: string \| ToolResultContent[], isError, outputBytes: number` |
330
330
  | `tool:after` | Tool complete | — | `+ result: string \| ToolResultContent[], outputBytes: number, runToolCounts` |
331
331
  | `tool:error` | Tool error | **yes** (`result?`) | `+ error` — mutate `result` to substitute the payload sent back to the model |
332
+ | `tool:cancelled` | Per-call cancel via `agent.cancelTool(callId, reason?)` (typically a TUI "cancel this tool" affordance) | — | `+ reason: string, runToolCounts` — wire result is the canonical `TOOL_USE_CANCELLED_MESSAGE` with `isError: true`; `tool:transform` + `tool:after` do **not** fire for the cancelled call |
333
+ | `background:start` | Background task spawned via `shell({ run_in_background: true })` | — | `taskId, pid, command, cwd, outputPath, startedAt` — observational; subscribe for telemetry / "task started" toasts |
334
+ | `background:exit` | Background task terminated (natural exit, `shell_kill`, or `agent.destroy()` teardown) | — | `taskId, status: 'exited' \| 'killed', exitCode, signal?, outputPath, durationMs, command` — fires at-most-once per task; the agent's internal listener queues a `<task-notification>` for injection on the next user-turn |
332
335
  | `usage` | Per-turn usage | — | `turn, turnId, usage, totalIn, totalOut` |
333
336
  | `output` | Structured output extracted | — | `output, schema` |
334
337
  | `budget:exceeded` | Per-turn tool-output bytes over `behavior.toolOutputBudget` | — | `turn, turnId, bytes, budget` |
@@ -366,7 +369,8 @@ Same three fields land on `ToolContext` (visible to the tool body via `ctx.runId
366
369
  child:stream:text / child:stream:thinking / child:stream:end
367
370
  child:tool:gate / child:mcp:tool:gate ← mutable: block/reason/result propagate to the child
368
371
  child:tool:transform ← mutable: parent can rewrite the child's tool_result
369
- child:tool:before / child:tool:after / child:tool:error
372
+ child:tool:before / child:tool:after / child:tool:error / child:tool:cancelled
373
+ child:background:start / child:background:exit ← bubbled from subagent's background tasks
370
374
  child:turn:after
371
375
  ```
372
376
 
@@ -408,17 +412,76 @@ agent.hooks.hook('context:transform', (ctx) => {
408
412
  ## Agent State and Control
409
413
 
410
414
  ```ts
411
- agent.isRunning // boolean
412
- agent.turns // SessionTurn[]
413
- agent.steer('new focus') // mid-run, between tool calls
414
- agent.followUp('next') // queue after current run
415
- agent.abort() // cancel
416
- agent.reset() // clear turns + queues
417
- await agent.warmup() // pre-connect MCP (idempotent)
415
+ agent.isRunning // boolean
416
+ agent.turns // SessionTurn[]
417
+ agent.steer('new focus') // mid-run, between tool calls
418
+ agent.followUp('next') // queue after current run
419
+ agent.abort() // cancel the whole run
420
+ agent.cancelTool(callId) // cancel a single in-flight tool; siblings keep running
421
+ agent.reset() // clear turns + queues
422
+ await agent.warmup() // pre-connect MCP (idempotent)
418
423
  await agent.waitForIdle()
419
- await agent.destroy() // clean up execution + MCP
424
+ await agent.destroy() // clean up execution + MCP
420
425
  ```
421
426
 
427
+ `cancelTool` returns `true` when a live call was flipped, `false` otherwise (idempotent). The matching call's `ctx.signal` aborts, `tool:cancelled` fires, and the wire result becomes `TOOL_USE_CANCELLED_MESSAGE` with `isError: true` — other parallel calls in the same batch keep running, and the assistant turn closes normally on the next batch boundary. Distinguished from `abort()` (whole-run abort, batch-layer `INTERRUPT_MESSAGE_FOR_TOOL_USE`) and `TOOL_USE_SKIPPED_MESSAGE` (steered out) so consumers can split the three causes by string match.
428
+
429
+ ## Background tasks
430
+
431
+ The `shell` tool accepts an optional `run_in_background: true` flag that returns immediately with a task handle (`bash_<n>`) instead of blocking the model's turn. The companion `shell_kill` tool terminates a running task. The framework owns the lifecycle:
432
+
433
+ ```ts
434
+ import { createAgent, resolveTasksDir } from 'zidane'
435
+
436
+ const tasksDir = resolveTasksDir({ userDir: '~/.zidane', sessionId: session.id })
437
+ const agent = createAgent({
438
+ provider,
439
+ session,
440
+ behavior: { tasksDir }, // host opt-in for background mode
441
+ // ... rest of options
442
+ })
443
+ ```
444
+
445
+ **Disabling background mode.** Background mode is auto-disabled at the schema level (the `run_in_background` field is dropped from the `shell` tool's input schema, and the background-mode paragraphs are dropped from its description) when either:
446
+
447
+ - `behavior.tasksDir` is **unset** — the host hasn't wired the log dir, so the model would only ever get an error if it tried. The auto-disable means the model never sees the flag in the first place; no wasted turns.
448
+ - `behavior.disableBackgroundTasks: true` is set — explicit opt-out for hosts who have `tasksDir` for some other reason (legacy fixture, integration test) but don't want the model spawning background work this run.
449
+
450
+ The path is per-session by convention (`<userDir>/<sessionId>/tasks/`) so a session delete cleans up log files alongside other session state.
451
+
452
+ The auto-rewrite only fires for the identity-equal framework `shell` tool — hosts who register a custom shell-named tool keep ownership of their spec. For explicit control, hosts can import `createShellTool({ allowBackground })` from `zidane` and register the tailored variant directly.
453
+
454
+ **Task lifecycle.**
455
+
456
+ 1. Model calls `shell({ command: 'npm run build', run_in_background: true })`.
457
+ 2. The shell tool spawns a process group via `ExecutionContext.execBackground`, opens `<tasksDir>/<task-id>.<context-timestamp>.log` (append mode), pipes stdout+stderr into it, and returns immediately with the task id + pid + log path. `background:start` fires. The `<context-timestamp>` segment (`YYYYMMDD-HHMMSS-mmm`, UTC, shared across every task in the same `ExecutionContext` instance) keeps two contexts on the same session from ever resolving to the same log file — the model-facing task id (`bash_1`) stays short.
458
+ 3. The process exits naturally OR via `shell_kill({ task_id })`. `background:exit` fires exactly once, with `status: 'exited' | 'killed'`.
459
+ 4. The agent's internal `background:exit` listener queues a `TaskExitInfo` (keyed by `taskId` in a `Map`).
460
+ 5. On the NEXT `agent.run()`, the queue drains. Each entry becomes a leading `text` content block on the seeded user turn carrying `<task-notification>…</task-notification>` XML — the model reads task completions inline with its prompt, no polling needed.
461
+
462
+ **Suppression.** The agent's `tool:after` listener watches for `shell_kill` (deletes from the queue by `task_id`) and `read_file` / `read` (deletes by matching the file's `path` against any pending entry's `outputPath`). This keeps the model from receiving a redundant `<task-notification>` for an exit it already learned about through other means.
463
+
464
+ **Output reading.** The model reads task output via the normal `read_file` tool — no special API. The file lives at the absolute path returned in the spawn result; offset + limit work for tail-watching. The file stays around until the session is deleted.
465
+
466
+ **Shutdown.** Two paths:
467
+
468
+ 1. **Clean shutdown (`agent.destroy()`)** — SIGTERMs every still-running task (entire process groups, so no orphans), awaits each log stream's flush, then tears down the execution handle. Notification queue cleared. The TUI invokes this via its session-teardown flow.
469
+ 2. **Process-exit safety net (Ctrl+C, crash)** — `ProcessContext` lazy-registers a `process.on('exit')` handler on the first spawn that synchronously SIGTERMs every still-running task's process group. Output streams may not flush their last buffer (Node's `'exit'` listeners can't await), but the children DO die — no orphan `npm run dev` outliving a Ctrl+C'd TUI. The handler is deregistered in `destroy()` so repeated session-swap cycles don't pile listeners onto the global event emitter.
470
+
471
+ **Replay.** Persisted `<task-notification>` text blocks survive in the session's turn history; `eventsFromTurns` re-synthesizes them as `'task-notification'` `StreamEvent`s on load so the TUI's banner renderer paints them the same way live + replayed.
472
+
473
+ **Subagents.** A `spawn`'d subagent can call `shell({ run_in_background: true })` — but it has no "next user-turn" of its own to receive the `<task-notification>` on (a subagent's `agent.run()` ends as soon as the model returns `done: true`). The plumbing handles this transparently:
474
+
475
+ 1. Subagent starts the task → registered under the subagent's `ExecutionHandle`.
476
+ 2. Subagent's `agent.run` finishes (the model SHOULD return a brief summary that includes the `task_id` and end its turn — the shell tool's success-result is depth-aware and tells the model exactly this).
477
+ 3. `spawn.ts`'s `finally` calls `ExecutionContext.reassignBackgroundTasks(childHandle, parentHandle, newOnExit)` BEFORE `agent.destroy()`. The task's `handleId` is rewritten to the parent's, and the task's natural-exit callback is rewired from the (about-to-be-destroyed) subagent's hook bus to the parent's. `background:reassign` fires on the parent's bus.
478
+ 4. Subagent's `destroy()` walks its registry and finds no surviving tasks (they've all been promoted), so it kills nothing.
479
+ 5. When the task eventually exits, `background:exit` fires on the PARENT's bus → enqueued → drained on the parent's next user-turn.
480
+
481
+ For nested subagents (grandchild spawns a background task while running inside a child that itself was spawned by the parent), the reassign chain runs at each spawn finally: grandchild → child at grandchild-finish, child → parent at child-finish. The task ends up owned by the top-level parent. `child:background:reassign` bubbles through so observability hooks see the full chain.
482
+
483
+ **Context support.** Background mode is OPTIONAL on `ExecutionContext` — the three new methods (`execBackground`, `killBackground`, `listBackground`) are declared as `?:` so existing contexts compile unchanged. The `ProcessContext` (in-process default) implements all three; remote sandboxes that don't support detached spawns can leave them undefined and the shell tool surfaces a clean error. The same is true for `agent.destroy()`'s teardown — it walks the registry only if the context exposes one.
484
+
422
485
  ## Sessions
423
486
 
424
487
  ```ts
@@ -614,7 +677,7 @@ When the catalog is non-empty and `tool !== false`, three tools auto-inject:
614
677
 
615
678
  | Tool | Purpose |
616
679
  |---|---|
617
- | `skills_use` | Activate a skill by name. Idempotent. Wraps body + resources in `<skill_content spec_version="0.1">`. |
680
+ | `skills_use` | Activate or deactivate a skill by name. `mode: 'activate'` (default, spec-mandated) loads the skill body and wraps it in `<skill_content spec_version="0.1">`; `mode: 'deactivate'` (zidane extension) releases an active skill so its `allowed-tools` restrictions stop applying — fires `skills:deactivate` with `reason: 'model'`. Idempotent in both directions. |
618
681
  | `skills_read` | Read a bundled resource (`references/`, `assets/`) of an active skill. |
619
682
  | `skills_run_script` | Run `scripts/*.sh` / `*.py` with args. Returns `{ exitCode, stdout, stderr }`. |
620
683
 
@@ -632,15 +695,21 @@ await agent.deactivateSkill('pdf-processing') // skills:deactivate, reason: 'exp
632
695
 
633
696
  ### Enforcement + resume
634
697
 
635
- When any active skill declares `allowed-tools`, a `tool:gate` middleware blocks calls outside the union (the three skills tools are always implicitly allowed). Matching uses `displayName`, supports exact names (`Read`) and patterns (`Bash(git:*)`). Blocked calls throw `AgentToolNotAllowedError`.
698
+ When any active skill declares `allowed-tools`, a `tool:gate` middleware blocks calls outside the union (the three skills tools are always implicitly allowed). Matching uses `displayName`, supports exact names (`Read`) and patterns (`Bash(git:*)`). Blocked calls throw `AgentToolNotAllowedError`, whose `.message` ends with a recovery hint pointing the model at `skills_use({ mode: 'deactivate', name })` — without this the model tends to invent folk theories about "sticky restrictions" instead of releasing the skill itself.
699
+
700
+ `allowed-tools` accepts three authoring shapes (all normalize to `string[]`): spec-canonical space-separated string (`allowed-tools: Read Bash(git:*)`), YAML block list (`- Read` lines), and YAML flow list (`[Read, Bash(git:*)]`). Earlier zidane builds only handled the first; the others silently mangled the union and opened the gate. The lenient parser is in `src/skills/discovery.ts` — malformed shapes drop the field with a diagnostic instead of coercing to garbage.
701
+
702
+ The parser also tolerates **`allowedTools`** (camelCase) and **`allowed_tools`** (snake_case) as alt-spellings of the canonical `allowed-tools` key — the value is migrated to the canonical slot and a `frontmatter-key-alt-spelling` diagnostic is attached. This is a courtesy for authors used to JS / Python idioms; the spec mandates kebab-case and the diagnostic is the nudge to rename. The canonical key wins when both are present.
703
+
704
+ On session resume, `skills_use` calls in the turn history rebuild the active set with **last-mode-wins per skill**: a trailing `mode: 'deactivate'` block correctly STAYS inactive on the next run (without this, the rehydrator would silently re-activate skills the model just released, defeating the recovery path). Activations fire with `via: 'resume'`; `skills:deactivate` does NOT fire during rehydration — the state started empty so there's nothing to deactivate.
636
705
 
637
- On session resume, prior `skills_use` calls in the turn history are re-activated with `via: 'resume'` so `skills_read` / `skills_run_script` keep working.
706
+ Programmatic host-side activations (`agent.activateSkill(name)`) do NOT produce a `skills_use` block in history, so they don't survive the run-end deactivate-all pass automatically. Hosts that want persistence across runs (TUI slash-commands, for example) must re-activate before each `agent.run()`; the TUI does this via a pinned-skills set persisted in `session.metadata['zidane.activeSkills']` see `docs/TUI.md`.
638
707
 
639
708
  ### Lenient load, strict authoring
640
709
 
641
710
  Third-party skills with minor deviations load anyway via `parseSkillFile` (warnings in `SkillConfig.diagnostics`). `defineSkill` / `writeSkillToDisk` run `validateSkillForWrite` — spec-strict.
642
711
 
643
- Hooks: `skills:resolve` (`{ skills }`), `skills:catalog` (`{ catalog, skills }`), `skills:activate` (`{ skill, via: 'model'|'explicit'|'resume' }`), `skills:deactivate` (`{ skill, reason: 'run-end'|'explicit'|'reset' }`).
712
+ Hooks: `skills:resolve` (`{ skills }`), `skills:catalog` (`{ catalog, skills }`), `skills:activate` (`{ skill, via: 'model'|'explicit'|'resume' }`), `skills:deactivate` (`{ skill, reason: 'run-end'|'explicit'|'reset'|'model' }`).
644
713
 
645
714
  ## Structured Output
646
715
 
package/docs/TUI.md CHANGED
@@ -3,6 +3,7 @@
3
3
  Terminal shell for the chat engine. React + OpenTUI on top of `zidane/chat`. Ships as `zidane/tui` — **Bun-only** because of `bun:sqlite` (via the session store) and OpenTUI's native bindings. A non-terminal host (Electron / Tauri / web) imports `zidane/chat` and provides its own renderer; see `docs/CHAT.md`.
4
4
 
5
5
  ```bash
6
+ bun run build
6
7
  bun run tui
7
8
  ```
8
9
 
@@ -194,6 +195,7 @@ Every customizable shortcut routes through `<userDir>/keybindings.json` and is p
194
195
  | `ctrl+l` | `openEffortPicker` | chat (idle, model has reasoning) | open reasoning-effort picker |
195
196
  | `ctrl+s` | `enterSelectTurnMode` | chat (idle) | enter select-turn mode (transcript navigation) |
196
197
  | `ctrl+t` | `openTodos` | chat (session attached) | open the active run's `todowrite` checkpoints (read-only) |
198
+ | `ctrl+k` | `cancelToolCall` | chat (busy, ≥1 in-flight call) | open the cancel-tool picker — pick one call to flip via `agent.cancelTool(callId)`, or press `a` to cancel every in-flight call. Distinct from `esc abort` (whole-run abort); siblings keep running |
197
199
  | `shift+tab` | `cycleAgent` | chat (idle, ≥2 profiles) | cycle to next agent profile |
198
200
  | `ctrl+↵` | `pushQueuedMessage` | queue-selection mode | push selected queued message into the live run |
199
201
  | `backspace` | `dropQueuedMessage` | queue-selection mode | drop selected queued message |
@@ -241,9 +243,9 @@ Esc gates on the completion popup state — when the popup is visible, esc is co
241
243
 
242
244
  A subagent run emits `spawn-start` / `spawn-end` markers and a stream of tagged child events (`depth > 0`, `childId: child-N`).
243
245
 
244
- `Settings.hideSubagentOutput` (default **on**) collapses everything between the markers — the user sees `🌱 [child-1] task` … `done 213 in / 4 075 out` (the end marker's tag is `done` / `aborted` / `error` followed by token usage) and the parent's next response.
246
+ `Settings.hideSubagentOutput` (default **on**) collapses everything between the markers — the user sees `🌱 child-1 · task` … `child-1 · done 213 in / 4 075 out` (the end marker's tag is `done` / `aborted` / `error` followed by token usage) and the parent's next response. The `child-N` label renders in `COLOR.brand` with a `·` separator so it reads as part of the line, not a bracketed prefix.
245
247
 
246
- When off, consecutive child events are wrapped in a single bordered `SubagentBlock` and rendered with `depthOffset: 1` so they sit flush with the box's inner padding instead of being indented twice.
248
+ When off, consecutive child events are wrapped in a single bordered `SubagentBlock` rendered with `depthOffset: 1` (events sit flush with the box's inner padding instead of being indented twice) and a `COLOR.brand` border (the box title shares the border color — brand-tinted frame doubles as a brand-tinted label, no separate `titleColor` API needed). The box title carries the `child-N` label, so single-subagent runs drop the per-row label to avoid duplication. Multi-subagent runs (rare — happens when several `spawn` tool calls render back-to-back inside the same partitioned run) keep the per-row label for disambiguation. `SubagentBlock` threads this via `hideChildLabel = childIds.length === 1` to `EventLine`.
247
249
 
248
250
  The reload path (`eventsFromTurns(turns, runs)`) reproduces the same tagged events from persisted `SessionRun.parentRunId` chains. Live and reloaded transcripts render identically — depth ≥ 2 nesting included.
249
251
 
@@ -306,6 +308,42 @@ File-edit tools (`edit` / `multi_edit` / `write_file`) get their own approval su
306
308
 
307
309
  `isFileEditTool(tool)` (exported from `file-edit-approval-modal.tsx`) is the gate routing predicate. The set is `{'edit', 'multi_edit', 'write_file'}`; everything else stays on the inline `ApprovalBlock` path. For a fully-denied file-edit call, `applyGate` skips the substitute path entirely — sets `ctx.block = true` + emits a synthetic `tool-result` event with body `[fully denied] <edit-outcomes>…</edit-outcomes>` for live display. The persisted result stays the terse `Blocked: User denied this tool call` the harness writes.
308
310
 
311
+ ### Tool-call cancellation
312
+
313
+ `CancelToolModal` (`src/tui/cancel-tool-modal.tsx`) surfaces the in-flight tool registry maintained by `App.tsx` and routes the user's pick to `agent.cancelTool(callId)`. The shortcut is `ctrl+k` (`cancelToolCall`), gated on `busy && !pendingApproval && inFlightTools.length > 0` so it never opens on a dead-empty state.
314
+
315
+ In-flight tracking is hook-driven: `App.tsx` listens on `tool:before` / `child:tool:before` to add an entry, drains on `tool:after` / `tool:error` / `tool:cancelled` (mirrored for `child:*`). The Map is keyed by `callId` and the modal opens with a snapshot of the live set — auto-dismisses 500 ms after the list empties so the user isn't left staring at "nothing in flight".
316
+
317
+ Modal row layout: `›` cursor glyph, tool name, truncated `callId`, optional `· child-N` attribution for subagent-issued calls, right-aligned elapsed time (`0.3s` / `2m12s` format). Keys: `↑` / `↓` navigate, `↵` cancels the focused row, `a` cancels every call in the snapshot, `esc` dismisses.
318
+
319
+ Distinct from the run-wide `esc abort`: the cancelled call's wire result is the canonical `TOOL_USE_CANCELLED_MESSAGE` with `isError: true`, the assistant turn closes normally on the next batch boundary, and other in-flight tools keep running. The session teardown path also clears `inFlightTools` so a switched session doesn't try to cancel calls on an agent that no longer owns them.
320
+
321
+ ### Background-task completion banner
322
+
323
+ `shell({ run_in_background: true })` parks a process under a `bash_<n>` handle (see [SKILL.md "Background tasks"](./SKILL.md#background-tasks) for the full lifecycle). When the task exits — naturally, via `shell_kill`, or via `agent.destroy()` — the agent queues a `<task-notification>` block that arrives on the model's next turn AND surfaces in the transcript as a one-line banner.
324
+
325
+ `TaskNotificationBlock` (`src/tui/components.tsx`) is the renderer. Layout: `⌁` glyph + task id + status (`exited 0` / `killed`) + duration (`4.2s` / `42m`) + absolute path to the log file. Status-accented:
326
+
327
+ - `exited` with code 0 → dim (success is quiet).
328
+ - `exited` with non-zero code OR `killed` → warn (model should pay attention).
329
+
330
+ The `app.tsx` host wires `behavior.tasksDir = resolveTasksDir({ userDir, sessionId })` at session activation so the framework knows where to put log files. Without this, the shell tool surfaces a clean error to the model when it tries to spawn a background task.
331
+
332
+ On replay (session reload), `eventsFromTurns` re-synthesizes `'task-notification'` `StreamEvent`s from the persisted `<task-notification>` XML in user-turn text blocks — the raw XML block is dropped from the user-prompt stream so the banner doesn't double-paint alongside it. Field decoding is tolerant: missing tags fall back to defaults so older transcripts pre-dating a field still render cleanly.
333
+
334
+ ### Active skills — footer chip + pinned-skills persistence
335
+
336
+ When at least one skill is active, the footer hint row gets a passive `✦ N skill(s)` chip (`COLOR.brand` accent). The chip is purely informational — no shortcut wired — but it gives the user a passive surface for "tool restrictions are in effect" without having to scroll back through the transcript looking for a `skills_use` call. Driven by `activeSkillNames: ReadonlySet<string>` in `App.tsx`, fed by the agent's `skills:activate` / `skills:deactivate` hooks.
337
+
338
+ Slash-command activations (`/skill-name`) call `agent.activateSkill()` programmatically, BEFORE `agent.run()`. The framework deactivates every active skill at run-end (`reason: 'run-end'`) and the session-resume rehydrator only scans for `skills_use` `tool_call` blocks — so a slash activation would silently lose its `allowed-tools` enforcement on the next prompt. The TUI fixes this with a **pinned-skills set persisted to session metadata** under `zidane.activeSkills`:
339
+
340
+ - The `skills:deactivate` listener filters by reason — `'run-end'` keeps the entry, `'model'` / `'explicit'` / `'reset'` drain it. So a user-driven `/skill-name` stays pinned across the framework's per-run cleanup; a model-driven `skills_use({ mode: 'deactivate' })` correctly releases the pin.
341
+ - `onSubmitPrompt` activates the union of the current prompt's `/skill` refs AND every name in the pinned set before `agent.run()`. So a `/read-only` typed once stays in force across every subsequent message in the session.
342
+ - `activateSession` seeds the React state from `session.metadata['zidane.activeSkills']` on session open — so the pin survives a TUI restart. `readPinnedSkills` is tolerant (older sessions, hand-edited metadata degrade to "no pins" rather than throwing).
343
+ - `persistPinnedSkills` mirrors every state change back into metadata via `session.setMeta(...)`, sorted for stable on-disk ordering.
344
+
345
+ The teardown path also clears the in-memory pinned set on session swap (`setActiveSkillNames(new Set())`) so the next session starts from its own persisted state, not the previous one's residue.
346
+
309
347
  ### Todos surface — indicator + modal
310
348
 
311
349
  Two thin chrome layers on top of the renderer-agnostic `useActiveTodos` hook (see [Todos in CHAT.md](./CHAT.md#todos) for the data contract — the keying rule, the auto-clear behavior, and the legacy-bag migration). Both surfaces share `TODO_STATUS_GLYPHS` so a row in the modal and the inline indicator read as the same visual language.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zidane",
3
- "version": "5.4.2",
3
+ "version": "5.5.0",
4
4
  "description": "an agent that goes straight to the goal",
5
5
  "type": "module",
6
6
  "private": false,
@@ -81,7 +81,7 @@
81
81
  "scripts": {
82
82
  "auth": "bun run src/auth.ts",
83
83
  "start": "bun run src/start.ts",
84
- "tui": "bun --filter zidane-tui dev",
84
+ "tui": "bun --cwd=tui run dev",
85
85
  "tui:install:cross": "bun install --cpu='*' --os='*'",
86
86
  "tui:build": "bun run scripts/build-executables.ts",
87
87
  "tui:build:current": "bun run scripts/build-executables.ts --current",
@@ -100,8 +100,8 @@
100
100
  "peerDependencies": {
101
101
  "@anthropic-ai/sdk": "^0.90.0",
102
102
  "@modelcontextprotocol/sdk": ">=1.11.0",
103
- "@opentui/core": "^0.2.6",
104
- "@opentui/react": "^0.2.6",
103
+ "@opentui/core": "^0.2.15",
104
+ "@opentui/react": "^0.2.15",
105
105
  "dockerode": "^4.0.0",
106
106
  "react": "^19.0.0",
107
107
  "zod": ">=4.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-DxBoKDba.d.ts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/providers/anthropic.ts","../src/providers/cerebras.ts","../src/providers/openai.ts","../src/providers/openai-compat.ts","../src/providers/openrouter.ts","../src/providers/schema-sanitize.ts","../src/providers/index.ts","../src/session/file-map.ts","../src/session/memory.ts","../src/session/messages.ts","../src/session/remote.ts","../src/session/index.ts","../src/skills/types.ts","../src/tools/read-state.ts","../src/tools/types.ts","../src/mcp/index.ts","../src/skills/activation.ts","../src/agent.ts"],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { exec } from "node:child_process";
2
- import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
3
- import { dirname, resolve } from "node:path";
4
- import { promisify } from "node:util";
5
- //#region src/contexts/process.ts
6
- const execAsync = promisify(exec);
7
- function createProcessContext(config) {
8
- let counter = 0;
9
- const handles = /* @__PURE__ */ new Map();
10
- const defaultCwd = config?.cwd ?? process.cwd();
11
- const defaultEnv = config?.env;
12
- return {
13
- type: "process",
14
- capabilities: {
15
- shell: true,
16
- filesystem: true,
17
- network: true,
18
- gpu: false
19
- },
20
- async spawn(overrides) {
21
- const id = `process-${++counter}`;
22
- const cwd = overrides?.cwd ?? defaultCwd;
23
- await mkdir(cwd, { recursive: true });
24
- const handle = {
25
- id,
26
- type: "process",
27
- cwd
28
- };
29
- handles.set(id, handle);
30
- return handle;
31
- },
32
- async exec(handle, command, options) {
33
- const cwd = options?.cwd ? resolve(handle.cwd, options.cwd) : handle.cwd;
34
- try {
35
- const { stdout, stderr } = await execAsync(command, {
36
- cwd,
37
- env: {
38
- ...process.env,
39
- ...defaultEnv,
40
- ...options?.env
41
- },
42
- timeout: (options?.timeout ?? config?.limits?.timeout ?? 30) * 1e3,
43
- maxBuffer: 10 * 1024 * 1024
44
- });
45
- return {
46
- stdout,
47
- stderr,
48
- exitCode: 0
49
- };
50
- } catch (err) {
51
- const e = err;
52
- return {
53
- stdout: typeof e.stdout === "string" ? e.stdout : "",
54
- stderr: typeof e.stderr === "string" ? e.stderr : typeof e.message === "string" ? e.message : String(err),
55
- exitCode: typeof e.code === "number" ? e.code : 1
56
- };
57
- }
58
- },
59
- async readFile(handle, path) {
60
- return readFile(resolve(handle.cwd, path), "utf-8");
61
- },
62
- async readFileBinary(handle, path) {
63
- const buf = await readFile(resolve(handle.cwd, path));
64
- return new Uint8Array(buf);
65
- },
66
- async writeFile(handle, path, content) {
67
- const fullPath = resolve(handle.cwd, path);
68
- await mkdir(dirname(fullPath), { recursive: true });
69
- await writeFile(fullPath, content, "utf-8");
70
- },
71
- async listFiles(handle, path) {
72
- return readdir(resolve(handle.cwd, path));
73
- },
74
- async destroy(handle) {
75
- handles.delete(handle.id);
76
- }
77
- };
78
- }
79
- //#endregion
80
- //#region src/contexts/sandbox.ts
81
- function createSandboxContext(provider) {
82
- const sandboxes = /* @__PURE__ */ new Map();
83
- function getSandboxId(handle) {
84
- const id = sandboxes.get(handle.id);
85
- if (!id) throw new Error(`Sandbox ${handle.id} not found`);
86
- return id;
87
- }
88
- return {
89
- type: "sandbox",
90
- capabilities: {
91
- shell: true,
92
- filesystem: true,
93
- network: true,
94
- gpu: false
95
- },
96
- async spawn(config) {
97
- const result = await provider.spawn(config ?? {});
98
- const handle = {
99
- id: result.id,
100
- type: "sandbox",
101
- cwd: result.cwd
102
- };
103
- sandboxes.set(handle.id, result.id);
104
- return handle;
105
- },
106
- async exec(handle, command, options) {
107
- return provider.exec(getSandboxId(handle), command, options);
108
- },
109
- async readFile(handle, path) {
110
- return provider.readFile(getSandboxId(handle), path);
111
- },
112
- async writeFile(handle, path, content) {
113
- return provider.writeFile(getSandboxId(handle), path, content);
114
- },
115
- async listFiles(handle, path) {
116
- return provider.listFiles(getSandboxId(handle), path);
117
- },
118
- async destroy(handle) {
119
- const id = sandboxes.get(handle.id);
120
- if (!id) return;
121
- await provider.destroy(id);
122
- sandboxes.delete(handle.id);
123
- }
124
- };
125
- }
126
- //#endregion
127
- export { createProcessContext as n, createSandboxContext as t };
128
-
129
- //# sourceMappingURL=contexts-BwiHIr2w.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts-BwiHIr2w.js","names":["execCb"],"sources":["../src/contexts/process.ts","../src/contexts/sandbox.ts"],"sourcesContent":["/**\n * In-process execution context.\n *\n * Runs everything in the current Node/Bun process.\n * No isolation — fastest, used as the default.\n */\n\nimport type { ContextCapabilities, ExecResult, ExecutionContext, ExecutionHandle, SpawnConfig } from './types'\nimport { exec as execCb } from 'node:child_process'\nimport { mkdir, readdir, readFile, writeFile } from 'node:fs/promises'\nimport { dirname, resolve } from 'node:path'\nimport { promisify } from 'node:util'\n\nconst execAsync = promisify(execCb)\n\nexport function createProcessContext(config?: SpawnConfig): ExecutionContext {\n let counter = 0\n const handles = new Map<string, ExecutionHandle>()\n const defaultCwd = config?.cwd ?? process.cwd()\n const defaultEnv = config?.env\n\n return {\n type: 'process',\n\n capabilities: {\n shell: true,\n filesystem: true,\n network: true,\n gpu: false,\n } satisfies ContextCapabilities,\n\n async spawn(overrides?: SpawnConfig): Promise<ExecutionHandle> {\n const id = `process-${++counter}`\n const cwd = overrides?.cwd ?? defaultCwd\n\n await mkdir(cwd, { recursive: true })\n\n const handle: ExecutionHandle = { id, type: 'process', cwd }\n handles.set(id, handle)\n return handle\n },\n\n async exec(handle: ExecutionHandle, command: string, options?: { cwd?: string, env?: Record<string, string>, timeout?: number }): Promise<ExecResult> {\n const cwd = options?.cwd ? resolve(handle.cwd, options.cwd) : handle.cwd\n\n try {\n const { stdout, stderr } = await execAsync(command, {\n cwd,\n env: { ...process.env, ...defaultEnv, ...options?.env },\n timeout: (options?.timeout ?? config?.limits?.timeout ?? 30) * 1000,\n maxBuffer: 10 * 1024 * 1024,\n })\n return { stdout, stderr, exitCode: 0 }\n }\n catch (err) {\n // node's execAsync rejects with a decorated `Error` whose extra fields\n // carry captured output and exit code — narrow defensively so a stray\n // plain-string rejection doesn't crash the tool.\n const e = err as { stdout?: unknown, stderr?: unknown, message?: unknown, code?: unknown }\n return {\n stdout: typeof e.stdout === 'string' ? e.stdout : '',\n stderr: typeof e.stderr === 'string'\n ? e.stderr\n : (typeof e.message === 'string' ? e.message : String(err)),\n exitCode: typeof e.code === 'number' ? e.code : 1,\n }\n }\n },\n\n async readFile(handle: ExecutionHandle, path: string): Promise<string> {\n return readFile(resolve(handle.cwd, path), 'utf-8')\n },\n\n async readFileBinary(handle: ExecutionHandle, path: string): Promise<Uint8Array> {\n // No encoding → returns a Buffer (which is a Uint8Array). Used by\n // read_file to ferry image / binary content into the multimodal route.\n const buf = await readFile(resolve(handle.cwd, path))\n return new Uint8Array(buf)\n },\n\n async writeFile(handle: ExecutionHandle, path: string, content: string): Promise<void> {\n const fullPath = resolve(handle.cwd, path)\n await mkdir(dirname(fullPath), { recursive: true })\n await writeFile(fullPath, content, 'utf-8')\n },\n\n async listFiles(handle: ExecutionHandle, path: string): Promise<string[]> {\n return readdir(resolve(handle.cwd, path))\n },\n\n async destroy(handle: ExecutionHandle): Promise<void> {\n handles.delete(handle.id)\n },\n }\n}\n","/**\n * Remote sandbox execution context.\n *\n * Offloads execution to a remote sandbox API (e.g. Rivet, E2B).\n * Specific providers implement the SandboxProvider interface.\n */\n\nimport type { ContextCapabilities, ExecResult, ExecutionContext, ExecutionHandle, SpawnConfig } from './types'\n\n// ---------------------------------------------------------------------------\n// Sandbox provider interface\n// ---------------------------------------------------------------------------\n\nexport interface SandboxProvider {\n name: string\n spawn: (config: SpawnConfig) => Promise<{ id: string, cwd: string }>\n exec: (sandboxId: string, command: string, options?: { cwd?: string, env?: Record<string, string>, timeout?: number }) => Promise<ExecResult>\n readFile: (sandboxId: string, path: string) => Promise<string>\n writeFile: (sandboxId: string, path: string, content: string) => Promise<void>\n listFiles: (sandboxId: string, path: string) => Promise<string[]>\n destroy: (sandboxId: string) => Promise<void>\n}\n\n// ---------------------------------------------------------------------------\n// Sandbox execution context\n// ---------------------------------------------------------------------------\n\nexport function createSandboxContext(provider: SandboxProvider): ExecutionContext {\n const sandboxes = new Map<string, string>()\n\n function getSandboxId(handle: ExecutionHandle): string {\n const id = sandboxes.get(handle.id)\n if (!id)\n throw new Error(`Sandbox ${handle.id} not found`)\n return id\n }\n\n return {\n type: 'sandbox',\n\n capabilities: {\n shell: true,\n filesystem: true,\n network: true,\n gpu: false,\n } satisfies ContextCapabilities,\n\n async spawn(config?: SpawnConfig): Promise<ExecutionHandle> {\n const result = await provider.spawn(config ?? {})\n const handle: ExecutionHandle = { id: result.id, type: 'sandbox', cwd: result.cwd }\n sandboxes.set(handle.id, result.id)\n return handle\n },\n\n async exec(handle: ExecutionHandle, command: string, options?): Promise<ExecResult> {\n return provider.exec(getSandboxId(handle), command, options)\n },\n\n async readFile(handle: ExecutionHandle, path: string): Promise<string> {\n return provider.readFile(getSandboxId(handle), path)\n },\n\n async writeFile(handle: ExecutionHandle, path: string, content: string): Promise<void> {\n return provider.writeFile(getSandboxId(handle), path, content)\n },\n\n async listFiles(handle: ExecutionHandle, path: string): Promise<string[]> {\n return provider.listFiles(getSandboxId(handle), path)\n },\n\n async destroy(handle: ExecutionHandle): Promise<void> {\n const id = sandboxes.get(handle.id)\n if (!id)\n return\n await provider.destroy(id)\n sandboxes.delete(handle.id)\n },\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-B2VOOijU.d.ts","names":[],"sources":["../src/compact/messages.ts","../src/compact/prompt.ts","../src/compact/errors.ts","../src/compact/compact.ts","../src/compact/restore.ts","../src/compact/utils.ts","../src/logger.ts","../src/loop.ts","../src/loop-persistence.ts","../src/mcp/oauth-provider.ts","../src/mcp/login.ts","../src/mcp/oauth-callback.ts","../src/metrics.ts","../src/run-summary.ts","../src/stats.ts","../src/tools/edit.ts","../src/tools/glob.ts","../src/tools/grep.ts","../src/tools/interaction.ts","../src/tools/list-files.ts","../src/tools/multi-edit.ts","../src/tools/read-file.ts","../src/tools/shell.ts","../src/tools/skills-read.ts","../src/tools/skills-run-script.ts","../src/tools/skills-use.ts","../src/tools/spawn.ts","../src/tools/tool-search.ts","../src/tools/validation.ts","../src/tools/write-file.ts","../src/tracing.ts","../src/zod.ts","../src/presets/basic.ts","../src/presets/index.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BOtXdQkW.d.ts","names":[],"sources":["../src/skills/allowed-tools.ts","../src/skills/catalog.ts","../src/skills/discovery.ts","../src/skills/interpolate.ts","../src/skills/resolve.ts","../src/skills/validate.ts","../src/skills/writer.ts","../src/skills/index.ts"],"mappings":";;;;;;cAuBa,8BAAA;;;;;;;;;;ACHb;iBDmBgB,uBAAA,CACd,KAAA,EAAO,QAAA,CAAS,UAAA,GAChB,KAAA,EAAO,oBAAA;;;UCrBQ,mBAAA;EDoBR;;;;;ECdP,oBAAA;EDe2B;;;;ECV3B,YAAA;AAAA;;;;iBAMc,YAAA,CACd,MAAA,EAAQ,WAAA,IACR,OAAA,GAAS,mBAAA;;;UCCD,eAAA;EACR,WAAA,EAAa,MAAA;EACb,IAAA;EACA,WAAA,EAAa,eAAA;AAAA;;;;;;;;;;;iBAaC,gBAAA,CAAiB,OAAA,WAAkB,eAAA;AAAA,UA0MzC,iBAAA;ED9O0B;ECgPlC,MAAA,GAAS,WAAA;AAAA;;AD/NX;;;;;;;;;;iBC6OsB,cAAA,CACpB,QAAA,UACA,OAAA,GAAS,iBAAA,GACR,OAAA,CAAQ,WAAA;;UA0MM,eAAA;EACf,IAAA;EACA,MAAA,EAAQ,WAAA;AAAA;;;;;;iBAQM,mBAAA,CAAA,GAAuB,eAAA;;;AAjbvC;;iBAkcgB,WAAA,CAAY,IAAA,WAAe,WAAA;;;AArY1C;;;;;AA6JD;;;iBA0PsB,cAAA,CACpB,KAAA,EAAO,eAAA,IACP,MAAA,GAAS,WAAA,GACR,OAAA,CAAQ,WAAA;;;;;;;;;;;;;;;iBCjfW,wBAAA,CACpB,YAAA,UACA,SAAA,EAAW,gBAAA,EACX,MAAA,EAAQ,eAAA,GACP,OAAA;;;AHXH;;;;;AAgBA;;;;AAhBA,UIGiB,oBAAA;EACf,MAAA,EAAQ,WAAA;EACR,OAAA;AAAA;;;;;;;;;;;AHRF;;;iBGwBsB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,oBAAA;;;;;;AJLnE;;UKCiB,oBAAA;ELAC;EKEhB,IAAA;ELDO;EKGP,OAAA;ELH2B;EKK3B,KAAA;AAAA;AAAA,UAGe,qBAAA;EACf,KAAA;EACA,MAAA,EAAQ,oBAAA;AAAA;;;;;AJ/BV;;;;;AAiBA;iBI+BgB,iBAAA,CAAkB,IAAA;;;;;;iBAmBlB,qBAAA,CAAsB,KAAA,EAAO,WAAA,GAAc,qBAAA;;;;;;AH3E4B;;;;;;iBGiLvE,oBAAA,CACd,OAAA,UACA,OAAA;EACG,KAAA;EAAa,YAAA;AAAA;EAA2B,KAAA;EAAc,KAAA;AAAA;;;;AH3E1D;;;;iBG0He,uBAAA,CAAwB,KAAA;EAAkB,IAAA;EAAc,SAAA;AAAA;;;;;;;;;;;;;AHgPxE;;iBGnNgB,kBAAA,CACd,WAAA,UACA,KAAA,EAAO,MAAA,mBACP,OAAA;;;;;;iBAyBc,oBAAA,CACd,WAAA,UACA,KAAA,EAAO,MAAA,mBACP,KAAA;;;;;;ALpQF;;;;;iBM8BgB,gBAAA,CAAiB,KAAA,EAAO,WAAA,EAAa,SAAA;;;;;;iBAoCrC,iBAAA,CAAkB,MAAA,EAAQ,WAAA,IAAe,SAAA;;;;;;;;;iBCnDzC,WAAA,CAAY,MAAA,EAAQ,IAAA,CAAK,WAAA;EAA2B,MAAA,GAAS,WAAA;AAAA,IAA0B,WAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BiO_5Hm4.d.ts","names":[],"sources":["../src/contexts/process.ts","../src/contexts/sandbox.ts"],"mappings":";;;iBAegB,oBAAA,CAAqB,MAAA,GAAS,WAAA,GAAc,gBAAA;;;UCF3C,eAAA;EACf,IAAA;EACA,KAAA,GAAQ,MAAA,EAAQ,WAAA,KAAgB,OAAA;IAAU,EAAA;IAAY,GAAA;EAAA;EACtD,IAAA,GAAO,SAAA,UAAmB,OAAA,UAAiB,OAAA;IAAY,GAAA;IAAc,GAAA,GAAM,MAAA;IAAwB,OAAA;EAAA,MAAuB,OAAA,CAAQ,UAAA;EAClI,QAAA,GAAW,SAAA,UAAmB,IAAA,aAAiB,OAAA;EAC/C,SAAA,GAAY,SAAA,UAAmB,IAAA,UAAc,OAAA,aAAoB,OAAA;EACjE,SAAA,GAAY,SAAA,UAAmB,IAAA,aAAiB,OAAA;EAChD,OAAA,GAAU,SAAA,aAAsB,OAAA;AAAA;AAAA,iBAOlB,oBAAA,CAAqB,QAAA,EAAU,eAAA,GAAkB,gBAAA"}