@xingular/harness 1.3.1-unstable.3 → 1.3.1-unstable.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/cli.js +2513 -1296
  3. package/dist/sdk/cli.js +2 -0
  4. package/dist/sdk/commands/registry.d.ts +15 -0
  5. package/dist/sdk/commands/registry.js +2 -0
  6. package/dist/sdk/remote/addresses.d.ts +19 -0
  7. package/dist/sdk/remote/addresses.js +52 -0
  8. package/dist/sdk/remote/pairing.d.ts +59 -0
  9. package/dist/sdk/remote/pairing.js +160 -0
  10. package/dist/sdk/remote/seal.d.ts +28 -0
  11. package/dist/sdk/remote/seal.js +84 -0
  12. package/dist/sdk/remote/server.d.ts +28 -0
  13. package/dist/sdk/remote/server.js +158 -0
  14. package/dist/sdk/remote/service.d.ts +125 -0
  15. package/dist/sdk/remote/service.js +330 -0
  16. package/dist/sdk/remote/webClient.d.ts +4 -0
  17. package/dist/sdk/remote/webClient.js +444 -0
  18. package/dist/sdk/sessions/planMode.d.ts +26 -1
  19. package/dist/sdk/sessions/planMode.js +48 -1
  20. package/dist/sdk/sessions/runner.d.ts +2 -0
  21. package/dist/sdk/sessions/runner.js +17 -2
  22. package/dist/sdk/sessions/sessions.js +1 -0
  23. package/dist/sdk/sessions/workSlice.d.ts +5 -9
  24. package/dist/sdk/sessions/workSlice.js +8 -149
  25. package/dist/sdk/terminal/client.d.ts +2 -0
  26. package/dist/sdk/terminal/client.js +2 -0
  27. package/dist/sdk/terminal/controller.d.ts +13 -0
  28. package/dist/sdk/terminal/controller.js +56 -2
  29. package/dist/sdk/terminal/piExtension.js +71 -3
  30. package/dist/sdk/terminal/stallWatch.d.ts +13 -0
  31. package/dist/sdk/terminal/stallWatch.js +16 -0
  32. package/dist/sdk/terminal/standalone.d.ts +2 -0
  33. package/dist/sdk/terminal/standalone.js +9 -2
  34. package/dist/sdk/terminal/terminals.d.ts +12 -0
  35. package/dist/sdk/terminal/terminals.js +87 -2
  36. package/dist/sdk/terminal/tui/commandPages.d.ts +4 -1
  37. package/dist/sdk/terminal/tui/commandPages.js +12 -0
  38. package/dist/sdk/terminal/tui/commands.d.ts +2 -0
  39. package/dist/sdk/terminal/tui/commands.js +18 -1
  40. package/dist/sdk/terminal/tui/markdown.d.ts +16 -0
  41. package/dist/sdk/terminal/tui/markdown.js +55 -0
  42. package/dist/sdk/terminal/tui/pages/contextPage.d.ts +8 -0
  43. package/dist/sdk/terminal/tui/pages/contextPage.js +130 -39
  44. package/dist/sdk/terminal/tui/pages/remoteControlPage.d.ts +32 -0
  45. package/dist/sdk/terminal/tui/pages/remoteControlPage.js +170 -0
  46. package/dist/sdk/terminal/tui/qr.d.ts +4 -0
  47. package/dist/sdk/terminal/tui/qr.js +35 -0
  48. package/dist/sdk/terminal/tui/sideQuestion.d.ts +1 -0
  49. package/dist/sdk/terminal/tui/sideQuestion.js +8 -3
  50. package/dist/sdk/terminal/tui/status.d.ts +6 -0
  51. package/dist/sdk/terminal/tui/status.js +15 -1
  52. package/dist/sdk/terminal/tui/theme.d.ts +9 -0
  53. package/dist/sdk/terminal/tui/theme.js +9 -0
  54. package/dist/terminal-opentui.js +959 -174
  55. package/dist/terminal-pi.js +114 -116
  56. package/docs/architecture/02-sessions-and-runs.md +46 -22
  57. package/docs/architecture/04-prompt.md +10 -0
  58. package/docs/architecture/07-tools-and-gate.md +3 -1
  59. package/docs/architecture/10-server-protocol.md +24 -0
  60. package/docs/architecture/11-terminal.md +40 -8
  61. package/docs/architecture/12-storage.md +5 -2
  62. package/docs/architecture/14-surfaces-and-parity.md +4 -0
  63. package/docs/architecture/15-remote-control.md +118 -0
  64. package/docs/architecture/README.md +2 -0
  65. package/docs/architecture/proposals/PROP-0049-context-attribution.md +28 -1
  66. package/docs/architecture/proposals/README.md +2 -2
  67. package/docs/decisions/ADR-0039-progress-aware-stall-guards.md +4 -0
  68. package/docs/decisions/ADR-0053-no-repeated-work-guard.md +45 -0
  69. package/docs/decisions/ADR-0054-terminal-reply-heartbeat-and-stall.md +52 -0
  70. package/docs/decisions/ADR-0055-plan-output-repair.md +51 -0
  71. package/docs/decisions/ADR-0056-remote-control.md +53 -0
  72. package/docs/decisions/ADR-0057-structured-plan-outcomes.md +39 -0
  73. package/docs/decisions/ADR-0058-ask-user-only-plan-clarification.md +36 -0
  74. package/docs/parity.md +8 -4
  75. package/docs/releases/1.3.1-unstable.4.md +56 -0
  76. package/docs/terminal-tui.md +15 -3
  77. package/package.json +3 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - Render the `/btw` side answer as Markdown instead of plain text. Headings, emphasis, lists,
6
+ quotes, links, tables and fenced code use the theme's markdown colours, and a streaming answer
7
+ re-renders in place. Terminal control sequences in model output are still removed.
8
+
9
+ - Add `/remote-control` (alias `/rc`): continue a terminal session from a phone or iPad, as Claude
10
+ Code's `/rc` does, without a cloud relay. The harness serves a small phone page on the computer's
11
+ Tailscale address, or its private Wi-Fi address, and the terminal shows a QR code for a one-device
12
+ pairing link. The person at the terminal allows each device; a paired phone then sends messages,
13
+ watches the reply stream, stops it, and answers approvals and questions through the same paths
14
+ the terminal uses. Every body is sealed with a key that reaches the phone only in the QR code's
15
+ fragment, keys live in memory, and remote control ends with the session. `xagent --remote-control`
16
+ turns it on at start; `/rc off` stops it. Terminal runs now also record streamed `message.delta`
17
+ events. New dependencies: `tweetnacl`, `uqr` (ADR-0056, page 15).
18
+
19
+ - Recover a plan run whose reply loses its plan block. An attended top-level plan run now makes one
20
+ hidden format-repair turn in the same run, asking the model to re-send its own plan in one complete
21
+ block; a failed repair leaves the run completed and the terminal shows a warning instead of a plan
22
+ choice. The plan-research children, commands, probes, improvers, reflections and other unattended
23
+ runs are unchanged (ADR-0055).
24
+
25
+ - A live terminal reply now reports a heartbeat every 30 seconds, and one that produces nothing but
26
+ heartbeats for 15 minutes is ended as `interrupted` with reason `stalled` instead of showing a run
27
+ that never settles. A running tool gets 30 minutes and an unanswered approval or question is never
28
+ cut short. Before this, a terminal reply reported no heartbeat at all, so the run sweep waited the
29
+ full 30-minute silence window and recorded `owner_gone` while the process was alive (ADR-0054).
30
+
31
+ - Stop refusing repeated work. A reply is no longer refused, or ended, for calling the same tool
32
+ with the same arguments three times, for a Bash check that keeps failing, or for editing one path
33
+ more than four times: those calls are ordinary work, and the reply budget is the single bound. The
34
+ 320-call/60-minute budget, its checkpoint handoff, slice continuation and the three-compaction
35
+ thrash rule are unchanged, and the `stuck` checkpoint reason stays readable in existing runs
36
+ (ADR-0053).
37
+
5
38
  - Make a skill named in a message required for that request. `$name` is a skill invocation at any
6
39
  word start, not only as the first token: `Launch.requiredSkills` carries it and the compiler
7
40
  renders a built-in dynamic `required-skills` section (order 52, 12,000 characters) from the pinned