@xingular/harness 1.3.1-unstable.3 → 1.3.1-unstable.5
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/CHANGELOG.md +64 -0
- package/dist/cli.js +3418 -1780
- package/dist/sdk/cli.js +2 -0
- package/dist/sdk/commands/extensionOwners.d.ts +4 -0
- package/dist/sdk/commands/extensionOwners.js +17 -0
- package/dist/sdk/commands/list.js +15 -2
- package/dist/sdk/commands/promptLoader.d.ts +5 -0
- package/dist/sdk/commands/promptLoader.js +76 -0
- package/dist/sdk/commands/promptRoutes.d.ts +13 -0
- package/dist/sdk/commands/promptRoutes.js +46 -0
- package/dist/sdk/commands/registry.d.ts +15 -0
- package/dist/sdk/commands/registry.js +2 -0
- package/dist/sdk/commands/runtimeRouter.d.ts +4 -0
- package/dist/sdk/commands/runtimeRouter.js +48 -0
- package/dist/sdk/computer/boundary.d.ts +40 -0
- package/dist/sdk/computer/boundary.js +79 -0
- package/dist/sdk/computer/contracts.d.ts +127 -0
- package/dist/sdk/computer/contracts.js +13 -0
- package/dist/sdk/computer/control.d.ts +34 -0
- package/dist/sdk/computer/control.js +112 -0
- package/dist/sdk/computer/terminalCapture.d.ts +26 -0
- package/dist/sdk/computer/terminalCapture.js +64 -0
- package/dist/sdk/computer/volatileImages.d.ts +9 -0
- package/dist/sdk/computer/volatileImages.js +50 -0
- package/dist/sdk/context/runDetails.d.ts +16 -0
- package/dist/sdk/context/runDetails.js +22 -0
- package/dist/sdk/doctor/checks.js +3 -0
- package/dist/sdk/doctor/probe.js +8 -6
- package/dist/sdk/history/trajectory.js +2 -0
- package/dist/sdk/hub/schema.d.ts +2 -2
- package/dist/sdk/plugins/manifest.d.ts +2 -0
- package/dist/sdk/plugins/manifest.js +1 -0
- package/dist/sdk/prompt/compile.d.ts +2 -0
- package/dist/sdk/prompt/compile.js +4 -2
- package/dist/sdk/refine/trajectory.js +7 -2
- package/dist/sdk/remote/addresses.d.ts +19 -0
- package/dist/sdk/remote/addresses.js +52 -0
- package/dist/sdk/remote/pairing.d.ts +59 -0
- package/dist/sdk/remote/pairing.js +160 -0
- package/dist/sdk/remote/seal.d.ts +28 -0
- package/dist/sdk/remote/seal.js +84 -0
- package/dist/sdk/remote/server.d.ts +28 -0
- package/dist/sdk/remote/server.js +158 -0
- package/dist/sdk/remote/service.d.ts +125 -0
- package/dist/sdk/remote/service.js +330 -0
- package/dist/sdk/remote/webClient.d.ts +4 -0
- package/dist/sdk/remote/webClient.js +448 -0
- package/dist/sdk/server/methods.js +2 -0
- package/dist/sdk/sessions/contracts.d.ts +124 -2
- package/dist/sdk/sessions/contracts.js +114 -3
- package/dist/sdk/sessions/planMode.d.ts +26 -1
- package/dist/sdk/sessions/planMode.js +48 -1
- package/dist/sdk/sessions/registry.d.ts +6 -2
- package/dist/sdk/sessions/registry.js +16 -13
- package/dist/sdk/sessions/runStore.d.ts +3 -1
- package/dist/sdk/sessions/runStore.js +25 -8
- package/dist/sdk/sessions/runner.d.ts +7 -5
- package/dist/sdk/sessions/runner.js +94 -16
- package/dist/sdk/sessions/sessions.js +29 -21
- package/dist/sdk/sessions/workSlice.d.ts +7 -9
- package/dist/sdk/sessions/workSlice.js +12 -152
- package/dist/sdk/terminal/client.d.ts +5 -0
- package/dist/sdk/terminal/client.js +15 -0
- package/dist/sdk/terminal/controller.d.ts +13 -0
- package/dist/sdk/terminal/controller.js +66 -7
- package/dist/sdk/terminal/piExtension.js +144 -16
- package/dist/sdk/terminal/stallWatch.d.ts +13 -0
- package/dist/sdk/terminal/stallWatch.js +16 -0
- package/dist/sdk/terminal/standalone.d.ts +2 -0
- package/dist/sdk/terminal/standalone.js +9 -2
- package/dist/sdk/terminal/terminals.d.ts +13 -1
- package/dist/sdk/terminal/terminals.js +107 -7
- package/dist/sdk/terminal/trajectory.js +2 -2
- package/dist/sdk/terminal/tui/commandPages.d.ts +4 -1
- package/dist/sdk/terminal/tui/commandPages.js +15 -1
- package/dist/sdk/terminal/tui/commands.d.ts +2 -0
- package/dist/sdk/terminal/tui/commands.js +25 -64
- package/dist/sdk/terminal/tui/markdown.d.ts +16 -0
- package/dist/sdk/terminal/tui/markdown.js +55 -0
- package/dist/sdk/terminal/tui/pages/contextPage.d.ts +38 -1
- package/dist/sdk/terminal/tui/pages/contextPage.js +239 -47
- package/dist/sdk/terminal/tui/pages/remoteControlPage.d.ts +32 -0
- package/dist/sdk/terminal/tui/pages/remoteControlPage.js +170 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.d.ts +1 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.js +12 -3
- package/dist/sdk/terminal/tui/qr.d.ts +4 -0
- package/dist/sdk/terminal/tui/qr.js +35 -0
- package/dist/sdk/terminal/tui/runtime.js +15 -2
- package/dist/sdk/terminal/tui/sideQuestion.d.ts +4 -0
- package/dist/sdk/terminal/tui/sideQuestion.js +15 -4
- package/dist/sdk/terminal/tui/theme.d.ts +9 -0
- package/dist/sdk/terminal/tui/theme.js +9 -0
- package/dist/sdk/tools/definitions.js +1 -1
- package/dist/sdk/tools/dispatch.d.ts +1 -1
- package/dist/sdk/tools/dispatch.js +17 -3
- package/dist/sdk/world/actions.js +1 -1
- package/dist/terminal-opentui.js +2080 -672
- package/dist/terminal-pi.js +258 -133
- package/docs/architecture/02-sessions-and-runs.md +51 -24
- package/docs/architecture/04-prompt.md +15 -3
- package/docs/architecture/06-plugins-and-capabilities.md +13 -2
- package/docs/architecture/07-tools-and-gate.md +17 -1
- package/docs/architecture/08-memory-and-history.md +7 -3
- package/docs/architecture/10-server-protocol.md +37 -1
- package/docs/architecture/11-terminal.md +64 -18
- package/docs/architecture/12-storage.md +5 -2
- package/docs/architecture/13-world-tools.md +19 -0
- package/docs/architecture/14-surfaces-and-parity.md +7 -3
- package/docs/architecture/15-remote-control.md +118 -0
- package/docs/architecture/README.md +3 -0
- package/docs/architecture/proposals/PROP-0049-context-attribution.md +35 -2
- package/docs/architecture/proposals/PROP-0050-run-stop-codes-and-refusals.md +30 -0
- package/docs/architecture/proposals/README.md +3 -2
- package/docs/decisions/ADR-0039-progress-aware-stall-guards.md +4 -0
- package/docs/decisions/ADR-0053-no-repeated-work-guard.md +45 -0
- package/docs/decisions/ADR-0054-terminal-reply-heartbeat-and-stall.md +52 -0
- package/docs/decisions/ADR-0055-plan-output-repair.md +51 -0
- package/docs/decisions/ADR-0056-remote-control.md +53 -0
- package/docs/decisions/ADR-0057-structured-plan-outcomes.md +39 -0
- package/docs/decisions/ADR-0058-ask-user-only-plan-clarification.md +36 -0
- package/docs/decisions/ADR-0059-run-diagnostic-evidence.md +35 -0
- package/docs/decisions/ADR-0060-approvals-are-controls.md +40 -0
- package/docs/decisions/ADR-0061-strict-plugin-command-namespaces.md +41 -0
- package/docs/doctor.md +2 -0
- package/docs/parity.md +23 -8
- package/docs/releases/1.3.1-unstable.4.md +56 -0
- package/docs/releases/1.3.1-unstable.5.md +53 -0
- package/docs/terminal-tui.md +30 -12
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,70 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- Require owner-prefixed plugin commands on terminal and structured sessions. Plugin-owned prompt
|
|
6
|
+
templates join extension commands under `/<owner-prefix>:<name>`, with no bare plugin aliases.
|
|
7
|
+
A package can select a root template with `harness.defaultPrompt`; owner and route collisions fail
|
|
8
|
+
closed. Standalone templates, `/skill:<name>` and core commands remain (ADR-0061).
|
|
9
|
+
|
|
10
|
+
- Make an approval a control, never a typed permission. The compiled guidance now tells the model to
|
|
11
|
+
call the tool, the Harness pauses that exact call (`waiting_for_approval`), and Allow resumes it in
|
|
12
|
+
the same turn; a denial returns a tool result on the still-running turn and says so, instead of
|
|
13
|
+
inviting another prose request. Nothing outside the workspace changes before the click, and Full
|
|
14
|
+
Permission remains the standing bypass (INV-GATE-9, ADR-0060).
|
|
15
|
+
|
|
16
|
+
- Record structured tool refusals and run stop codes, and expose them in trajectory search and the
|
|
17
|
+
terminal trajectory page. Compaction events include available token measurements; older run
|
|
18
|
+
records remain readable without these fields.
|
|
19
|
+
|
|
20
|
+
- Keep a refused question answer in the terminal. A choice, note or typed answer that the Harness
|
|
21
|
+
would reject now stays in the dock with an inline reason, instead of closing the form and losing the
|
|
22
|
+
draft; the reason names the question and the field (selection, typed answer or note), and the answer
|
|
23
|
+
is checked against the server rule before it is sent. The terminal was previously reopening an empty
|
|
24
|
+
question after any rejection, so a second Continue skipped everything.
|
|
25
|
+
|
|
26
|
+
- Scroll a `/btw` answer taller than its block. PageUp/PageDown now reach the side-question dock
|
|
27
|
+
while it is open, and the mouse wheel over the block browses it too; before this the transcript
|
|
28
|
+
consumed those keys, so the block's `PgUp/PgDn/wheel browse` hint did nothing. When the answer fits, the
|
|
29
|
+
keys scroll the transcript as before.
|
|
30
|
+
|
|
31
|
+
- Drop the context-use reading from the terminal's composer status line, so it no longer ends the
|
|
32
|
+
token group with a figure such as `6.6%/?`. The line keeps the project and branch, account, model
|
|
33
|
+
and effort, and input/cache hit rate/output tokens; the share of the window stays on the `/context`
|
|
34
|
+
page. Both the OpenTUI status bar and the exported `tui/status` band lose the reading.
|
|
35
|
+
|
|
36
|
+
- Render the `/btw` side answer as Markdown instead of plain text. Headings, emphasis, lists,
|
|
37
|
+
quotes, links, tables and fenced code use the theme's markdown colours, and a streaming answer
|
|
38
|
+
re-renders in place. Terminal control sequences in model output are still removed.
|
|
39
|
+
|
|
40
|
+
- Add `/remote-control` (alias `/rc`): continue a terminal session from a phone or iPad, as Claude
|
|
41
|
+
Code's `/rc` does, without a cloud relay. The harness serves a small phone page on the computer's
|
|
42
|
+
Tailscale address, or its private Wi-Fi address, and the terminal shows a QR code for a one-device
|
|
43
|
+
pairing link. The person at the terminal allows each device; a paired phone then sends messages,
|
|
44
|
+
watches the reply stream, stops it, and answers approvals and questions through the same paths
|
|
45
|
+
the terminal uses. Every body is sealed with a key that reaches the phone only in the QR code's
|
|
46
|
+
fragment, keys live in memory, and remote control ends with the session. `xagent --remote-control`
|
|
47
|
+
turns it on at start; `/rc off` stops it. Terminal runs now also record streamed `message.delta`
|
|
48
|
+
events. New dependencies: `tweetnacl`, `uqr` (ADR-0056, page 15).
|
|
49
|
+
|
|
50
|
+
- Recover a plan run whose reply loses its plan block. An attended top-level plan run now makes one
|
|
51
|
+
hidden format-repair turn in the same run, asking the model to re-send its own plan in one complete
|
|
52
|
+
block; a failed repair leaves the run completed and the terminal shows a warning instead of a plan
|
|
53
|
+
choice. The plan-research children, commands, probes, improvers, reflections and other unattended
|
|
54
|
+
runs are unchanged (ADR-0055).
|
|
55
|
+
|
|
56
|
+
- A live terminal reply now reports a heartbeat every 30 seconds, and one that produces nothing but
|
|
57
|
+
heartbeats for 15 minutes is ended as `interrupted` with reason `stalled` instead of showing a run
|
|
58
|
+
that never settles. A running tool gets 30 minutes and an unanswered approval or question is never
|
|
59
|
+
cut short. Before this, a terminal reply reported no heartbeat at all, so the run sweep waited the
|
|
60
|
+
full 30-minute silence window and recorded `owner_gone` while the process was alive (ADR-0054).
|
|
61
|
+
|
|
62
|
+
- Stop refusing repeated work. A reply is no longer refused, or ended, for calling the same tool
|
|
63
|
+
with the same arguments three times, for a Bash check that keeps failing, or for editing one path
|
|
64
|
+
more than four times: those calls are ordinary work, and the reply budget is the single bound. The
|
|
65
|
+
320-call/60-minute budget, its checkpoint handoff, slice continuation and the three-compaction
|
|
66
|
+
thrash rule are unchanged, and the `stuck` checkpoint reason stays readable in existing runs
|
|
67
|
+
(ADR-0053).
|
|
68
|
+
|
|
5
69
|
- Make a skill named in a message required for that request. `$name` is a skill invocation at any
|
|
6
70
|
word start, not only as the first token: `Launch.requiredSkills` carries it and the compiler
|
|
7
71
|
renders a built-in dynamic `required-skills` section (order 52, 12,000 characters) from the pinned
|