@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.
- package/README.md +82 -0
- package/bin/vicoa.js +38 -0
- package/package.json +32 -12
- package/bin/_internal/VCRUNTIME140.dll +0 -0
- package/bin/_internal/VCRUNTIME140_1.dll +0 -0
- package/bin/_internal/_asyncio.pyd +0 -0
- package/bin/_internal/_bz2.pyd +0 -0
- package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/_ctypes.pyd +0 -0
- package/bin/_internal/_decimal.pyd +0 -0
- package/bin/_internal/_hashlib.pyd +0 -0
- package/bin/_internal/_lzma.pyd +0 -0
- package/bin/_internal/_multiprocessing.pyd +0 -0
- package/bin/_internal/_overlapped.pyd +0 -0
- package/bin/_internal/_queue.pyd +0 -0
- package/bin/_internal/_socket.pyd +0 -0
- package/bin/_internal/_sqlite3.pyd +0 -0
- package/bin/_internal/_ssl.pyd +0 -0
- package/bin/_internal/_uuid.pyd +0 -0
- package/bin/_internal/_wmi.pyd +0 -0
- package/bin/_internal/_zoneinfo.pyd +0 -0
- package/bin/_internal/aiofile-3.12.3.dist-info/INSTALLER +0 -1
- package/bin/_internal/aiofile-3.12.3.dist-info/METADATA +0 -564
- package/bin/_internal/aiofile-3.12.3.dist-info/RECORD +0 -15
- package/bin/_internal/aiofile-3.12.3.dist-info/WHEEL +0 -4
- package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE +0 -195
- package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE.md +0 -195
- package/bin/_internal/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp-3.14.3.dist-info/INSTALLER +0 -1
- package/bin/_internal/aiohttp-3.14.3.dist-info/METADATA +0 -257
- package/bin/_internal/aiohttp-3.14.3.dist-info/RECORD +0 -130
- package/bin/_internal/aiohttp-3.14.3.dist-info/WHEEL +0 -5
- package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/LICENSE.txt +0 -201
- package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/vendor/llhttp/LICENSE +0 -22
- package/bin/_internal/aiohttp-3.14.3.dist-info/top_level.txt +0 -1
- package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
- package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
- package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
- package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
- package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/certifi/cacert.pem +0 -3959
- package/bin/_internal/certifi/py.typed +0 -0
- package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/click-8.5.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/click-8.5.0.dist-info/METADATA +0 -83
- package/bin/_internal/click-8.5.0.dist-info/RECORD +0 -40
- package/bin/_internal/click-8.5.0.dist-info/WHEEL +0 -4
- package/bin/_internal/click-8.5.0.dist-info/licenses/LICENSE.txt +0 -28
- package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
- package/bin/_internal/cryptography-50.0.1.dist-info/INSTALLER +0 -1
- package/bin/_internal/cryptography-50.0.1.dist-info/METADATA +0 -110
- package/bin/_internal/cryptography-50.0.1.dist-info/RECORD +0 -199
- package/bin/_internal/cryptography-50.0.1.dist-info/WHEEL +0 -4
- package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE +0 -3
- package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.APACHE +0 -202
- package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.BSD +0 -27
- package/bin/_internal/cryptography-50.0.1.dist-info/sboms/cryptography-rust.cyclonedx.json +0 -1365
- package/bin/_internal/cryptography-50.0.1.dist-info/sboms/sbom.json +0 -43
- package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +0 -466
- package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +0 -27
- package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +0 -5
- package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +0 -27
- package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +0 -1
- package/bin/_internal/fastmcp-4.0.3.dist-info/INSTALLER +0 -1
- package/bin/_internal/fastmcp-4.0.3.dist-info/METADATA +0 -161
- package/bin/_internal/fastmcp-4.0.3.dist-info/RECORD +0 -5
- package/bin/_internal/fastmcp-4.0.3.dist-info/WHEEL +0 -4
- package/bin/_internal/fastmcp-4.0.3.dist-info/licenses/LICENSE +0 -201
- package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/httpcore2-2.12.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/httpcore2-2.12.0.dist-info/METADATA +0 -737
- package/bin/_internal/httpcore2-2.12.0.dist-info/RECORD +0 -68
- package/bin/_internal/httpcore2-2.12.0.dist-info/WHEEL +0 -4
- package/bin/_internal/httpcore2-2.12.0.dist-info/licenses/LICENSE.md +0 -28
- package/bin/_internal/httpx2-2.12.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/httpx2-2.12.0.dist-info/METADATA +0 -230
- package/bin/_internal/httpx2-2.12.0.dist-info/RECORD +0 -68
- package/bin/_internal/httpx2-2.12.0.dist-info/WHEEL +0 -4
- package/bin/_internal/httpx2-2.12.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/httpx2-2.12.0.dist-info/licenses/LICENSE.md +0 -13
- package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
- package/bin/_internal/integrations/headless/tests/README.md +0 -58
- package/bin/_internal/integrations/headless/tests/fixtures/omp/01-text.jsonl +0 -22
- package/bin/_internal/integrations/headless/tests/fixtures/omp/02-tools.jsonl +0 -41
- package/bin/_internal/integrations/headless/tests/fixtures/omp/03-hosttool.jsonl +0 -44
- package/bin/_internal/integrations/headless/tests/fixtures/omp/04-approval.jsonl +0 -68
- package/bin/_internal/integrations/headless/tests/fixtures/omp/05-todo.jsonl +0 -146
- package/bin/_internal/integrations/headless/tests/fixtures/omp/06-subagent.jsonl +0 -273
- package/bin/_internal/integrations/headless/tests/fixtures/omp/README.md +0 -108
- package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +0 -2653
- package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +0 -170
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +0 -82
- package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +0 -4
- package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +0 -19
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +0 -42
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +0 -56
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +0 -17
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +0 -57
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +0 -37
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +0 -98
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +0 -58
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +0 -48
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +0 -17
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +0 -51
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +0 -37
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +0 -15
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +0 -98
- package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +0 -172
- package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +0 -149
- package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +0 -153
- package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +0 -166
- package/bin/_internal/libcrypto-3.dll +0 -0
- package/bin/_internal/libffi-8.dll +0 -0
- package/bin/_internal/libssl-3.dll +0 -0
- package/bin/_internal/mcp-2.2.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/mcp-2.2.0.dist-info/METADATA +0 -179
- package/bin/_internal/mcp-2.2.0.dist-info/RECORD +0 -254
- package/bin/_internal/mcp-2.2.0.dist-info/WHEEL +0 -4
- package/bin/_internal/mcp-2.2.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/mcp-2.2.0.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/METADATA +0 -43
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/RECORD +0 -78
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/WHEEL +0 -4
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/entry_points.txt +0 -15
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/licenses/LICENSE +0 -201
- package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/pydantic-2.13.5.dist-info/INSTALLER +0 -1
- package/bin/_internal/pydantic-2.13.5.dist-info/METADATA +0 -1307
- package/bin/_internal/pydantic-2.13.5.dist-info/RECORD +0 -217
- package/bin/_internal/pydantic-2.13.5.dist-info/WHEEL +0 -4
- package/bin/_internal/pydantic-2.13.5.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/pyexpat.pyd +0 -0
- package/bin/_internal/python3.dll +0 -0
- package/bin/_internal/python312.dll +0 -0
- package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
- package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
- package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/select.pyd +0 -0
- package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
- package/bin/_internal/sqlite3.dll +0 -0
- package/bin/_internal/ucrtbase.dll +0 -0
- package/bin/_internal/unicodedata.pyd +0 -0
- package/bin/_internal/vicoa-1.8.1.dist-info/INSTALLER +0 -1
- package/bin/_internal/vicoa-1.8.1.dist-info/METADATA +0 -111
- package/bin/_internal/vicoa-1.8.1.dist-info/RECORD +0 -10
- package/bin/_internal/vicoa-1.8.1.dist-info/REQUESTED +0 -0
- package/bin/_internal/vicoa-1.8.1.dist-info/WHEEL +0 -5
- package/bin/_internal/vicoa-1.8.1.dist-info/direct_url.json +0 -1
- package/bin/_internal/vicoa-1.8.1.dist-info/entry_points.txt +0 -2
- package/bin/_internal/vicoa-1.8.1.dist-info/top_level.txt +0 -4
- package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/websockets-17.1.dist-info/INSTALLER +0 -1
- package/bin/_internal/websockets-17.1.dist-info/METADATA +0 -170
- package/bin/_internal/websockets-17.1.dist-info/RECORD +0 -116
- package/bin/_internal/websockets-17.1.dist-info/WHEEL +0 -5
- package/bin/_internal/websockets-17.1.dist-info/entry_points.txt +0 -2
- package/bin/_internal/websockets-17.1.dist-info/licenses/LICENSE +0 -24
- package/bin/_internal/websockets-17.1.dist-info/top_level.txt +0 -1
- package/bin/_internal/win32/_win32sysloader.pyd +0 -0
- package/bin/_internal/win32/win32api.pyd +0 -0
- package/bin/_internal/win32/win32evtlog.pyd +0 -0
- package/bin/_internal/win32/win32job.pyd +0 -0
- package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
- 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.
|
|
Binary file
|