ummaya 0.2.3 → 0.2.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.
- package/README.md +2 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/prompts/manifest.yaml +2 -2
- package/prompts/session_guidance_v1.md +3 -1
- package/prompts/system_v1.md +8 -7
- package/pyproject.toml +2 -7
- package/src/ummaya/context/builder.py +17 -11
- package/src/ummaya/engine/engine.py +27 -7
- package/src/ummaya/engine/query.py +20 -0
- package/src/ummaya/evidence/__init__.py +25 -0
- package/src/ummaya/evidence/__main__.py +7 -0
- package/src/ummaya/evidence/models.py +58 -0
- package/src/ummaya/evidence/runner.py +308 -0
- package/src/ummaya/evidence/task_registry.py +264 -0
- package/src/ummaya/ipc/frame_schema.py +47 -0
- package/src/ummaya/ipc/stdio.py +1287 -54
- package/src/ummaya/llm/client.py +132 -56
- package/src/ummaya/llm/reasoning.py +84 -0
- package/src/ummaya/tools/discovery_bridge.py +17 -1
- package/src/ummaya/tools/executor.py +32 -12
- package/src/ummaya/tools/geocoding/kakao_client.py +1 -2
- package/src/ummaya/tools/kma/apihub_catalog.py +984 -1
- package/src/ummaya/tools/kma/apihub_structured_adapter.py +86 -6
- package/src/ummaya/tools/kma/apihub_url_adapter.py +593 -0
- package/src/ummaya/tools/kma/apihub_url_catalog.py +296 -0
- package/src/ummaya/tools/location_adapters.py +8 -6
- package/src/ummaya/tools/manifest_metadata.py +16 -3
- package/src/ummaya/tools/mvp_surface.py +2 -2
- package/src/ummaya/tools/nmc/emergency_search.py +8 -6
- package/src/ummaya/tools/register_all.py +9 -0
- package/src/ummaya/tools/resolve_location.py +4 -4
- package/src/ummaya/tools/search.py +664 -18
- package/src/ummaya/tools/verified_data_go_kr/_manifest.py +115 -25
- package/src/ummaya/tools/verified_data_go_kr/airkorea_air_quality.py +109 -4
- package/src/ummaya/tools/verified_data_go_kr/nmc_aed_site.py +108 -2
- package/src/ummaya/tools/verified_data_go_kr/pps_bid_public_info.py +174 -9
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_arrival.py +66 -3
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_location.py +12 -2
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_route.py +8 -2
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_route_station.py +114 -0
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_station.py +14 -3
- package/src/ummaya/tools/verify_canonical_map.py +21 -0
- package/tui/package.json +1 -2
- package/tui/src/QueryEngine.ts +4 -0
- package/tui/src/cli/handlers/auth.ts +1 -1
- package/tui/src/cli/handlers/mcp.tsx +3 -3
- package/tui/src/cli/print.ts +69 -18
- package/tui/src/cli/update.ts +13 -13
- package/tui/src/commands/copy/index.ts +1 -1
- package/tui/src/commands/cost/cost.ts +2 -2
- package/tui/src/commands/init-verifiers.ts +5 -5
- package/tui/src/commands/init.ts +30 -30
- package/tui/src/commands/insights.ts +43 -43
- package/tui/src/commands/install-github-app/install-github-app.tsx +2 -2
- package/tui/src/commands/install-github-app/setupGitHubActions.ts +3 -3
- package/tui/src/commands/install.tsx +5 -5
- package/tui/src/commands/mcp/addCommand.ts +5 -5
- package/tui/src/commands/mcp/xaaIdpCommand.ts +2 -2
- package/tui/src/commands/plugin/ManageMarketplaces.tsx +2 -2
- package/tui/src/commands/reasoning/index.ts +13 -0
- package/tui/src/commands/reasoning/reasoning.tsx +177 -0
- package/tui/src/commands/thinkback/thinkback.tsx +3 -3
- package/tui/src/commands.ts +2 -0
- package/tui/src/components/Messages.tsx +2 -1
- package/tui/src/components/Spinner.tsx +2 -2
- package/tui/src/components/design-system/LoadingState.tsx +2 -2
- package/tui/src/ipc/codec.ts +26 -0
- package/tui/src/ipc/frames.generated.ts +398 -303
- package/tui/src/ipc/llmClient.ts +130 -51
- package/tui/src/ipc/llmTypes.ts +16 -1
- package/tui/src/ipc/schema/frame.schema.json +1 -3475
- package/tui/src/main.tsx +3 -0
- package/tui/src/query.ts +467 -2
- package/tui/src/screens/REPL.tsx +3 -3
- package/tui/src/services/api/claude.ts +48 -18
- package/tui/src/services/api/client.ts +33 -12
- package/tui/src/services/api/ummaya.ts +70 -16
- package/tui/src/skills/bundled/stuck.ts +12 -12
- package/tui/src/state/AppStateStore.ts +7 -0
- package/tui/src/tools/AdapterTool/AdapterTool.ts +590 -7
- package/tui/src/tools/LookupPrimitive/LookupPrimitive.ts +43 -17
- package/tui/src/tools/LookupPrimitive/prompt.ts +7 -6
- package/tui/src/tools/ResolveLocationPrimitive/ResolveLocationPrimitive.ts +40 -19
- package/tui/src/tools/SubmitPrimitive/SubmitPrimitive.ts +25 -9
- package/tui/src/tools/VerifyPrimitive/VerifyPrimitive.ts +25 -9
- package/tui/src/tools/_shared/citizenUserText.ts +49 -0
- package/tui/src/tools/_shared/directPublicDataGuard.ts +362 -0
- package/tui/src/tools/_shared/kmaAnalysisGuard.ts +197 -0
- package/tui/src/tools/_shared/kmaAviationGuard.ts +70 -0
- package/tui/src/tools/_shared/locationInputRepair.ts +112 -0
- package/tui/src/tools/_shared/nmcAedGuard.ts +234 -0
- package/tui/src/tools/_shared/protectedCheckGuard.ts +207 -0
- package/tui/src/tools/_shared/rootPrimitiveInput.ts +67 -0
- package/tui/src/tools/_shared/textToolCallGuard.ts +91 -0
- package/tui/src/tools/_shared/toolChoiceRepair.ts +866 -0
- package/tui/src/utils/attachments.ts +1 -1
- package/tui/src/utils/kExaoneReasoning.ts +138 -0
- package/tui/src/utils/messages.ts +1 -0
- package/tui/src/utils/multiToolLayout.ts +13 -0
- package/tui/src/utils/processUserInput/processSlashCommand.tsx +2 -2
- package/tui/src/utils/processUserInput/processUserInput.ts +26 -0
- package/tui/src/utils/settings/applySettingsChange.ts +4 -0
- package/tui/src/utils/settings/types.ts +9 -3
- package/tui/src/utils/stats.ts +1 -1
- package/uv.lock +1 -15
- package/assets/copilot-gate-logo.svg +0 -58
- package/assets/govon-logo.svg +0 -40
- package/src/ummaya/eval/__init__.py +0 -5
- package/src/ummaya/eval/retrieval.py +0 -713
- package/tui/src/utils/messageStream.ts +0 -186
|
@@ -13,6 +13,7 @@ export type IPCFrame =
|
|
|
13
13
|
| UserInputFrame
|
|
14
14
|
| ChatRequestFrame
|
|
15
15
|
| AssistantChunkFrame
|
|
16
|
+
| ProgressEventFrame
|
|
16
17
|
| ToolCallFrame
|
|
17
18
|
| ToolResultFrame
|
|
18
19
|
| CoordinatorPhaseFrame
|
|
@@ -188,6 +189,10 @@ export type Temperature = number;
|
|
|
188
189
|
* Nucleus sampling threshold.
|
|
189
190
|
*/
|
|
190
191
|
export type TopP = number;
|
|
192
|
+
/**
|
|
193
|
+
* K-EXAONE/FriendliAI reasoning policy for this assistant turn.
|
|
194
|
+
*/
|
|
195
|
+
export type ReasoningMode = ('fast' | 'balanced' | 'deep' | 'diagnostic' | 'auto') | null;
|
|
191
196
|
/**
|
|
192
197
|
* Opaque session identifier.
|
|
193
198
|
*/
|
|
@@ -267,15 +272,36 @@ export type TransactionId4 = string | null;
|
|
|
267
272
|
/**
|
|
268
273
|
* Frame discriminator.
|
|
269
274
|
*/
|
|
270
|
-
export type Kind3 = '
|
|
275
|
+
export type Kind3 = 'progress_event';
|
|
271
276
|
/**
|
|
272
|
-
*
|
|
277
|
+
* Safe query-loop phase represented by this event.
|
|
273
278
|
*/
|
|
274
|
-
export type
|
|
279
|
+
export type Phase =
|
|
280
|
+
| 'analysis'
|
|
281
|
+
| 'tool_selection'
|
|
282
|
+
| 'tool_call'
|
|
283
|
+
| 'tool_result'
|
|
284
|
+
| 'answer_synthesis';
|
|
275
285
|
/**
|
|
276
|
-
*
|
|
286
|
+
* Korean progress text for the TUI.
|
|
277
287
|
*/
|
|
278
|
-
export type
|
|
288
|
+
export type MessageKo = string;
|
|
289
|
+
/**
|
|
290
|
+
* English fallback progress text.
|
|
291
|
+
*/
|
|
292
|
+
export type MessageEn = string;
|
|
293
|
+
/**
|
|
294
|
+
* True because this channel never carries raw provider chain-of-thought.
|
|
295
|
+
*/
|
|
296
|
+
export type SafeToPersist = boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Concrete adapter/tool id when this event is tied to one.
|
|
299
|
+
*/
|
|
300
|
+
export type ToolId = string | null;
|
|
301
|
+
/**
|
|
302
|
+
* Tool call id when this event is tied to a specific invocation.
|
|
303
|
+
*/
|
|
304
|
+
export type CallId = string | null;
|
|
279
305
|
/**
|
|
280
306
|
* Opaque session identifier.
|
|
281
307
|
*/
|
|
@@ -307,15 +333,15 @@ export type TransactionId5 = string | null;
|
|
|
307
333
|
/**
|
|
308
334
|
* Frame discriminator.
|
|
309
335
|
*/
|
|
310
|
-
export type Kind4 = '
|
|
336
|
+
export type Kind4 = 'tool_call';
|
|
311
337
|
/**
|
|
312
|
-
* ULID correlating this
|
|
338
|
+
* ULID correlating this call to its subsequent tool_result.
|
|
313
339
|
*/
|
|
314
340
|
export type CallId1 = string;
|
|
315
341
|
/**
|
|
316
|
-
*
|
|
342
|
+
* Concrete tool name selected by the model; root primitive names remain valid for legacy transcripts.
|
|
317
343
|
*/
|
|
318
|
-
export type
|
|
344
|
+
export type Name3 = string;
|
|
319
345
|
/**
|
|
320
346
|
* Opaque session identifier.
|
|
321
347
|
*/
|
|
@@ -347,11 +373,15 @@ export type TransactionId6 = string | null;
|
|
|
347
373
|
/**
|
|
348
374
|
* Frame discriminator.
|
|
349
375
|
*/
|
|
350
|
-
export type
|
|
376
|
+
export type Kind5 = 'tool_result';
|
|
351
377
|
/**
|
|
352
|
-
*
|
|
378
|
+
* ULID correlating this result to its originating tool_call.
|
|
379
|
+
*/
|
|
380
|
+
export type CallId2 = string;
|
|
381
|
+
/**
|
|
382
|
+
* Primitive kind discriminator per Spec 031.
|
|
353
383
|
*/
|
|
354
|
-
export type
|
|
384
|
+
export type Kind6 = 'find' | 'locate' | 'send' | 'check';
|
|
355
385
|
/**
|
|
356
386
|
* Opaque session identifier.
|
|
357
387
|
*/
|
|
@@ -383,7 +413,43 @@ export type TransactionId7 = string | null;
|
|
|
383
413
|
/**
|
|
384
414
|
* Frame discriminator.
|
|
385
415
|
*/
|
|
386
|
-
export type Kind7 = '
|
|
416
|
+
export type Kind7 = 'coordinator_phase';
|
|
417
|
+
/**
|
|
418
|
+
* Current coordinator phase.
|
|
419
|
+
*/
|
|
420
|
+
export type Phase1 = 'Research' | 'Synthesis' | 'Implementation' | 'Verification';
|
|
421
|
+
/**
|
|
422
|
+
* Opaque session identifier.
|
|
423
|
+
*/
|
|
424
|
+
export type SessionId7 = string;
|
|
425
|
+
/**
|
|
426
|
+
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
427
|
+
*/
|
|
428
|
+
export type CorrelationId7 = string;
|
|
429
|
+
/**
|
|
430
|
+
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
431
|
+
*/
|
|
432
|
+
export type Ts7 = string;
|
|
433
|
+
/**
|
|
434
|
+
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
435
|
+
*/
|
|
436
|
+
export type Version7 = '1.0';
|
|
437
|
+
/**
|
|
438
|
+
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
439
|
+
*/
|
|
440
|
+
export type Role8 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
441
|
+
/**
|
|
442
|
+
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
443
|
+
*/
|
|
444
|
+
export type FrameSeq7 = number;
|
|
445
|
+
/**
|
|
446
|
+
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
447
|
+
*/
|
|
448
|
+
export type TransactionId8 = string | null;
|
|
449
|
+
/**
|
|
450
|
+
* Frame discriminator.
|
|
451
|
+
*/
|
|
452
|
+
export type Kind8 = 'worker_status';
|
|
387
453
|
/**
|
|
388
454
|
* Unique worker identifier.
|
|
389
455
|
*/
|
|
@@ -403,35 +469,35 @@ export type Status = 'idle' | 'running' | 'waiting_permission' | 'error';
|
|
|
403
469
|
/**
|
|
404
470
|
* Opaque session identifier.
|
|
405
471
|
*/
|
|
406
|
-
export type
|
|
472
|
+
export type SessionId8 = string;
|
|
407
473
|
/**
|
|
408
474
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
409
475
|
*/
|
|
410
|
-
export type
|
|
476
|
+
export type CorrelationId8 = string;
|
|
411
477
|
/**
|
|
412
478
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
413
479
|
*/
|
|
414
|
-
export type
|
|
480
|
+
export type Ts8 = string;
|
|
415
481
|
/**
|
|
416
482
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
417
483
|
*/
|
|
418
|
-
export type
|
|
484
|
+
export type Version8 = '1.0';
|
|
419
485
|
/**
|
|
420
486
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
421
487
|
*/
|
|
422
|
-
export type
|
|
488
|
+
export type Role9 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
423
489
|
/**
|
|
424
490
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
425
491
|
*/
|
|
426
|
-
export type
|
|
492
|
+
export type FrameSeq8 = number;
|
|
427
493
|
/**
|
|
428
494
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
429
495
|
*/
|
|
430
|
-
export type
|
|
496
|
+
export type TransactionId9 = string | null;
|
|
431
497
|
/**
|
|
432
498
|
* Frame discriminator.
|
|
433
499
|
*/
|
|
434
|
-
export type
|
|
500
|
+
export type Kind9 = 'permission_request';
|
|
435
501
|
/**
|
|
436
502
|
* ULID; round-trips in the matching permission_response frame.
|
|
437
503
|
*/
|
|
@@ -459,39 +525,39 @@ export type RiskLevel = 'low' | 'medium' | 'high';
|
|
|
459
525
|
/**
|
|
460
526
|
* Fully-qualified adapter id (e.g. `mock_verify_mobile_id`). Falls back to worker_id || primitive_kind in the TUI when None. None for legacy callers that have not yet been updated.
|
|
461
527
|
*/
|
|
462
|
-
export type
|
|
528
|
+
export type ToolId1 = string | null;
|
|
463
529
|
/**
|
|
464
530
|
* Opaque session identifier.
|
|
465
531
|
*/
|
|
466
|
-
export type
|
|
532
|
+
export type SessionId9 = string;
|
|
467
533
|
/**
|
|
468
534
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
469
535
|
*/
|
|
470
|
-
export type
|
|
536
|
+
export type CorrelationId9 = string;
|
|
471
537
|
/**
|
|
472
538
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
473
539
|
*/
|
|
474
|
-
export type
|
|
540
|
+
export type Ts9 = string;
|
|
475
541
|
/**
|
|
476
542
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
477
543
|
*/
|
|
478
|
-
export type
|
|
544
|
+
export type Version9 = '1.0';
|
|
479
545
|
/**
|
|
480
546
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
481
547
|
*/
|
|
482
|
-
export type
|
|
548
|
+
export type Role10 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
483
549
|
/**
|
|
484
550
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
485
551
|
*/
|
|
486
|
-
export type
|
|
552
|
+
export type FrameSeq9 = number;
|
|
487
553
|
/**
|
|
488
554
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
489
555
|
*/
|
|
490
|
-
export type
|
|
556
|
+
export type TransactionId10 = string | null;
|
|
491
557
|
/**
|
|
492
558
|
* Frame discriminator.
|
|
493
559
|
*/
|
|
494
|
-
export type
|
|
560
|
+
export type Kind10 = 'permission_response';
|
|
495
561
|
/**
|
|
496
562
|
* ULID matching the originating permission_request.request_id.
|
|
497
563
|
*/
|
|
@@ -511,39 +577,39 @@ export type PrimitiveKind1 = ('find' | 'locate' | 'send' | 'check') | null;
|
|
|
511
577
|
/**
|
|
512
578
|
* The fully-qualified adapter id (e.g. `mock_verify_mobile_id`, `mock_submit_welfare_grant`) the citizen authorised. The TUI uses this to render the human-readable Korean adapter name in /consent list and the modal title. None for non-adapter primitives (rare) or legacy backends.
|
|
513
579
|
*/
|
|
514
|
-
export type
|
|
580
|
+
export type ToolId2 = string | null;
|
|
515
581
|
/**
|
|
516
582
|
* Opaque session identifier.
|
|
517
583
|
*/
|
|
518
|
-
export type
|
|
584
|
+
export type SessionId10 = string;
|
|
519
585
|
/**
|
|
520
586
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
521
587
|
*/
|
|
522
|
-
export type
|
|
588
|
+
export type CorrelationId10 = string;
|
|
523
589
|
/**
|
|
524
590
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
525
591
|
*/
|
|
526
|
-
export type
|
|
592
|
+
export type Ts10 = string;
|
|
527
593
|
/**
|
|
528
594
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
529
595
|
*/
|
|
530
|
-
export type
|
|
596
|
+
export type Version10 = '1.0';
|
|
531
597
|
/**
|
|
532
598
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
533
599
|
*/
|
|
534
|
-
export type
|
|
600
|
+
export type Role11 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
535
601
|
/**
|
|
536
602
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
537
603
|
*/
|
|
538
|
-
export type
|
|
604
|
+
export type FrameSeq10 = number;
|
|
539
605
|
/**
|
|
540
606
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
541
607
|
*/
|
|
542
|
-
export type
|
|
608
|
+
export type TransactionId11 = string | null;
|
|
543
609
|
/**
|
|
544
610
|
* Frame discriminator.
|
|
545
611
|
*/
|
|
546
|
-
export type
|
|
612
|
+
export type Kind11 = 'session_event';
|
|
547
613
|
/**
|
|
548
614
|
* Session lifecycle event type.
|
|
549
615
|
*/
|
|
@@ -551,35 +617,35 @@ export type Event = 'save' | 'load' | 'list' | 'resume' | 'new' | 'exit';
|
|
|
551
617
|
/**
|
|
552
618
|
* Opaque session identifier.
|
|
553
619
|
*/
|
|
554
|
-
export type
|
|
620
|
+
export type SessionId11 = string;
|
|
555
621
|
/**
|
|
556
622
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
557
623
|
*/
|
|
558
|
-
export type
|
|
624
|
+
export type CorrelationId11 = string;
|
|
559
625
|
/**
|
|
560
626
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
561
627
|
*/
|
|
562
|
-
export type
|
|
628
|
+
export type Ts11 = string;
|
|
563
629
|
/**
|
|
564
630
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
565
631
|
*/
|
|
566
|
-
export type
|
|
632
|
+
export type Version11 = '1.0';
|
|
567
633
|
/**
|
|
568
634
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
569
635
|
*/
|
|
570
|
-
export type
|
|
636
|
+
export type Role12 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
571
637
|
/**
|
|
572
638
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
573
639
|
*/
|
|
574
|
-
export type
|
|
640
|
+
export type FrameSeq11 = number;
|
|
575
641
|
/**
|
|
576
642
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
577
643
|
*/
|
|
578
|
-
export type
|
|
644
|
+
export type TransactionId12 = string | null;
|
|
579
645
|
/**
|
|
580
646
|
* Frame discriminator.
|
|
581
647
|
*/
|
|
582
|
-
export type
|
|
648
|
+
export type Kind12 = 'error';
|
|
583
649
|
/**
|
|
584
650
|
* Machine-readable error code (e.g., 'backend_crash', 'protocol_mismatch').
|
|
585
651
|
*/
|
|
@@ -591,35 +657,35 @@ export type Message = string;
|
|
|
591
657
|
/**
|
|
592
658
|
* Opaque session identifier.
|
|
593
659
|
*/
|
|
594
|
-
export type
|
|
660
|
+
export type SessionId12 = string;
|
|
595
661
|
/**
|
|
596
662
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
597
663
|
*/
|
|
598
|
-
export type
|
|
664
|
+
export type CorrelationId12 = string;
|
|
599
665
|
/**
|
|
600
666
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
601
667
|
*/
|
|
602
|
-
export type
|
|
668
|
+
export type Ts12 = string;
|
|
603
669
|
/**
|
|
604
670
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
605
671
|
*/
|
|
606
|
-
export type
|
|
672
|
+
export type Version12 = '1.0';
|
|
607
673
|
/**
|
|
608
674
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
609
675
|
*/
|
|
610
|
-
export type
|
|
676
|
+
export type Role13 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
611
677
|
/**
|
|
612
678
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
613
679
|
*/
|
|
614
|
-
export type
|
|
680
|
+
export type FrameSeq12 = number;
|
|
615
681
|
/**
|
|
616
682
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
617
683
|
*/
|
|
618
|
-
export type
|
|
684
|
+
export type TransactionId13 = string | null;
|
|
619
685
|
/**
|
|
620
686
|
* Frame discriminator.
|
|
621
687
|
*/
|
|
622
|
-
export type
|
|
688
|
+
export type Kind13 = 'payload_start';
|
|
623
689
|
/**
|
|
624
690
|
* Payload MIME type.
|
|
625
691
|
*/
|
|
@@ -631,35 +697,35 @@ export type EstimatedBytes = number | null;
|
|
|
631
697
|
/**
|
|
632
698
|
* Opaque session identifier.
|
|
633
699
|
*/
|
|
634
|
-
export type
|
|
700
|
+
export type SessionId13 = string;
|
|
635
701
|
/**
|
|
636
702
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
637
703
|
*/
|
|
638
|
-
export type
|
|
704
|
+
export type CorrelationId13 = string;
|
|
639
705
|
/**
|
|
640
706
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
641
707
|
*/
|
|
642
|
-
export type
|
|
708
|
+
export type Ts13 = string;
|
|
643
709
|
/**
|
|
644
710
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
645
711
|
*/
|
|
646
|
-
export type
|
|
712
|
+
export type Version13 = '1.0';
|
|
647
713
|
/**
|
|
648
714
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
649
715
|
*/
|
|
650
|
-
export type
|
|
716
|
+
export type Role14 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
651
717
|
/**
|
|
652
718
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
653
719
|
*/
|
|
654
|
-
export type
|
|
720
|
+
export type FrameSeq13 = number;
|
|
655
721
|
/**
|
|
656
722
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
657
723
|
*/
|
|
658
|
-
export type
|
|
724
|
+
export type TransactionId14 = string | null;
|
|
659
725
|
/**
|
|
660
726
|
* Frame discriminator.
|
|
661
727
|
*/
|
|
662
|
-
export type
|
|
728
|
+
export type Kind14 = 'payload_delta';
|
|
663
729
|
/**
|
|
664
730
|
* Monotonic within the payload (first delta = 0).
|
|
665
731
|
*/
|
|
@@ -671,35 +737,35 @@ export type Payload1 = string;
|
|
|
671
737
|
/**
|
|
672
738
|
* Opaque session identifier.
|
|
673
739
|
*/
|
|
674
|
-
export type
|
|
740
|
+
export type SessionId14 = string;
|
|
675
741
|
/**
|
|
676
742
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
677
743
|
*/
|
|
678
|
-
export type
|
|
744
|
+
export type CorrelationId14 = string;
|
|
679
745
|
/**
|
|
680
746
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
681
747
|
*/
|
|
682
|
-
export type
|
|
748
|
+
export type Ts14 = string;
|
|
683
749
|
/**
|
|
684
750
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
685
751
|
*/
|
|
686
|
-
export type
|
|
752
|
+
export type Version14 = '1.0';
|
|
687
753
|
/**
|
|
688
754
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
689
755
|
*/
|
|
690
|
-
export type
|
|
756
|
+
export type Role15 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
691
757
|
/**
|
|
692
758
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
693
759
|
*/
|
|
694
|
-
export type
|
|
760
|
+
export type FrameSeq14 = number;
|
|
695
761
|
/**
|
|
696
762
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
697
763
|
*/
|
|
698
|
-
export type
|
|
764
|
+
export type TransactionId15 = string | null;
|
|
699
765
|
/**
|
|
700
766
|
* Frame discriminator.
|
|
701
767
|
*/
|
|
702
|
-
export type
|
|
768
|
+
export type Kind15 = 'payload_end';
|
|
703
769
|
/**
|
|
704
770
|
* Total number of payload_delta frames emitted.
|
|
705
771
|
*/
|
|
@@ -711,35 +777,35 @@ export type Status1 = 'ok' | 'aborted';
|
|
|
711
777
|
/**
|
|
712
778
|
* Opaque session identifier.
|
|
713
779
|
*/
|
|
714
|
-
export type
|
|
780
|
+
export type SessionId15 = string;
|
|
715
781
|
/**
|
|
716
782
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
717
783
|
*/
|
|
718
|
-
export type
|
|
784
|
+
export type CorrelationId15 = string;
|
|
719
785
|
/**
|
|
720
786
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
721
787
|
*/
|
|
722
|
-
export type
|
|
788
|
+
export type Ts15 = string;
|
|
723
789
|
/**
|
|
724
790
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
725
791
|
*/
|
|
726
|
-
export type
|
|
792
|
+
export type Version15 = '1.0';
|
|
727
793
|
/**
|
|
728
794
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
729
795
|
*/
|
|
730
|
-
export type
|
|
796
|
+
export type Role16 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
731
797
|
/**
|
|
732
798
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
733
799
|
*/
|
|
734
|
-
export type
|
|
800
|
+
export type FrameSeq15 = number;
|
|
735
801
|
/**
|
|
736
802
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
737
803
|
*/
|
|
738
|
-
export type
|
|
804
|
+
export type TransactionId16 = string | null;
|
|
739
805
|
/**
|
|
740
806
|
* Frame discriminator.
|
|
741
807
|
*/
|
|
742
|
-
export type
|
|
808
|
+
export type Kind16 = 'backpressure';
|
|
743
809
|
/**
|
|
744
810
|
* Reader action. pause=stop emitting; resume=clear; throttle=slow down.
|
|
745
811
|
*/
|
|
@@ -771,35 +837,35 @@ export type HudCopyEn = string;
|
|
|
771
837
|
/**
|
|
772
838
|
* Opaque session identifier.
|
|
773
839
|
*/
|
|
774
|
-
export type
|
|
840
|
+
export type SessionId16 = string;
|
|
775
841
|
/**
|
|
776
842
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
777
843
|
*/
|
|
778
|
-
export type
|
|
844
|
+
export type CorrelationId16 = string;
|
|
779
845
|
/**
|
|
780
846
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
781
847
|
*/
|
|
782
|
-
export type
|
|
848
|
+
export type Ts16 = string;
|
|
783
849
|
/**
|
|
784
850
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
785
851
|
*/
|
|
786
|
-
export type
|
|
852
|
+
export type Version16 = '1.0';
|
|
787
853
|
/**
|
|
788
854
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
789
855
|
*/
|
|
790
|
-
export type
|
|
856
|
+
export type Role17 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
791
857
|
/**
|
|
792
858
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
793
859
|
*/
|
|
794
|
-
export type
|
|
860
|
+
export type FrameSeq16 = number;
|
|
795
861
|
/**
|
|
796
862
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
797
863
|
*/
|
|
798
|
-
export type
|
|
864
|
+
export type TransactionId17 = string | null;
|
|
799
865
|
/**
|
|
800
866
|
* Frame discriminator.
|
|
801
867
|
*/
|
|
802
|
-
export type
|
|
868
|
+
export type Kind17 = 'resume_request';
|
|
803
869
|
/**
|
|
804
870
|
* Last correlation_id the TUI successfully applied. None if no prior frame.
|
|
805
871
|
*/
|
|
@@ -815,35 +881,35 @@ export type TuiSessionToken = string;
|
|
|
815
881
|
/**
|
|
816
882
|
* Opaque session identifier.
|
|
817
883
|
*/
|
|
818
|
-
export type
|
|
884
|
+
export type SessionId17 = string;
|
|
819
885
|
/**
|
|
820
886
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
821
887
|
*/
|
|
822
|
-
export type
|
|
888
|
+
export type CorrelationId17 = string;
|
|
823
889
|
/**
|
|
824
890
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
825
891
|
*/
|
|
826
|
-
export type
|
|
892
|
+
export type Ts17 = string;
|
|
827
893
|
/**
|
|
828
894
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
829
895
|
*/
|
|
830
|
-
export type
|
|
896
|
+
export type Version17 = '1.0';
|
|
831
897
|
/**
|
|
832
898
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
833
899
|
*/
|
|
834
|
-
export type
|
|
900
|
+
export type Role18 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
835
901
|
/**
|
|
836
902
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
837
903
|
*/
|
|
838
|
-
export type
|
|
904
|
+
export type FrameSeq17 = number;
|
|
839
905
|
/**
|
|
840
906
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
841
907
|
*/
|
|
842
|
-
export type
|
|
908
|
+
export type TransactionId18 = string | null;
|
|
843
909
|
/**
|
|
844
910
|
* Frame discriminator.
|
|
845
911
|
*/
|
|
846
|
-
export type
|
|
912
|
+
export type Kind18 = 'resume_response';
|
|
847
913
|
/**
|
|
848
914
|
* Inclusive lower bound of frames that will be replayed.
|
|
849
915
|
*/
|
|
@@ -863,35 +929,35 @@ export type HeartbeatIntervalMs = number;
|
|
|
863
929
|
/**
|
|
864
930
|
* Opaque session identifier.
|
|
865
931
|
*/
|
|
866
|
-
export type
|
|
932
|
+
export type SessionId18 = string;
|
|
867
933
|
/**
|
|
868
934
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
869
935
|
*/
|
|
870
|
-
export type
|
|
936
|
+
export type CorrelationId18 = string;
|
|
871
937
|
/**
|
|
872
938
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
873
939
|
*/
|
|
874
|
-
export type
|
|
940
|
+
export type Ts18 = string;
|
|
875
941
|
/**
|
|
876
942
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
877
943
|
*/
|
|
878
|
-
export type
|
|
944
|
+
export type Version18 = '1.0';
|
|
879
945
|
/**
|
|
880
946
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
881
947
|
*/
|
|
882
|
-
export type
|
|
948
|
+
export type Role19 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
883
949
|
/**
|
|
884
950
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
885
951
|
*/
|
|
886
|
-
export type
|
|
952
|
+
export type FrameSeq18 = number;
|
|
887
953
|
/**
|
|
888
954
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
889
955
|
*/
|
|
890
|
-
export type
|
|
956
|
+
export type TransactionId19 = string | null;
|
|
891
957
|
/**
|
|
892
958
|
* Frame discriminator.
|
|
893
959
|
*/
|
|
894
|
-
export type
|
|
960
|
+
export type Kind19 = 'resume_rejected';
|
|
895
961
|
/**
|
|
896
962
|
* Machine-readable reason code.
|
|
897
963
|
*/
|
|
@@ -908,35 +974,35 @@ export type Detail = string;
|
|
|
908
974
|
/**
|
|
909
975
|
* Opaque session identifier.
|
|
910
976
|
*/
|
|
911
|
-
export type
|
|
977
|
+
export type SessionId19 = string;
|
|
912
978
|
/**
|
|
913
979
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
914
980
|
*/
|
|
915
|
-
export type
|
|
981
|
+
export type CorrelationId19 = string;
|
|
916
982
|
/**
|
|
917
983
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
918
984
|
*/
|
|
919
|
-
export type
|
|
985
|
+
export type Ts19 = string;
|
|
920
986
|
/**
|
|
921
987
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
922
988
|
*/
|
|
923
|
-
export type
|
|
989
|
+
export type Version19 = '1.0';
|
|
924
990
|
/**
|
|
925
991
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
926
992
|
*/
|
|
927
|
-
export type
|
|
993
|
+
export type Role20 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
928
994
|
/**
|
|
929
995
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
930
996
|
*/
|
|
931
|
-
export type
|
|
997
|
+
export type FrameSeq19 = number;
|
|
932
998
|
/**
|
|
933
999
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
934
1000
|
*/
|
|
935
|
-
export type
|
|
1001
|
+
export type TransactionId20 = string | null;
|
|
936
1002
|
/**
|
|
937
1003
|
* Frame discriminator.
|
|
938
1004
|
*/
|
|
939
|
-
export type
|
|
1005
|
+
export type Kind20 = 'heartbeat';
|
|
940
1006
|
/**
|
|
941
1007
|
* ping from sender, pong from receiver.
|
|
942
1008
|
*/
|
|
@@ -948,35 +1014,35 @@ export type PeerFrameSeq = number;
|
|
|
948
1014
|
/**
|
|
949
1015
|
* Opaque session identifier.
|
|
950
1016
|
*/
|
|
951
|
-
export type
|
|
1017
|
+
export type SessionId20 = string;
|
|
952
1018
|
/**
|
|
953
1019
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
954
1020
|
*/
|
|
955
|
-
export type
|
|
1021
|
+
export type CorrelationId20 = string;
|
|
956
1022
|
/**
|
|
957
1023
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
958
1024
|
*/
|
|
959
|
-
export type
|
|
1025
|
+
export type Ts20 = string;
|
|
960
1026
|
/**
|
|
961
1027
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
962
1028
|
*/
|
|
963
|
-
export type
|
|
1029
|
+
export type Version20 = '1.0';
|
|
964
1030
|
/**
|
|
965
1031
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
966
1032
|
*/
|
|
967
|
-
export type
|
|
1033
|
+
export type Role21 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
968
1034
|
/**
|
|
969
1035
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
970
1036
|
*/
|
|
971
|
-
export type
|
|
1037
|
+
export type FrameSeq20 = number;
|
|
972
1038
|
/**
|
|
973
1039
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
974
1040
|
*/
|
|
975
|
-
export type
|
|
1041
|
+
export type TransactionId21 = string | null;
|
|
976
1042
|
/**
|
|
977
1043
|
* Frame discriminator.
|
|
978
1044
|
*/
|
|
979
|
-
export type
|
|
1045
|
+
export type Kind21 = 'notification_push';
|
|
980
1046
|
/**
|
|
981
1047
|
* Notification channel handle.
|
|
982
1048
|
*/
|
|
@@ -1000,35 +1066,35 @@ export type Payload2 = string;
|
|
|
1000
1066
|
/**
|
|
1001
1067
|
* Opaque session identifier.
|
|
1002
1068
|
*/
|
|
1003
|
-
export type
|
|
1069
|
+
export type SessionId21 = string;
|
|
1004
1070
|
/**
|
|
1005
1071
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
1006
1072
|
*/
|
|
1007
|
-
export type
|
|
1073
|
+
export type CorrelationId21 = string;
|
|
1008
1074
|
/**
|
|
1009
1075
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
1010
1076
|
*/
|
|
1011
|
-
export type
|
|
1077
|
+
export type Ts21 = string;
|
|
1012
1078
|
/**
|
|
1013
1079
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
1014
1080
|
*/
|
|
1015
|
-
export type
|
|
1081
|
+
export type Version21 = '1.0';
|
|
1016
1082
|
/**
|
|
1017
1083
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
1018
1084
|
*/
|
|
1019
|
-
export type
|
|
1085
|
+
export type Role22 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
1020
1086
|
/**
|
|
1021
1087
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
1022
1088
|
*/
|
|
1023
|
-
export type
|
|
1089
|
+
export type FrameSeq21 = number;
|
|
1024
1090
|
/**
|
|
1025
1091
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
1026
1092
|
*/
|
|
1027
|
-
export type
|
|
1093
|
+
export type TransactionId22 = string | null;
|
|
1028
1094
|
/**
|
|
1029
1095
|
* Frame discriminator.
|
|
1030
1096
|
*/
|
|
1031
|
-
export type
|
|
1097
|
+
export type Kind22 = 'plugin_op';
|
|
1032
1098
|
/**
|
|
1033
1099
|
* Operation phase. ``request`` = TUI initiates install/uninstall/list; ``progress`` = backend reports phase tick; ``complete`` = backend reports terminal outcome.
|
|
1034
1100
|
*/
|
|
@@ -1088,35 +1154,35 @@ export type WasIdempotentNoop = boolean | null;
|
|
|
1088
1154
|
/**
|
|
1089
1155
|
* Opaque session identifier.
|
|
1090
1156
|
*/
|
|
1091
|
-
export type
|
|
1157
|
+
export type SessionId22 = string;
|
|
1092
1158
|
/**
|
|
1093
1159
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
1094
1160
|
*/
|
|
1095
|
-
export type
|
|
1161
|
+
export type CorrelationId22 = string;
|
|
1096
1162
|
/**
|
|
1097
1163
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
1098
1164
|
*/
|
|
1099
|
-
export type
|
|
1165
|
+
export type Ts22 = string;
|
|
1100
1166
|
/**
|
|
1101
1167
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
1102
1168
|
*/
|
|
1103
|
-
export type
|
|
1169
|
+
export type Version22 = '1.0';
|
|
1104
1170
|
/**
|
|
1105
1171
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
1106
1172
|
*/
|
|
1107
|
-
export type
|
|
1173
|
+
export type Role23 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
1108
1174
|
/**
|
|
1109
1175
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
1110
1176
|
*/
|
|
1111
|
-
export type
|
|
1177
|
+
export type FrameSeq22 = number;
|
|
1112
1178
|
/**
|
|
1113
1179
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
1114
1180
|
*/
|
|
1115
|
-
export type
|
|
1181
|
+
export type TransactionId23 = string | null;
|
|
1116
1182
|
/**
|
|
1117
1183
|
* Frame discriminator — 21st arm of IPCFrame.
|
|
1118
1184
|
*/
|
|
1119
|
-
export type
|
|
1185
|
+
export type Kind23 = 'adapter_manifest_sync';
|
|
1120
1186
|
/**
|
|
1121
1187
|
* Full registry snapshot. Non-empty (I1); no duplicate tool_id (I2).
|
|
1122
1188
|
*
|
|
@@ -1126,7 +1192,7 @@ export type Entries = [AdapterManifestEntry, ...AdapterManifestEntry[]];
|
|
|
1126
1192
|
/**
|
|
1127
1193
|
* Globally unique adapter id within the registry, e.g. 'nmc_emergency_search'. Lowercase snake-case; validated by I7.
|
|
1128
1194
|
*/
|
|
1129
|
-
export type
|
|
1195
|
+
export type ToolId3 = string;
|
|
1130
1196
|
/**
|
|
1131
1197
|
* Human-readable display name; bilingual permitted.
|
|
1132
1198
|
*/
|
|
@@ -1162,35 +1228,35 @@ export type EmitterPid = number;
|
|
|
1162
1228
|
/**
|
|
1163
1229
|
* Opaque session identifier.
|
|
1164
1230
|
*/
|
|
1165
|
-
export type
|
|
1231
|
+
export type SessionId23 = string;
|
|
1166
1232
|
/**
|
|
1167
1233
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
1168
1234
|
*/
|
|
1169
|
-
export type
|
|
1235
|
+
export type CorrelationId23 = string;
|
|
1170
1236
|
/**
|
|
1171
1237
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
1172
1238
|
*/
|
|
1173
|
-
export type
|
|
1239
|
+
export type Ts23 = string;
|
|
1174
1240
|
/**
|
|
1175
1241
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
1176
1242
|
*/
|
|
1177
|
-
export type
|
|
1243
|
+
export type Version23 = '1.0';
|
|
1178
1244
|
/**
|
|
1179
1245
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
1180
1246
|
*/
|
|
1181
|
-
export type
|
|
1247
|
+
export type Role24 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
1182
1248
|
/**
|
|
1183
1249
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
1184
1250
|
*/
|
|
1185
|
-
export type
|
|
1251
|
+
export type FrameSeq23 = number;
|
|
1186
1252
|
/**
|
|
1187
1253
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
1188
1254
|
*/
|
|
1189
|
-
export type
|
|
1255
|
+
export type TransactionId24 = string | null;
|
|
1190
1256
|
/**
|
|
1191
1257
|
* Frame discriminator — arm 22 of IPCFrame.
|
|
1192
1258
|
*/
|
|
1193
|
-
export type
|
|
1259
|
+
export type Kind24 = 'consent_revoke_request';
|
|
1194
1260
|
/**
|
|
1195
1261
|
* UUIDv4 round-trip correlation ID; matched in consent_revoke_response.
|
|
1196
1262
|
*/
|
|
@@ -1210,35 +1276,35 @@ export type Reason1 = string | null;
|
|
|
1210
1276
|
/**
|
|
1211
1277
|
* Opaque session identifier.
|
|
1212
1278
|
*/
|
|
1213
|
-
export type
|
|
1279
|
+
export type SessionId24 = string;
|
|
1214
1280
|
/**
|
|
1215
1281
|
* UUIDv7 string for new emissions; ULID accepted for back-compat. Non-empty; emitter SHOULD use UUIDv7. (E5)
|
|
1216
1282
|
*/
|
|
1217
|
-
export type
|
|
1283
|
+
export type CorrelationId24 = string;
|
|
1218
1284
|
/**
|
|
1219
1285
|
* ISO-8601 UTC timestamp with sub-ms precision.
|
|
1220
1286
|
*/
|
|
1221
|
-
export type
|
|
1287
|
+
export type Ts24 = string;
|
|
1222
1288
|
/**
|
|
1223
1289
|
* Envelope version. Hard-fail on mismatch (E1, FR-001).
|
|
1224
1290
|
*/
|
|
1225
|
-
export type
|
|
1291
|
+
export type Version24 = '1.0';
|
|
1226
1292
|
/**
|
|
1227
1293
|
* Origin role. Validated against kind<->role allow-list (E3, FR-004).
|
|
1228
1294
|
*/
|
|
1229
|
-
export type
|
|
1295
|
+
export type Role25 = 'tui' | 'backend' | 'tool' | 'llm' | 'notification';
|
|
1230
1296
|
/**
|
|
1231
1297
|
* Per-session monotonic sequence number (ge=0). Gap detection uses this.
|
|
1232
1298
|
*/
|
|
1233
|
-
export type
|
|
1299
|
+
export type FrameSeq24 = number;
|
|
1234
1300
|
/**
|
|
1235
1301
|
* UUIDv7. Populated for idempotent state-change frames (irreversible tools). None for streaming chunks. (FR-026) Non-empty when present (parity with codec.ts ``z.string().min(1).nullable().optional()`` — Spec 2642 § US3).
|
|
1236
1302
|
*/
|
|
1237
|
-
export type
|
|
1303
|
+
export type TransactionId25 = string | null;
|
|
1238
1304
|
/**
|
|
1239
1305
|
* Frame discriminator — arm 23 of IPCFrame.
|
|
1240
1306
|
*/
|
|
1241
|
-
export type
|
|
1307
|
+
export type Kind25 = 'consent_revoke_response';
|
|
1242
1308
|
/**
|
|
1243
1309
|
* Mirrors consent_revoke_request.request_id for round-trip correlation.
|
|
1244
1310
|
*/
|
|
@@ -1312,6 +1378,7 @@ export interface ChatRequestFrame {
|
|
|
1312
1378
|
max_tokens?: MaxTokens;
|
|
1313
1379
|
temperature?: Temperature;
|
|
1314
1380
|
top_p?: TopP;
|
|
1381
|
+
reasoning_mode?: ReasoningMode;
|
|
1315
1382
|
}
|
|
1316
1383
|
/**
|
|
1317
1384
|
* One conversation-history entry carried by ``ChatRequestFrame.messages``.
|
|
@@ -1409,9 +1476,14 @@ export interface AssistantChunkFrame {
|
|
|
1409
1476
|
done: Done;
|
|
1410
1477
|
}
|
|
1411
1478
|
/**
|
|
1412
|
-
* backend -> TUI
|
|
1479
|
+
* backend -> TUI: deterministic query-loop progress.
|
|
1480
|
+
*
|
|
1481
|
+
* This is intentionally separate from ``AssistantChunkFrame.thinking``.
|
|
1482
|
+
* ``progress_event`` carries safe harness state such as analysis, tool
|
|
1483
|
+
* selection, tool dispatch/result, and answer synthesis. Provider reasoning
|
|
1484
|
+
* remains on the gated ``thinking_delta`` channel.
|
|
1413
1485
|
*/
|
|
1414
|
-
export interface
|
|
1486
|
+
export interface ProgressEventFrame {
|
|
1415
1487
|
session_id: SessionId3;
|
|
1416
1488
|
correlation_id: CorrelationId3;
|
|
1417
1489
|
ts: Ts3;
|
|
@@ -1424,20 +1496,17 @@ export interface ToolCallFrame {
|
|
|
1424
1496
|
*/
|
|
1425
1497
|
trailer?: FrameTrailer | null;
|
|
1426
1498
|
kind?: Kind3;
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
*/
|
|
1434
|
-
export interface Arguments1 {
|
|
1435
|
-
[k: string]: any;
|
|
1499
|
+
phase: Phase;
|
|
1500
|
+
message_ko: MessageKo;
|
|
1501
|
+
message_en: MessageEn;
|
|
1502
|
+
safe_to_persist?: SafeToPersist;
|
|
1503
|
+
tool_id?: ToolId;
|
|
1504
|
+
call_id?: CallId;
|
|
1436
1505
|
}
|
|
1437
1506
|
/**
|
|
1438
|
-
* backend -> TUI (
|
|
1507
|
+
* backend -> TUI (display only): a tool invocation decision by the model.
|
|
1439
1508
|
*/
|
|
1440
|
-
export interface
|
|
1509
|
+
export interface ToolCallFrame {
|
|
1441
1510
|
session_id: SessionId4;
|
|
1442
1511
|
correlation_id: CorrelationId4;
|
|
1443
1512
|
ts: Ts4;
|
|
@@ -1451,19 +1520,19 @@ export interface ToolResultFrame {
|
|
|
1451
1520
|
trailer?: FrameTrailer | null;
|
|
1452
1521
|
kind?: Kind4;
|
|
1453
1522
|
call_id: CallId1;
|
|
1454
|
-
|
|
1523
|
+
name: Name3;
|
|
1524
|
+
arguments: Arguments1;
|
|
1455
1525
|
}
|
|
1456
1526
|
/**
|
|
1457
|
-
*
|
|
1527
|
+
* Tool-specific arguments. Concrete adapter calls carry adapter schema fields directly.
|
|
1458
1528
|
*/
|
|
1459
|
-
export interface
|
|
1460
|
-
kind: Kind5;
|
|
1529
|
+
export interface Arguments1 {
|
|
1461
1530
|
[k: string]: any;
|
|
1462
1531
|
}
|
|
1463
1532
|
/**
|
|
1464
|
-
* backend -> TUI:
|
|
1533
|
+
* backend -> TUI (render): the output of a tool invocation.
|
|
1465
1534
|
*/
|
|
1466
|
-
export interface
|
|
1535
|
+
export interface ToolResultFrame {
|
|
1467
1536
|
session_id: SessionId5;
|
|
1468
1537
|
correlation_id: CorrelationId5;
|
|
1469
1538
|
ts: Ts5;
|
|
@@ -1475,13 +1544,21 @@ export interface CoordinatorPhaseFrame {
|
|
|
1475
1544
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1476
1545
|
*/
|
|
1477
1546
|
trailer?: FrameTrailer | null;
|
|
1478
|
-
kind?:
|
|
1479
|
-
|
|
1547
|
+
kind?: Kind5;
|
|
1548
|
+
call_id: CallId2;
|
|
1549
|
+
envelope: ToolResultEnvelope;
|
|
1480
1550
|
}
|
|
1481
1551
|
/**
|
|
1482
|
-
*
|
|
1552
|
+
* Active primitive discriminated union. Unknown kind falls to UnrecognizedPayload.
|
|
1483
1553
|
*/
|
|
1484
|
-
export interface
|
|
1554
|
+
export interface ToolResultEnvelope {
|
|
1555
|
+
kind: Kind6;
|
|
1556
|
+
[k: string]: any;
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* backend -> TUI: Spec 027 coordinator phase update.
|
|
1560
|
+
*/
|
|
1561
|
+
export interface CoordinatorPhaseFrame {
|
|
1485
1562
|
session_id: SessionId6;
|
|
1486
1563
|
correlation_id: CorrelationId6;
|
|
1487
1564
|
ts: Ts6;
|
|
@@ -1494,15 +1571,12 @@ export interface WorkerStatusFrame {
|
|
|
1494
1571
|
*/
|
|
1495
1572
|
trailer?: FrameTrailer | null;
|
|
1496
1573
|
kind?: Kind7;
|
|
1497
|
-
|
|
1498
|
-
role_id: RoleId;
|
|
1499
|
-
current_primitive: CurrentPrimitive;
|
|
1500
|
-
status: Status;
|
|
1574
|
+
phase: Phase1;
|
|
1501
1575
|
}
|
|
1502
1576
|
/**
|
|
1503
|
-
* backend -> TUI:
|
|
1577
|
+
* backend -> TUI: per-worker status row update from Spec 027 swarm.
|
|
1504
1578
|
*/
|
|
1505
|
-
export interface
|
|
1579
|
+
export interface WorkerStatusFrame {
|
|
1506
1580
|
session_id: SessionId7;
|
|
1507
1581
|
correlation_id: CorrelationId7;
|
|
1508
1582
|
ts: Ts7;
|
|
@@ -1515,18 +1589,15 @@ export interface PermissionRequestFrame {
|
|
|
1515
1589
|
*/
|
|
1516
1590
|
trailer?: FrameTrailer | null;
|
|
1517
1591
|
kind?: Kind8;
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
description_en: DescriptionEn;
|
|
1523
|
-
risk_level: RiskLevel;
|
|
1524
|
-
tool_id?: ToolId;
|
|
1592
|
+
worker_id: WorkerId;
|
|
1593
|
+
role_id: RoleId;
|
|
1594
|
+
current_primitive: CurrentPrimitive;
|
|
1595
|
+
status: Status;
|
|
1525
1596
|
}
|
|
1526
1597
|
/**
|
|
1527
|
-
*
|
|
1598
|
+
* backend -> TUI: a worker raises a permission request.
|
|
1528
1599
|
*/
|
|
1529
|
-
export interface
|
|
1600
|
+
export interface PermissionRequestFrame {
|
|
1530
1601
|
session_id: SessionId8;
|
|
1531
1602
|
correlation_id: CorrelationId8;
|
|
1532
1603
|
ts: Ts8;
|
|
@@ -1539,16 +1610,18 @@ export interface PermissionResponseFrame {
|
|
|
1539
1610
|
*/
|
|
1540
1611
|
trailer?: FrameTrailer | null;
|
|
1541
1612
|
kind?: Kind9;
|
|
1542
|
-
request_id:
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1613
|
+
request_id: RequestId;
|
|
1614
|
+
worker_id: WorkerId1;
|
|
1615
|
+
primitive_kind: PrimitiveKind;
|
|
1616
|
+
description_ko: DescriptionKo;
|
|
1617
|
+
description_en: DescriptionEn;
|
|
1618
|
+
risk_level: RiskLevel;
|
|
1546
1619
|
tool_id?: ToolId1;
|
|
1547
1620
|
}
|
|
1548
1621
|
/**
|
|
1549
|
-
*
|
|
1622
|
+
* TUI -> backend: citizen's decision on a permission_request.
|
|
1550
1623
|
*/
|
|
1551
|
-
export interface
|
|
1624
|
+
export interface PermissionResponseFrame {
|
|
1552
1625
|
session_id: SessionId9;
|
|
1553
1626
|
correlation_id: CorrelationId9;
|
|
1554
1627
|
ts: Ts9;
|
|
@@ -1561,19 +1634,16 @@ export interface SessionEventFrame {
|
|
|
1561
1634
|
*/
|
|
1562
1635
|
trailer?: FrameTrailer | null;
|
|
1563
1636
|
kind?: Kind10;
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
*/
|
|
1570
|
-
export interface Payload {
|
|
1571
|
-
[k: string]: any;
|
|
1637
|
+
request_id: RequestId1;
|
|
1638
|
+
decision: Decision;
|
|
1639
|
+
receipt_id?: ReceiptId;
|
|
1640
|
+
primitive_kind?: PrimitiveKind1;
|
|
1641
|
+
tool_id?: ToolId2;
|
|
1572
1642
|
}
|
|
1573
1643
|
/**
|
|
1574
|
-
*
|
|
1644
|
+
* Bidirectional: session lifecycle events.
|
|
1575
1645
|
*/
|
|
1576
|
-
export interface
|
|
1646
|
+
export interface SessionEventFrame {
|
|
1577
1647
|
session_id: SessionId10;
|
|
1578
1648
|
correlation_id: CorrelationId10;
|
|
1579
1649
|
ts: Ts10;
|
|
@@ -1586,23 +1656,19 @@ export interface ErrorFrame {
|
|
|
1586
1656
|
*/
|
|
1587
1657
|
trailer?: FrameTrailer | null;
|
|
1588
1658
|
kind?: Kind11;
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
details: Details;
|
|
1659
|
+
event: Event;
|
|
1660
|
+
payload: Payload;
|
|
1592
1661
|
}
|
|
1593
1662
|
/**
|
|
1594
|
-
*
|
|
1663
|
+
* Event-specific payload. For list: {sessions: [{id, created_at, turn_count}]}. For resume: {id: str}. For others: {}.
|
|
1595
1664
|
*/
|
|
1596
|
-
export interface
|
|
1665
|
+
export interface Payload {
|
|
1597
1666
|
[k: string]: any;
|
|
1598
1667
|
}
|
|
1599
1668
|
/**
|
|
1600
|
-
*
|
|
1601
|
-
*
|
|
1602
|
-
* Sender MUST follow with >= 1 payload_delta and exactly one payload_end.
|
|
1603
|
-
* role allow-list: backend, tool, llm.
|
|
1669
|
+
* backend -> TUI: a backend error surfaced to the TUI for rendering.
|
|
1604
1670
|
*/
|
|
1605
|
-
export interface
|
|
1671
|
+
export interface ErrorFrame {
|
|
1606
1672
|
session_id: SessionId11;
|
|
1607
1673
|
correlation_id: CorrelationId11;
|
|
1608
1674
|
ts: Ts11;
|
|
@@ -1615,15 +1681,23 @@ export interface PayloadStartFrame {
|
|
|
1615
1681
|
*/
|
|
1616
1682
|
trailer?: FrameTrailer | null;
|
|
1617
1683
|
kind?: Kind12;
|
|
1618
|
-
|
|
1619
|
-
|
|
1684
|
+
code: Code;
|
|
1685
|
+
message: Message;
|
|
1686
|
+
details: Details;
|
|
1620
1687
|
}
|
|
1621
1688
|
/**
|
|
1622
|
-
*
|
|
1689
|
+
* Structured error details. UMMAYA_* env var values MUST be redacted.
|
|
1690
|
+
*/
|
|
1691
|
+
export interface Details {
|
|
1692
|
+
[k: string]: any;
|
|
1693
|
+
}
|
|
1694
|
+
/**
|
|
1695
|
+
* Begins a streamed payload (assistant output, tool result chunking).
|
|
1623
1696
|
*
|
|
1697
|
+
* Sender MUST follow with >= 1 payload_delta and exactly one payload_end.
|
|
1624
1698
|
* role allow-list: backend, tool, llm.
|
|
1625
1699
|
*/
|
|
1626
|
-
export interface
|
|
1700
|
+
export interface PayloadStartFrame {
|
|
1627
1701
|
session_id: SessionId12;
|
|
1628
1702
|
correlation_id: CorrelationId12;
|
|
1629
1703
|
ts: Ts12;
|
|
@@ -1636,16 +1710,15 @@ export interface PayloadDeltaFrame {
|
|
|
1636
1710
|
*/
|
|
1637
1711
|
trailer?: FrameTrailer | null;
|
|
1638
1712
|
kind?: Kind13;
|
|
1639
|
-
|
|
1640
|
-
|
|
1713
|
+
content_type: ContentType;
|
|
1714
|
+
estimated_bytes?: EstimatedBytes;
|
|
1641
1715
|
}
|
|
1642
1716
|
/**
|
|
1643
|
-
*
|
|
1717
|
+
* One chunk of a streamed payload.
|
|
1644
1718
|
*
|
|
1645
|
-
* MUST carry a trailer with final=True.
|
|
1646
1719
|
* role allow-list: backend, tool, llm.
|
|
1647
1720
|
*/
|
|
1648
|
-
export interface
|
|
1721
|
+
export interface PayloadDeltaFrame {
|
|
1649
1722
|
session_id: SessionId13;
|
|
1650
1723
|
correlation_id: CorrelationId13;
|
|
1651
1724
|
ts: Ts13;
|
|
@@ -1658,16 +1731,16 @@ export interface PayloadEndFrame {
|
|
|
1658
1731
|
*/
|
|
1659
1732
|
trailer?: FrameTrailer | null;
|
|
1660
1733
|
kind?: Kind14;
|
|
1661
|
-
|
|
1662
|
-
|
|
1734
|
+
delta_seq: DeltaSeq;
|
|
1735
|
+
payload: Payload1;
|
|
1663
1736
|
}
|
|
1664
1737
|
/**
|
|
1665
|
-
*
|
|
1738
|
+
* Terminates a streamed payload.
|
|
1666
1739
|
*
|
|
1667
|
-
*
|
|
1668
|
-
*
|
|
1740
|
+
* MUST carry a trailer with final=True.
|
|
1741
|
+
* role allow-list: backend, tool, llm.
|
|
1669
1742
|
*/
|
|
1670
|
-
export interface
|
|
1743
|
+
export interface PayloadEndFrame {
|
|
1671
1744
|
session_id: SessionId14;
|
|
1672
1745
|
correlation_id: CorrelationId14;
|
|
1673
1746
|
ts: Ts14;
|
|
@@ -1680,20 +1753,16 @@ export interface BackpressureSignalFrame {
|
|
|
1680
1753
|
*/
|
|
1681
1754
|
trailer?: FrameTrailer | null;
|
|
1682
1755
|
kind?: Kind15;
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
queue_depth: QueueDepth;
|
|
1686
|
-
hwm: Hwm;
|
|
1687
|
-
retry_after_ms?: RetryAfterMs;
|
|
1688
|
-
hud_copy_ko: HudCopyKo;
|
|
1689
|
-
hud_copy_en: HudCopyEn;
|
|
1756
|
+
delta_count: DeltaCount;
|
|
1757
|
+
status: Status1;
|
|
1690
1758
|
}
|
|
1691
1759
|
/**
|
|
1692
|
-
*
|
|
1760
|
+
* Emitted when outgoing queue crosses HWM or a 429 condition is detected.
|
|
1693
1761
|
*
|
|
1694
|
-
* role allow-list: tui.
|
|
1762
|
+
* role allow-list: tui (tui_reader), backend (backend_writer, upstream_429).
|
|
1763
|
+
* FR-012, FR-015: hud_copy_ko/en MUST be non-empty (min_length=1).
|
|
1695
1764
|
*/
|
|
1696
|
-
export interface
|
|
1765
|
+
export interface BackpressureSignalFrame {
|
|
1697
1766
|
session_id: SessionId15;
|
|
1698
1767
|
correlation_id: CorrelationId15;
|
|
1699
1768
|
ts: Ts15;
|
|
@@ -1706,18 +1775,20 @@ export interface ResumeRequestFrame {
|
|
|
1706
1775
|
*/
|
|
1707
1776
|
trailer?: FrameTrailer | null;
|
|
1708
1777
|
kind?: Kind16;
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1778
|
+
signal: Signal;
|
|
1779
|
+
source: Source;
|
|
1780
|
+
queue_depth: QueueDepth;
|
|
1781
|
+
hwm: Hwm;
|
|
1782
|
+
retry_after_ms?: RetryAfterMs;
|
|
1783
|
+
hud_copy_ko: HudCopyKo;
|
|
1784
|
+
hud_copy_en: HudCopyEn;
|
|
1712
1785
|
}
|
|
1713
1786
|
/**
|
|
1714
|
-
*
|
|
1787
|
+
* Sent by the reconnecting TUI after a stdio drop.
|
|
1715
1788
|
*
|
|
1716
|
-
*
|
|
1717
|
-
* Trailer with final=True MUST be set (E6).
|
|
1718
|
-
* role allow-list: backend.
|
|
1789
|
+
* role allow-list: tui.
|
|
1719
1790
|
*/
|
|
1720
|
-
export interface
|
|
1791
|
+
export interface ResumeRequestFrame {
|
|
1721
1792
|
session_id: SessionId16;
|
|
1722
1793
|
correlation_id: CorrelationId16;
|
|
1723
1794
|
ts: Ts16;
|
|
@@ -1730,18 +1801,18 @@ export interface ResumeResponseFrame {
|
|
|
1730
1801
|
*/
|
|
1731
1802
|
trailer?: FrameTrailer | null;
|
|
1732
1803
|
kind?: Kind17;
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
heartbeat_interval_ms: HeartbeatIntervalMs;
|
|
1804
|
+
last_seen_correlation_id?: LastSeenCorrelationId;
|
|
1805
|
+
last_seen_frame_seq?: LastSeenFrameSeq;
|
|
1806
|
+
tui_session_token: TuiSessionToken;
|
|
1737
1807
|
}
|
|
1738
1808
|
/**
|
|
1739
|
-
* Backend
|
|
1809
|
+
* Backend accepts the resume.
|
|
1740
1810
|
*
|
|
1811
|
+
* Must be followed by replay of frames with frame_seq > last_seen_frame_seq.
|
|
1741
1812
|
* Trailer with final=True MUST be set (E6).
|
|
1742
1813
|
* role allow-list: backend.
|
|
1743
1814
|
*/
|
|
1744
|
-
export interface
|
|
1815
|
+
export interface ResumeResponseFrame {
|
|
1745
1816
|
session_id: SessionId17;
|
|
1746
1817
|
correlation_id: CorrelationId17;
|
|
1747
1818
|
ts: Ts17;
|
|
@@ -1754,17 +1825,18 @@ export interface ResumeRejectedFrame {
|
|
|
1754
1825
|
*/
|
|
1755
1826
|
trailer?: FrameTrailer | null;
|
|
1756
1827
|
kind?: Kind18;
|
|
1757
|
-
|
|
1758
|
-
|
|
1828
|
+
resumed_from_frame_seq: ResumedFromFrameSeq;
|
|
1829
|
+
replay_count: ReplayCount;
|
|
1830
|
+
server_session_id: ServerSessionId;
|
|
1831
|
+
heartbeat_interval_ms: HeartbeatIntervalMs;
|
|
1759
1832
|
}
|
|
1760
1833
|
/**
|
|
1761
|
-
*
|
|
1834
|
+
* Backend cannot honor the resume request.
|
|
1762
1835
|
*
|
|
1763
|
-
*
|
|
1764
|
-
*
|
|
1765
|
-
* role allow-list: tui, backend.
|
|
1836
|
+
* Trailer with final=True MUST be set (E6).
|
|
1837
|
+
* role allow-list: backend.
|
|
1766
1838
|
*/
|
|
1767
|
-
export interface
|
|
1839
|
+
export interface ResumeRejectedFrame {
|
|
1768
1840
|
session_id: SessionId18;
|
|
1769
1841
|
correlation_id: CorrelationId18;
|
|
1770
1842
|
ts: Ts18;
|
|
@@ -1777,6 +1849,29 @@ export interface HeartbeatFrame {
|
|
|
1777
1849
|
*/
|
|
1778
1850
|
trailer?: FrameTrailer | null;
|
|
1779
1851
|
kind?: Kind19;
|
|
1852
|
+
reason: Reason;
|
|
1853
|
+
detail: Detail;
|
|
1854
|
+
}
|
|
1855
|
+
/**
|
|
1856
|
+
* Emitted every 30 s (default) by both sides to prove liveness.
|
|
1857
|
+
*
|
|
1858
|
+
* Note: Heartbeat frames do NOT increment frame_seq — they use a dedicated
|
|
1859
|
+
* counter. This keeps ring-buffer economy tight.
|
|
1860
|
+
* role allow-list: tui, backend.
|
|
1861
|
+
*/
|
|
1862
|
+
export interface HeartbeatFrame {
|
|
1863
|
+
session_id: SessionId19;
|
|
1864
|
+
correlation_id: CorrelationId19;
|
|
1865
|
+
ts: Ts19;
|
|
1866
|
+
version?: Version19;
|
|
1867
|
+
role: Role20;
|
|
1868
|
+
frame_seq?: FrameSeq19;
|
|
1869
|
+
transaction_id?: TransactionId20;
|
|
1870
|
+
/**
|
|
1871
|
+
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1872
|
+
*/
|
|
1873
|
+
trailer?: FrameTrailer | null;
|
|
1874
|
+
kind?: Kind20;
|
|
1780
1875
|
direction: Direction;
|
|
1781
1876
|
peer_frame_seq: PeerFrameSeq;
|
|
1782
1877
|
}
|
|
@@ -1798,18 +1893,18 @@ export interface HeartbeatFrame {
|
|
|
1798
1893
|
* UMMAYA swap-2 add-on, not a CC-divergence regression).
|
|
1799
1894
|
*/
|
|
1800
1895
|
export interface NotificationPushFrame {
|
|
1801
|
-
session_id:
|
|
1802
|
-
correlation_id:
|
|
1803
|
-
ts:
|
|
1804
|
-
version?:
|
|
1805
|
-
role:
|
|
1806
|
-
frame_seq?:
|
|
1807
|
-
transaction_id?:
|
|
1896
|
+
session_id: SessionId20;
|
|
1897
|
+
correlation_id: CorrelationId20;
|
|
1898
|
+
ts: Ts20;
|
|
1899
|
+
version?: Version20;
|
|
1900
|
+
role: Role21;
|
|
1901
|
+
frame_seq?: FrameSeq20;
|
|
1902
|
+
transaction_id?: TransactionId21;
|
|
1808
1903
|
/**
|
|
1809
1904
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1810
1905
|
*/
|
|
1811
1906
|
trailer?: FrameTrailer | null;
|
|
1812
|
-
kind?:
|
|
1907
|
+
kind?: Kind21;
|
|
1813
1908
|
subscription_id: SubscriptionId;
|
|
1814
1909
|
adapter_id: AdapterId;
|
|
1815
1910
|
event_guid: EventGuid;
|
|
@@ -1840,18 +1935,18 @@ export interface NotificationPushFrame {
|
|
|
1840
1935
|
* role allow-list: tui (request), backend (progress / complete).
|
|
1841
1936
|
*/
|
|
1842
1937
|
export interface PluginOpFrame {
|
|
1843
|
-
session_id:
|
|
1844
|
-
correlation_id:
|
|
1845
|
-
ts:
|
|
1846
|
-
version?:
|
|
1847
|
-
role:
|
|
1848
|
-
frame_seq?:
|
|
1849
|
-
transaction_id?:
|
|
1938
|
+
session_id: SessionId21;
|
|
1939
|
+
correlation_id: CorrelationId21;
|
|
1940
|
+
ts: Ts21;
|
|
1941
|
+
version?: Version21;
|
|
1942
|
+
role: Role22;
|
|
1943
|
+
frame_seq?: FrameSeq21;
|
|
1944
|
+
transaction_id?: TransactionId22;
|
|
1850
1945
|
/**
|
|
1851
1946
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1852
1947
|
*/
|
|
1853
1948
|
trailer?: FrameTrailer | null;
|
|
1854
|
-
kind?:
|
|
1949
|
+
kind?: Kind22;
|
|
1855
1950
|
op: Op;
|
|
1856
1951
|
request_op?: RequestOp;
|
|
1857
1952
|
name?: Name4;
|
|
@@ -1883,18 +1978,18 @@ export interface PluginOpFrame {
|
|
|
1883
1978
|
* Constitution § II + Spec 1634 boot-validation pattern.
|
|
1884
1979
|
*/
|
|
1885
1980
|
export interface AdapterManifestSyncFrame {
|
|
1886
|
-
session_id:
|
|
1887
|
-
correlation_id:
|
|
1888
|
-
ts:
|
|
1889
|
-
version?:
|
|
1890
|
-
role:
|
|
1891
|
-
frame_seq?:
|
|
1892
|
-
transaction_id?:
|
|
1981
|
+
session_id: SessionId22;
|
|
1982
|
+
correlation_id: CorrelationId22;
|
|
1983
|
+
ts: Ts22;
|
|
1984
|
+
version?: Version22;
|
|
1985
|
+
role: Role23;
|
|
1986
|
+
frame_seq?: FrameSeq22;
|
|
1987
|
+
transaction_id?: TransactionId23;
|
|
1893
1988
|
/**
|
|
1894
1989
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1895
1990
|
*/
|
|
1896
1991
|
trailer?: FrameTrailer | null;
|
|
1897
|
-
kind?:
|
|
1992
|
+
kind?: Kind23;
|
|
1898
1993
|
entries: Entries;
|
|
1899
1994
|
manifest_hash: ManifestHash;
|
|
1900
1995
|
emitter_pid: EmitterPid;
|
|
@@ -1911,7 +2006,7 @@ export interface AdapterManifestSyncFrame {
|
|
|
1911
2006
|
* - ``tool_id`` matches ``^[a-z][a-z0-9_]*$`` (I7).
|
|
1912
2007
|
*/
|
|
1913
2008
|
export interface AdapterManifestEntry {
|
|
1914
|
-
tool_id:
|
|
2009
|
+
tool_id: ToolId3;
|
|
1915
2010
|
name: Name5;
|
|
1916
2011
|
primitive: Primitive;
|
|
1917
2012
|
policy_authority_url?: PolicyAuthorityUrl;
|
|
@@ -1950,18 +2045,18 @@ export interface OutputSchemaJson {
|
|
|
1950
2045
|
* role allow-list: tui.
|
|
1951
2046
|
*/
|
|
1952
2047
|
export interface ConsentRevokeRequestFrame {
|
|
1953
|
-
session_id:
|
|
1954
|
-
correlation_id:
|
|
1955
|
-
ts:
|
|
1956
|
-
version?:
|
|
1957
|
-
role:
|
|
1958
|
-
frame_seq?:
|
|
1959
|
-
transaction_id?:
|
|
2048
|
+
session_id: SessionId23;
|
|
2049
|
+
correlation_id: CorrelationId23;
|
|
2050
|
+
ts: Ts23;
|
|
2051
|
+
version?: Version23;
|
|
2052
|
+
role: Role24;
|
|
2053
|
+
frame_seq?: FrameSeq23;
|
|
2054
|
+
transaction_id?: TransactionId24;
|
|
1960
2055
|
/**
|
|
1961
2056
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1962
2057
|
*/
|
|
1963
2058
|
trailer?: FrameTrailer | null;
|
|
1964
|
-
kind?:
|
|
2059
|
+
kind?: Kind24;
|
|
1965
2060
|
request_id: RequestId2;
|
|
1966
2061
|
receipt_id: ReceiptId2;
|
|
1967
2062
|
scope: Scope;
|
|
@@ -1985,18 +2080,18 @@ export interface ConsentRevokeRequestFrame {
|
|
|
1985
2080
|
* role allow-list: backend.
|
|
1986
2081
|
*/
|
|
1987
2082
|
export interface ConsentRevokeResponseFrame {
|
|
1988
|
-
session_id:
|
|
1989
|
-
correlation_id:
|
|
1990
|
-
ts:
|
|
1991
|
-
version?:
|
|
1992
|
-
role:
|
|
1993
|
-
frame_seq?:
|
|
1994
|
-
transaction_id?:
|
|
2083
|
+
session_id: SessionId24;
|
|
2084
|
+
correlation_id: CorrelationId24;
|
|
2085
|
+
ts: Ts24;
|
|
2086
|
+
version?: Version24;
|
|
2087
|
+
role: Role25;
|
|
2088
|
+
frame_seq?: FrameSeq24;
|
|
2089
|
+
transaction_id?: TransactionId25;
|
|
1995
2090
|
/**
|
|
1996
2091
|
* Completion/validation metadata. Populated on terminal frames. (FR-006)
|
|
1997
2092
|
*/
|
|
1998
2093
|
trailer?: FrameTrailer | null;
|
|
1999
|
-
kind?:
|
|
2094
|
+
kind?: Kind25;
|
|
2000
2095
|
request_id: RequestId3;
|
|
2001
2096
|
ok: Ok;
|
|
2002
2097
|
revoked_at?: RevokedAt;
|