@vicoa/cli 1.8.1-win32-x64 → 1.8.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.
Files changed (224) hide show
  1. package/README.md +82 -0
  2. package/bin/vicoa.js +38 -0
  3. package/package.json +32 -12
  4. package/bin/_internal/VCRUNTIME140.dll +0 -0
  5. package/bin/_internal/VCRUNTIME140_1.dll +0 -0
  6. package/bin/_internal/_asyncio.pyd +0 -0
  7. package/bin/_internal/_bz2.pyd +0 -0
  8. package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
  9. package/bin/_internal/_ctypes.pyd +0 -0
  10. package/bin/_internal/_decimal.pyd +0 -0
  11. package/bin/_internal/_hashlib.pyd +0 -0
  12. package/bin/_internal/_lzma.pyd +0 -0
  13. package/bin/_internal/_multiprocessing.pyd +0 -0
  14. package/bin/_internal/_overlapped.pyd +0 -0
  15. package/bin/_internal/_queue.pyd +0 -0
  16. package/bin/_internal/_socket.pyd +0 -0
  17. package/bin/_internal/_sqlite3.pyd +0 -0
  18. package/bin/_internal/_ssl.pyd +0 -0
  19. package/bin/_internal/_uuid.pyd +0 -0
  20. package/bin/_internal/_wmi.pyd +0 -0
  21. package/bin/_internal/_zoneinfo.pyd +0 -0
  22. package/bin/_internal/aiofile-3.12.3.dist-info/INSTALLER +0 -1
  23. package/bin/_internal/aiofile-3.12.3.dist-info/METADATA +0 -564
  24. package/bin/_internal/aiofile-3.12.3.dist-info/RECORD +0 -15
  25. package/bin/_internal/aiofile-3.12.3.dist-info/WHEEL +0 -4
  26. package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE +0 -195
  27. package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE.md +0 -195
  28. package/bin/_internal/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
  29. package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
  30. package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
  31. package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
  32. package/bin/_internal/aiohttp-3.14.3.dist-info/INSTALLER +0 -1
  33. package/bin/_internal/aiohttp-3.14.3.dist-info/METADATA +0 -257
  34. package/bin/_internal/aiohttp-3.14.3.dist-info/RECORD +0 -130
  35. package/bin/_internal/aiohttp-3.14.3.dist-info/WHEEL +0 -5
  36. package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/LICENSE.txt +0 -201
  37. package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/vendor/llhttp/LICENSE +0 -22
  38. package/bin/_internal/aiohttp-3.14.3.dist-info/top_level.txt +0 -1
  39. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  52. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  59. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  60. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  61. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  62. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  63. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  64. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  65. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  66. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  67. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  68. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  69. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  70. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  71. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  72. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  73. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  74. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  75. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  76. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  77. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  78. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  79. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  80. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  81. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
  82. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
  83. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
  84. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
  85. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
  86. package/bin/_internal/base_library.zip +0 -0
  87. package/bin/_internal/certifi/cacert.pem +0 -3959
  88. package/bin/_internal/certifi/py.typed +0 -0
  89. package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
  90. package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
  91. package/bin/_internal/click-8.5.0.dist-info/INSTALLER +0 -1
  92. package/bin/_internal/click-8.5.0.dist-info/METADATA +0 -83
  93. package/bin/_internal/click-8.5.0.dist-info/RECORD +0 -40
  94. package/bin/_internal/click-8.5.0.dist-info/WHEEL +0 -4
  95. package/bin/_internal/click-8.5.0.dist-info/licenses/LICENSE.txt +0 -28
  96. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  97. package/bin/_internal/cryptography-50.0.1.dist-info/INSTALLER +0 -1
  98. package/bin/_internal/cryptography-50.0.1.dist-info/METADATA +0 -110
  99. package/bin/_internal/cryptography-50.0.1.dist-info/RECORD +0 -199
  100. package/bin/_internal/cryptography-50.0.1.dist-info/WHEEL +0 -4
  101. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE +0 -3
  102. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.APACHE +0 -202
  103. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.BSD +0 -27
  104. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/cryptography-rust.cyclonedx.json +0 -1365
  105. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/sbom.json +0 -43
  106. package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +0 -1
  107. package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +0 -466
  108. package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +0 -27
  109. package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +0 -5
  110. package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +0 -2
  111. package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +0 -27
  112. package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +0 -1
  113. package/bin/_internal/fastmcp-4.0.3.dist-info/INSTALLER +0 -1
  114. package/bin/_internal/fastmcp-4.0.3.dist-info/METADATA +0 -161
  115. package/bin/_internal/fastmcp-4.0.3.dist-info/RECORD +0 -5
  116. package/bin/_internal/fastmcp-4.0.3.dist-info/WHEEL +0 -4
  117. package/bin/_internal/fastmcp-4.0.3.dist-info/licenses/LICENSE +0 -201
  118. package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
  119. package/bin/_internal/httpcore2-2.12.0.dist-info/INSTALLER +0 -1
  120. package/bin/_internal/httpcore2-2.12.0.dist-info/METADATA +0 -737
  121. package/bin/_internal/httpcore2-2.12.0.dist-info/RECORD +0 -68
  122. package/bin/_internal/httpcore2-2.12.0.dist-info/WHEEL +0 -4
  123. package/bin/_internal/httpcore2-2.12.0.dist-info/licenses/LICENSE.md +0 -28
  124. package/bin/_internal/httpx2-2.12.0.dist-info/INSTALLER +0 -1
  125. package/bin/_internal/httpx2-2.12.0.dist-info/METADATA +0 -230
  126. package/bin/_internal/httpx2-2.12.0.dist-info/RECORD +0 -68
  127. package/bin/_internal/httpx2-2.12.0.dist-info/WHEEL +0 -4
  128. package/bin/_internal/httpx2-2.12.0.dist-info/entry_points.txt +0 -2
  129. package/bin/_internal/httpx2-2.12.0.dist-info/licenses/LICENSE.md +0 -13
  130. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
  131. package/bin/_internal/integrations/headless/tests/README.md +0 -58
  132. package/bin/_internal/integrations/headless/tests/fixtures/omp/01-text.jsonl +0 -22
  133. package/bin/_internal/integrations/headless/tests/fixtures/omp/02-tools.jsonl +0 -41
  134. package/bin/_internal/integrations/headless/tests/fixtures/omp/03-hosttool.jsonl +0 -44
  135. package/bin/_internal/integrations/headless/tests/fixtures/omp/04-approval.jsonl +0 -68
  136. package/bin/_internal/integrations/headless/tests/fixtures/omp/05-todo.jsonl +0 -146
  137. package/bin/_internal/integrations/headless/tests/fixtures/omp/06-subagent.jsonl +0 -273
  138. package/bin/_internal/integrations/headless/tests/fixtures/omp/README.md +0 -108
  139. package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
  140. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +0 -2653
  141. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +0 -1
  142. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +0 -170
  143. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +0 -82
  144. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +0 -4
  145. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +0 -2
  146. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +0 -19
  147. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +0 -42
  148. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +0 -56
  149. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +0 -17
  150. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +0 -57
  151. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +0 -14
  152. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +0 -37
  153. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +0 -98
  154. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +0 -58
  155. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +0 -48
  156. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +0 -17
  157. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +0 -51
  158. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +0 -14
  159. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +0 -14
  160. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +0 -37
  161. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +0 -15
  162. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +0 -98
  163. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +0 -172
  164. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +0 -149
  165. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +0 -153
  166. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +0 -166
  167. package/bin/_internal/libcrypto-3.dll +0 -0
  168. package/bin/_internal/libffi-8.dll +0 -0
  169. package/bin/_internal/libssl-3.dll +0 -0
  170. package/bin/_internal/mcp-2.2.0.dist-info/INSTALLER +0 -1
  171. package/bin/_internal/mcp-2.2.0.dist-info/METADATA +0 -179
  172. package/bin/_internal/mcp-2.2.0.dist-info/RECORD +0 -254
  173. package/bin/_internal/mcp-2.2.0.dist-info/WHEEL +0 -4
  174. package/bin/_internal/mcp-2.2.0.dist-info/entry_points.txt +0 -2
  175. package/bin/_internal/mcp-2.2.0.dist-info/licenses/LICENSE +0 -21
  176. package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
  177. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/INSTALLER +0 -1
  178. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/METADATA +0 -43
  179. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/RECORD +0 -78
  180. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/WHEEL +0 -4
  181. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/entry_points.txt +0 -15
  182. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/licenses/LICENSE +0 -201
  183. package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
  184. package/bin/_internal/pydantic-2.13.5.dist-info/INSTALLER +0 -1
  185. package/bin/_internal/pydantic-2.13.5.dist-info/METADATA +0 -1307
  186. package/bin/_internal/pydantic-2.13.5.dist-info/RECORD +0 -217
  187. package/bin/_internal/pydantic-2.13.5.dist-info/WHEEL +0 -4
  188. package/bin/_internal/pydantic-2.13.5.dist-info/licenses/LICENSE +0 -21
  189. package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
  190. package/bin/_internal/pyexpat.pyd +0 -0
  191. package/bin/_internal/python3.dll +0 -0
  192. package/bin/_internal/python312.dll +0 -0
  193. package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
  194. package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
  195. package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
  196. package/bin/_internal/select.pyd +0 -0
  197. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  198. package/bin/_internal/sqlite3.dll +0 -0
  199. package/bin/_internal/ucrtbase.dll +0 -0
  200. package/bin/_internal/unicodedata.pyd +0 -0
  201. package/bin/_internal/vicoa-1.8.1.dist-info/INSTALLER +0 -1
  202. package/bin/_internal/vicoa-1.8.1.dist-info/METADATA +0 -111
  203. package/bin/_internal/vicoa-1.8.1.dist-info/RECORD +0 -10
  204. package/bin/_internal/vicoa-1.8.1.dist-info/REQUESTED +0 -0
  205. package/bin/_internal/vicoa-1.8.1.dist-info/WHEEL +0 -5
  206. package/bin/_internal/vicoa-1.8.1.dist-info/direct_url.json +0 -1
  207. package/bin/_internal/vicoa-1.8.1.dist-info/entry_points.txt +0 -2
  208. package/bin/_internal/vicoa-1.8.1.dist-info/top_level.txt +0 -4
  209. package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
  210. package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
  211. package/bin/_internal/websockets-17.1.dist-info/INSTALLER +0 -1
  212. package/bin/_internal/websockets-17.1.dist-info/METADATA +0 -170
  213. package/bin/_internal/websockets-17.1.dist-info/RECORD +0 -116
  214. package/bin/_internal/websockets-17.1.dist-info/WHEEL +0 -5
  215. package/bin/_internal/websockets-17.1.dist-info/entry_points.txt +0 -2
  216. package/bin/_internal/websockets-17.1.dist-info/licenses/LICENSE +0 -24
  217. package/bin/_internal/websockets-17.1.dist-info/top_level.txt +0 -1
  218. package/bin/_internal/win32/_win32sysloader.pyd +0 -0
  219. package/bin/_internal/win32/win32api.pyd +0 -0
  220. package/bin/_internal/win32/win32evtlog.pyd +0 -0
  221. package/bin/_internal/win32/win32job.pyd +0 -0
  222. package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
  223. package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
  224. package/bin/vicoa.exe +0 -0
@@ -1,108 +0,0 @@
1
- # OMP (`oh-my-pi`) RPC wire traces
2
-
3
- Real frames captured from `omp --mode rpc`, one JSONL file per scenario, one
4
- frame per line, verbatim except for the sanitization noted below. These are the
5
- ground truth for the Pi/OMP wrapper's transport and event mapper — write the
6
- parsers against these, not against a hand-written idea of the protocol.
7
-
8
- Captured **2026-09-05** against:
9
-
10
- | | |
11
- |---|---|
12
- | binary | `omp` 18.1.10 (`@oh-my-pi/pi-coding-agent`, needs Bun ≥ 1.3.14) |
13
- | model | `claude-haiku-4-5-20251001` (via `--model haiku`) |
14
- | flags | `--mode rpc --no-session --model haiku` (+ per-scenario extras) |
15
-
16
- Regenerate with `capture.py` in this directory (see "Reproducing" below).
17
-
18
- ## Scenarios
19
-
20
- | file | what it exercises | notable frames |
21
- |---|---|---|
22
- | `01-text.jsonl` | plain text turn, no tools | full `thinking_*` → `text_*` delta sequence, `turn_end` |
23
- | `02-tools.jsonl` | native `read` tool | `tool_execution_start` / `_end` |
24
- | `03-hosttool.jsonl` | full host-tool round trip | `host_tool_call`, our `host_tool_update` / `host_tool_result` reflected back |
25
- | `04-approval.jsonl` | `--approval-mode always-ask` | the real permission dialog |
26
- | `05-todo.jsonl` | todo list creation | `todo_reminder` + the native `todo` tool call |
27
- | `06-subagent.jsonl` | `set_subagent_subscription: "events"` | `subagent_lifecycle` ×2, `subagent_progress` ×31, `subagent_event` ×110 |
28
-
29
- ## Sanitization
30
-
31
- Only `available_commands_update` frames were modified: the real ones carry the
32
- operator's full private slash-command and skill list (76 commands, 31 of them
33
- personal skills). They are replaced with a small synthetic set that preserves
34
- the shape, including a `subcommands` entry. **Every other frame is verbatim.**
35
- No credentials, tokens or home-directory paths appear in any file (the capture
36
- ran in `/tmp`).
37
-
38
- ## What these traces proved
39
-
40
- Seven places where the real 18.1.10 wire disagrees with paseo's schemas
41
- (`packages/server/src/server/agent/providers/omp/rpc-types.ts`, pinned to a
42
- 16.3.9 floor). Paseo uses `z.discriminatedUnion`, so unmodelled event types fail
43
- `safeParse` and are silently dropped:
44
-
45
- 1. **`turn_end`** is a real event carrying the terminal assistant message plus
46
- `usage`. Not in paseo's union at all.
47
- 2. **`tool_execution_start.intent`** — a human-readable label
48
- (`"Reading sample.txt"`, `"Listing Vicoa sessions with limit 5"`). Unmodelled,
49
- and better than anything we would synthesize from `args` for a tool-card
50
- header.
51
- 3. **`todo_reminder.attempt` / `.maxAttempts`** — unmodelled.
52
- 4. **`available_commands_update` commands carry `subcommands`** — unmodelled.
53
- 5. **`subagent_event.payload.event` includes `advisor_cost_changed` and
54
- `thinking_level_changed`** — event types absent from paseo's union entirely.
55
- 6. **`get_session_stats`** returns `sessionId`, `userMessages`,
56
- `assistantMessages`, `toolCalls`, `toolResults`, `totalMessages`,
57
- `premiumRequests` and `tokens.reasoning` beyond paseo's shape.
58
- 7. **`get_state.model`** carries `int`, `tps`, `thinking:{mode,efforts,supportsDisplay}`,
59
- `identity:{class,family,revision}`, `requiresGlyphTokenization`, `tokenizer`,
60
- `supportsComputerUse`, `compat:{…}`.
61
-
62
- ⇒ **Parse extra-allow. Never use a closed union for OMP event types** — dispatch
63
- on `type` with an explicit default branch that logs and drops.
64
-
65
- ## Facts the traces settle
66
-
67
- - **Delta order** is `thinking_start` → `thinking_delta`* → `thinking_end` →
68
- `text_start` → `text_delta`* → `text_end`, each wrapped in
69
- `message_update.assistantMessageEvent`. Thinking blocks also carry a
70
- `thinkingSignature` in the final message.
71
- - **`turn_*` is per model round trip, `agent_*` is per user prompt.** A single
72
- tool-using prompt produces `agent_start` → (`turn_start`…`turn_end`) ×2 →
73
- `agent_end`. Do not treat `turn_end` as end-of-work.
74
- - **The `prompt` ack can be `data: null`** — not always `{agentInvoked}`. Do not
75
- assume an object.
76
- - **Host tools render as ordinary tools.** A `host_tool_call` also emits the
77
- normal `tool_execution_start` / `_update` / `_end` triple, and our
78
- `host_tool_update.partialResult` comes back as
79
- `tool_execution_update.partialResult`. No separate rendering path is needed —
80
- and streaming progress works for free.
81
- - **`host_tool_call` uses two distinct ids**: `id` (correlation id; the one that
82
- must be echoed in `host_tool_result`) and `toolCallId` (the model's
83
- `toolu_…` id, which is what the `tool_execution_*` events key on).
84
- - **Permission prompts arrive as `extension_ui_request` with `method: "select"`**,
85
- a multi-line free-text `title` holding the whole prompt, and
86
- `options: ["Approve", "Deny"]`. Maps onto `headless/permission.py`'s existing
87
- prompt + options rendering.
88
- - **`extension_ui_request` also fires with `method: "setWidget"`** in plain
89
- `--mode rpc` (not just `rpc-ui`), at session start and end. Unknown methods
90
- must be ignored silently.
91
- - **`subagent_event` is a firehose** — 110 frames for one trivial subagent, since
92
- it nests the child's entire event stream. Default
93
- `set_subagent_subscription` to `"progress"`, not `"events"`, and derive cards
94
- from `subagent_lifecycle` + `subagent_progress`.
95
- - **`subagent_lifecycle.payload.id` is a human-readable name** (`"DelightedDinosaur"`),
96
- not a UUID, and `parentToolCallId` is what links a subagent to its Task card.
97
-
98
- ## Reproducing
99
-
100
- Requires an authenticated `omp` on the machine (`omp` → `/login`). Costs a few
101
- cents on haiku.
102
-
103
- ```bash
104
- cd backend/src/integrations/headless/tests/fixtures/omp
105
- python3 capture.py # rewrites the *.jsonl files in place
106
- ```
107
-
108
- Re-sanitize `available_commands_update` before committing anything regenerated.