@geohar/un-bien 0.8.0 → 0.14.0

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 (175) hide show
  1. package/README.md +258 -320
  2. package/dist/actions/handlers.js.map +1 -1
  3. package/dist/actions/registry.js.map +1 -1
  4. package/dist/bin/launcher.js +38 -0
  5. package/dist/bin/launcher.js.map +1 -0
  6. package/dist/commands/deps.d.ts +156 -0
  7. package/dist/commands/deps.js +2 -0
  8. package/dist/commands/deps.js.map +1 -0
  9. package/dist/commands/fork_link.d.ts +4 -0
  10. package/dist/commands/fork_link.js +45 -0
  11. package/dist/commands/fork_link.js.map +1 -0
  12. package/dist/commands/housekeeping.d.ts +34 -0
  13. package/dist/commands/housekeeping.js +275 -0
  14. package/dist/commands/housekeeping.js.map +1 -0
  15. package/dist/commands/info.d.ts +43 -0
  16. package/dist/commands/info.js +127 -0
  17. package/dist/commands/info.js.map +1 -0
  18. package/dist/commands/lifecycle.d.ts +45 -0
  19. package/dist/commands/lifecycle.js +708 -0
  20. package/dist/commands/lifecycle.js.map +1 -0
  21. package/dist/commands/pairing.d.ts +26 -0
  22. package/dist/commands/pairing.js +167 -0
  23. package/dist/commands/pairing.js.map +1 -0
  24. package/dist/commands/register.d.ts +12 -0
  25. package/dist/commands/register.js +255 -0
  26. package/dist/commands/register.js.map +1 -0
  27. package/dist/commands/relay.d.ts +28 -0
  28. package/dist/commands/relay.js +81 -0
  29. package/dist/commands/relay.js.map +1 -0
  30. package/dist/commands/session_ops.d.ts +52 -0
  31. package/dist/commands/session_ops.js +75 -0
  32. package/dist/commands/session_ops.js.map +1 -0
  33. package/dist/config.d.ts +30 -2
  34. package/dist/config.js.map +1 -1
  35. package/dist/daemon/install.d.ts +36 -37
  36. package/dist/daemon/install.js +49 -73
  37. package/dist/daemon/install.js.map +1 -1
  38. package/dist/enrich_tool_args.d.ts +9 -0
  39. package/dist/enrich_tool_args.js +171 -0
  40. package/dist/enrich_tool_args.js.map +1 -0
  41. package/dist/extension_ui_bridge.js.map +1 -1
  42. package/dist/image_codec.d.ts +22 -0
  43. package/dist/image_codec.js +149 -0
  44. package/dist/image_codec.js.map +1 -0
  45. package/dist/index.d.ts +32 -127
  46. package/dist/index.js +957 -4042
  47. package/dist/index.js.map +1 -1
  48. package/dist/launch.d.ts +42 -0
  49. package/dist/launch.js +206 -0
  50. package/dist/launch.js.map +1 -0
  51. package/dist/launcher/launcher.d.ts +6 -0
  52. package/dist/launcher/launcher.js +207 -0
  53. package/dist/launcher/launcher.js.map +1 -0
  54. package/dist/mcp/mesh_result.js.map +1 -1
  55. package/dist/mcp/mesh_server.js.map +1 -1
  56. package/dist/mesh/canonical.js +1 -1
  57. package/dist/mesh/canonical.js.map +1 -1
  58. package/dist/mesh/client.js.map +1 -1
  59. package/dist/mesh/encoding.js.map +1 -1
  60. package/dist/mesh/self_revoke.js.map +1 -1
  61. package/dist/mesh/siblings.js.map +1 -1
  62. package/dist/mesh/verify.js +1 -1
  63. package/dist/mesh/verify.js.map +1 -1
  64. package/dist/pairing/crypto.js +0 -1
  65. package/dist/pairing/crypto.js.map +1 -1
  66. package/dist/pairing/peer_trust.d.ts +20 -0
  67. package/dist/pairing/peer_trust.js +82 -0
  68. package/dist/pairing/peer_trust.js.map +1 -0
  69. package/dist/pairing/qr.js.map +1 -1
  70. package/dist/pairing/storage.js +4 -3
  71. package/dist/pairing/storage.js.map +1 -1
  72. package/dist/panel_bridge.d.ts +3 -1
  73. package/dist/panel_bridge.js +11 -10
  74. package/dist/panel_bridge.js.map +1 -1
  75. package/dist/paths.d.ts +22 -8
  76. package/dist/paths.js +37 -10
  77. package/dist/paths.js.map +1 -1
  78. package/dist/protocol/codec.js.map +1 -1
  79. package/dist/rooms.d.ts +16 -0
  80. package/dist/rooms.js +23 -4
  81. package/dist/rooms.js.map +1 -1
  82. package/dist/session/bridge.js.map +1 -1
  83. package/dist/session/broker.js.map +1 -1
  84. package/dist/session/broker_remote.js.map +1 -1
  85. package/dist/session/capabilities.d.ts +11 -0
  86. package/dist/session/capabilities.js +35 -0
  87. package/dist/session/capabilities.js.map +1 -0
  88. package/dist/session/cwd_lock.js +3 -3
  89. package/dist/session/cwd_lock.js.map +1 -1
  90. package/dist/session/debug_log.js +15 -5
  91. package/dist/session/debug_log.js.map +1 -1
  92. package/dist/session/envelope.js.map +1 -1
  93. package/dist/session/global_config.d.ts +1 -1
  94. package/dist/session/global_config.js +1 -1
  95. package/dist/session/global_config.js.map +1 -1
  96. package/dist/session/ipc.d.ts +2 -2
  97. package/dist/session/ipc.js.map +1 -1
  98. package/dist/session/leader_election.js.map +1 -1
  99. package/dist/session/local_config.d.ts +37 -0
  100. package/dist/session/local_config.js +47 -1
  101. package/dist/session/local_config.js.map +1 -1
  102. package/dist/session/mesh_node.d.ts +1 -1
  103. package/dist/session/mesh_node.js +1 -1
  104. package/dist/session/mesh_node.js.map +1 -1
  105. package/dist/session/peer.js.map +1 -1
  106. package/dist/session/peer_inventory.js.map +1 -1
  107. package/dist/session/peer_limits.js.map +1 -1
  108. package/dist/session/received_images.d.ts +63 -0
  109. package/dist/session/received_images.js +273 -0
  110. package/dist/session/received_images.js.map +1 -0
  111. package/dist/session/relay_lifecycle.d.ts +219 -0
  112. package/dist/session/relay_lifecycle.js +764 -0
  113. package/dist/session/relay_lifecycle.js.map +1 -0
  114. package/dist/session/rpc_envelope.d.ts +28 -0
  115. package/dist/session/rpc_envelope.js +10 -1
  116. package/dist/session/rpc_envelope.js.map +1 -1
  117. package/dist/session/rpc_handlers.d.ts +53 -0
  118. package/dist/session/rpc_handlers.js +268 -0
  119. package/dist/session/rpc_handlers.js.map +1 -0
  120. package/dist/session/rpc_inbound.d.ts +42 -7
  121. package/dist/session/rpc_inbound.js +56 -1
  122. package/dist/session/rpc_inbound.js.map +1 -1
  123. package/dist/session/setup_wizard.js.map +1 -1
  124. package/dist/session/tools.js.map +1 -1
  125. package/dist/session/wizard.js.map +1 -1
  126. package/dist/state_migration.d.ts +45 -0
  127. package/dist/state_migration.js +104 -0
  128. package/dist/state_migration.js.map +1 -0
  129. package/dist/subagent_rooms.d.ts +68 -0
  130. package/dist/subagent_rooms.js +919 -0
  131. package/dist/subagent_rooms.js.map +1 -0
  132. package/dist/test_hooks.d.ts +180 -0
  133. package/dist/test_hooks.js +98 -0
  134. package/dist/test_hooks.js.map +1 -0
  135. package/dist/transport/peer_channel.d.ts +18 -1
  136. package/dist/transport/peer_channel.js +42 -12
  137. package/dist/transport/peer_channel.js.map +1 -1
  138. package/dist/transport/pi_forward_client.js.map +1 -1
  139. package/dist/transport/relay_client.d.ts +24 -2
  140. package/dist/transport/relay_client.js +6 -3
  141. package/dist/transport/relay_client.js.map +1 -1
  142. package/dist/ui/footer.js.map +1 -1
  143. package/docs/daemon.md +170 -179
  144. package/package.json +13 -11
  145. package/service-templates/launchd.plist.template +8 -7
  146. package/service-templates/systemd.service.template +5 -4
  147. package/service-templates/task-launcher.vbs.template +5 -5
  148. package/service-templates/task-scheduler.xml.template +1 -1
  149. package/dist/bin/supervisord.js +0 -86
  150. package/dist/bin/supervisord.js.map +0 -1
  151. package/dist/daemon/client.d.ts +0 -20
  152. package/dist/daemon/client.js +0 -131
  153. package/dist/daemon/client.js.map +0 -1
  154. package/dist/daemon/control_protocol.d.ts +0 -176
  155. package/dist/daemon/control_protocol.js +0 -63
  156. package/dist/daemon/control_protocol.js.map +0 -1
  157. package/dist/daemon/cron_log.d.ts +0 -45
  158. package/dist/daemon/cron_log.js +0 -71
  159. package/dist/daemon/cron_log.js.map +0 -1
  160. package/dist/daemon/cron_registry.d.ts +0 -80
  161. package/dist/daemon/cron_registry.js +0 -198
  162. package/dist/daemon/cron_registry.js.map +0 -1
  163. package/dist/daemon/id.d.ts +0 -24
  164. package/dist/daemon/id.js +0 -36
  165. package/dist/daemon/id.js.map +0 -1
  166. package/dist/daemon/registry.d.ts +0 -63
  167. package/dist/daemon/registry.js +0 -153
  168. package/dist/daemon/registry.js.map +0 -1
  169. package/dist/daemon/rpc_child.d.ts +0 -194
  170. package/dist/daemon/rpc_child.js +0 -419
  171. package/dist/daemon/rpc_child.js.map +0 -1
  172. package/dist/daemon/supervisor.d.ts +0 -93
  173. package/dist/daemon/supervisor.js +0 -666
  174. package/dist/daemon/supervisor.js.map +0 -1
  175. /package/dist/bin/{supervisord.d.ts → launcher.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent_rooms.js","sourceRoot":"","sources":["../src/subagent_rooms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Test-only hooks for index.ts.
3
+ *
4
+ * The `_xForTest` surface (state readers/mutators + lifecycle shortcuts the
5
+ * integration tests drive) lives here, behind a factory seam: index.ts builds
6
+ * one `TestHooksDeps` (accessor closures over its module state + function
7
+ * references) and re-exports each hook under its EXACT original name, so every
8
+ * existing `import { _xForTest } from "../index.js"` keeps working unchanged.
9
+ *
10
+ * This module MUST NOT import `../index.js` (circular import). The `/unbien`
11
+ * join/start/stop shortcuts reuse the command seam directly
12
+ * (`./commands/lifecycle.js` + the `CommandDeps` object index.ts builds).
13
+ *
14
+ * NOT here: `_runTestScenario` / `_emitTestBus` — those are the e2e UI-test
15
+ * harness driven by the `test` completion, not test-only hooks.
16
+ */
17
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
18
+ import type { Ed25519Keypair } from "./pairing/crypto.js";
19
+ import type { SelfRevoke } from "./mesh/self_revoke.js";
20
+ import type { MeshNode } from "./session/mesh_node.js";
21
+ import type { AcquiredLock } from "./session/cwd_lock.js";
22
+ import type { PlainPeerChannel } from "./transport/peer_channel.js";
23
+ import type { PanelBridge } from "./panel_bridge.js";
24
+ import type { ExtensionUiBridge } from "./extension_ui_bridge.js";
25
+ import type { SubagentRoomsController } from "./subagent_rooms.js";
26
+ import type { CommandDeps } from "./commands/deps.js";
27
+ /**
28
+ * Structural mirror of index.ts's local `MeshEnvelope` (mesh delivery frame).
29
+ * Kept local so this module never imports the composition root.
30
+ */
31
+ type MeshEnvelope = {
32
+ id: string;
33
+ from: string;
34
+ re: string | null;
35
+ body: unknown;
36
+ };
37
+ /**
38
+ * The seam between index.ts (composition root) and the test-only hooks.
39
+ *
40
+ * Same shape as `CommandDeps`: index.ts owns every piece of mutable module
41
+ * state the hooks touch; this module reaches it only through accessor
42
+ * closures / function references on this object. Members are added exactly as
43
+ * the moved code requires them — nothing speculative. Write-only state is a
44
+ * bare `set`; read-only state is `readonly`.
45
+ */
46
+ export interface TestHooksDeps {
47
+ /** The `/unbien` command seam index.ts builds (join/start/stop reuse it). */
48
+ readonly commandDeps: CommandDeps;
49
+ /** Set by session_shutdown; blocks outgoing candidates until rearm. */
50
+ set disposed(value: boolean);
51
+ /** Once-per-session auto-init gate. */
52
+ set autoInited(value: boolean);
53
+ /** Panel/ui bridge singletons — reset disposes + nulls each. */
54
+ get panelBridge(): PanelBridge | null;
55
+ set panelBridge(value: PanelBridge | null);
56
+ get rpcEnvelope(): {
57
+ dispose(): void;
58
+ } | null;
59
+ set rpcEnvelope(value: {
60
+ dispose(): void;
61
+ } | null);
62
+ get subagentRooms(): SubagentRoomsController | null;
63
+ set subagentRooms(value: SubagentRoomsController | null);
64
+ get extensionUiBridge(): ExtensionUiBridge | null;
65
+ set extensionUiBridge(value: ExtensionUiBridge | null);
66
+ /** Root session id — cleared with the per-session state map. */
67
+ set rootSessionId(value: string | null);
68
+ /** Relay start deferred pending a session id (design 01M1CAW0). */
69
+ set relayStartDeferred(value: boolean);
70
+ /** Per-(cwd,name) singleton lock backing the mesh registration. */
71
+ get cwdLock(): AcquiredLock | null;
72
+ set cwdLock(value: AcquiredLock | null);
73
+ /** Name the cwd-lock actually reserved (`name` or `name#N`). */
74
+ get lockedName(): string | null;
75
+ set lockedName(value: string | null);
76
+ /** Epoch ms the state machine entered 'started'. */
77
+ set sessionStartedAt(value: number | null);
78
+ /** Last-known model name (root session projection). */
79
+ set currentModel(value: string | undefined);
80
+ /** The ROOT session's ExtensionAPI (never a subagent child's). */
81
+ set pi(value: ExtensionAPI | null);
82
+ /** globalThis slot key for the root-session bridge ownership claim. */
83
+ readonly rootSessionOwnerKey: symbol;
84
+ /** Keyed per-session state map — reset clears it at test boundaries. */
85
+ readonly sessions: {
86
+ clear(): void;
87
+ };
88
+ /** Local UDS mesh node, null when not joined. */
89
+ readonly meshNode: MeshNode | null;
90
+ /** SelfRevoke topology producer for the relay path. */
91
+ readonly selfRevoke: SelfRevoke | null;
92
+ /** Cached Ed25519 identity of this connect cycle. */
93
+ readonly cachedEd25519: Ed25519Keypair | null;
94
+ /** Reconnect backoff timer, null when none is scheduled. */
95
+ readonly reconnectTimer: ReturnType<typeof setTimeout> | null;
96
+ /** Connected owner channels, keyed by canonical owner pubkey. */
97
+ readonly activePeers: ReadonlyMap<string, PlainPeerChannel>;
98
+ /** The ROOT session's state record (turnId for cancel routing). */
99
+ rootState(): {
100
+ turnId: string | null;
101
+ };
102
+ /** Seed the ROOT session record + id (test-only session emulation). */
103
+ seedRootSession(sid: string): void;
104
+ /** Queue an inbound mesh message for agent delivery. */
105
+ deliverMeshMessageToAgent(env: MeshEnvelope): void;
106
+ }
107
+ /** The hooks `createTestHooks` returns (re-exported 1:1 by index.ts). */
108
+ export interface TestHooks {
109
+ /** Test-only: emulate what `/unbien` does on the returning-user path
110
+ * (join the local mesh, then start the relay) without touching the FS for
111
+ * a `localConfigExists()` lookup. Lets tests bring the relay up without
112
+ * mocking the wizard or the local config storage.
113
+ *
114
+ * Typed loosely to accept any ctx shape with `ui.notify` + `cwd` — the
115
+ * unit tests use minimal mocks that don't satisfy the full
116
+ * `ExtensionContext` interface. */
117
+ connectForTest(ctx: unknown): Promise<void>;
118
+ /** Test-only: tear everything down (mirrors `/unbien stop`). */
119
+ stopForTest(ctx: unknown): Promise<void>;
120
+ /** Test-only: read the `_disposed` flag. Production clears it only when
121
+ * a host reuses this module for a replacement session; tests share one module
122
+ * across cases, so they also reset it to avoid cross-test pollution. */
123
+ getDisposedForTest(): boolean;
124
+ /** Test-only: write the `_disposed` flag (see getDisposedForTest). */
125
+ setDisposedForTest(v: boolean): void;
126
+ /** Test-only: reset the once-per-session auto-init gate so session_start re-runs it. */
127
+ resetAutoInitedForTest(): void;
128
+ /** Test-only: clear the globalThis panel/ui bridge ownership so each fresh
129
+ * `extension(pi)` in a shared test process can (re)claim and rebuild bridges. */
130
+ resetBridgeOwnersForTest(): void;
131
+ /** Test-only: reset the keyed per-session state at a TEST BOUNDARY (beforeEach).
132
+ * Must NOT be folded into resetBridgeOwnersForTest — that fires mid-test on
133
+ * every captureEventHandler call and would wipe state a test seeds across two
134
+ * captures (e.g. input seeds turnId, message_update reads it). Also clears a
135
+ * deferred relay start (design 01M1CAW0) so a pending announce never leaks
136
+ * across tests. */
137
+ resetSessionsForTest(): void;
138
+ /** Test-only: seed the ROOT session (id + sessionManager record) so
139
+ * `_deriveRoomId` has a session id — production always has one by the time
140
+ * `/unbien` runs (design 01M1CAW0: no room announce without it). Tests of
141
+ * the pre-id refusal simply skip this (or call resetSessionsForTest). */
142
+ seedRootSessionForTest(sid?: string): void;
143
+ /** Test-only: set the auto-init gate for lifecycle replacement tests. */
144
+ setAutoInitedForTest(value: boolean): void;
145
+ /** Test-only: true when this instance holds a live local-mesh node. */
146
+ hasMeshNodeForTest(): boolean;
147
+ /** Test-only: drive the current real SelfRevoke producer through one sweep. */
148
+ checkSelfRevokeForTest(): Promise<void>;
149
+ /** Test-only: the effective (possibly `#N`-suffixed) name the cwd-lock reserved. */
150
+ getLockedNameForTest(): string | null;
151
+ /** Test-only: release + clear the cwd lock (the lock normally survives stop). */
152
+ resetCwdLockForTest(): void;
153
+ /** Test-only: relay-only startup, no UDS mesh join. Replaces the old
154
+ * `unbien relay start` handler that some tests captured to bring up
155
+ * the relay in isolation (e.g. ping/pong tests that don't care about
156
+ * the agent-network broker). */
157
+ startRelayForTest(ctx: unknown): Promise<void>;
158
+ /** Test-only: public marker for canceled-keypair cache regression checks. */
159
+ getCachedPublicKeyForTest(): string | null;
160
+ /** Test-only override of session started timestamp. */
161
+ setSessionStartedAtForTest(ts: number | null): void;
162
+ /** Test-only: reset the cached model name (between tests). */
163
+ setCurrentModelForTest(name: string | undefined): void;
164
+ /** Test-only: read the active turn id used for plain `cancel` routing. */
165
+ getCurrentTurnIdForTest(): string | null;
166
+ /** Test-only: override the bound AgentSession so a spy can capture the
167
+ * content handed to `sendUserMessage` (plan/30 multimodal ingest). */
168
+ setPiForTest(pi: unknown): void;
169
+ /** Test-only: exposes pending reconnect timer state. */
170
+ hasPendingReconnect(): boolean;
171
+ /** Test-only: number of owners currently attached via PlainPeerChannel. */
172
+ getActivePeerCountForTest(): number;
173
+ /** Test-only: true if a specific peer (base64 std) has an attached channel. */
174
+ hasActivePeerForTest(appPeerIdStd: string): boolean;
175
+ /** Test-only entry point for verifying mesh-to-agent delivery semantics. */
176
+ deliverMeshMessageToAgentForTest(env: MeshEnvelope): void;
177
+ }
178
+ /** Build the test-hook surface over index.ts's state + helpers. */
179
+ export declare function createTestHooks(deps: TestHooksDeps): TestHooks;
180
+ export {};
@@ -0,0 +1,98 @@
1
+ import { _cmdJoin, _cmdStart, _cmdStop } from "./commands/lifecycle.js";
2
+ /** Build the test-hook surface over index.ts's state + helpers. */
3
+ export function createTestHooks(deps) {
4
+ return {
5
+ async connectForTest(ctx) {
6
+ const real = ctx;
7
+ await _cmdJoin(deps.commandDeps, real);
8
+ await _cmdStart(deps.commandDeps, real);
9
+ },
10
+ async stopForTest(ctx) {
11
+ await _cmdStop(deps.commandDeps, ctx);
12
+ },
13
+ getDisposedForTest() {
14
+ return deps.disposed;
15
+ },
16
+ setDisposedForTest(v) {
17
+ deps.disposed = v;
18
+ },
19
+ resetAutoInitedForTest() {
20
+ deps.autoInited = false;
21
+ },
22
+ resetBridgeOwnersForTest() {
23
+ const g = globalThis;
24
+ delete g[deps.rootSessionOwnerKey];
25
+ deps.panelBridge?.dispose();
26
+ deps.panelBridge = null;
27
+ deps.rpcEnvelope?.dispose();
28
+ deps.rpcEnvelope = null;
29
+ deps.subagentRooms?.dispose();
30
+ deps.subagentRooms = null;
31
+ deps.extensionUiBridge?.dispose();
32
+ deps.extensionUiBridge = null;
33
+ },
34
+ resetSessionsForTest() {
35
+ deps.sessions.clear();
36
+ deps.rootSessionId = null;
37
+ deps.relayStartDeferred = false;
38
+ },
39
+ seedRootSessionForTest(sid = "test-root-session") {
40
+ deps.seedRootSession(sid);
41
+ },
42
+ setAutoInitedForTest(value) {
43
+ deps.autoInited = value;
44
+ },
45
+ hasMeshNodeForTest() {
46
+ return deps.meshNode !== null;
47
+ },
48
+ async checkSelfRevokeForTest() {
49
+ await deps.selfRevoke?.checkOnce();
50
+ },
51
+ getLockedNameForTest() {
52
+ return deps.lockedName;
53
+ },
54
+ resetCwdLockForTest() {
55
+ try {
56
+ deps.cwdLock?.release();
57
+ }
58
+ catch {
59
+ /* ignored */
60
+ }
61
+ deps.cwdLock = null;
62
+ deps.lockedName = null;
63
+ },
64
+ async startRelayForTest(ctx) {
65
+ await _cmdStart(deps.commandDeps, ctx);
66
+ },
67
+ getCachedPublicKeyForTest() {
68
+ return deps.cachedEd25519
69
+ ? Buffer.from(deps.cachedEd25519.publicKey).toString("base64")
70
+ : null;
71
+ },
72
+ setSessionStartedAtForTest(ts) {
73
+ deps.sessionStartedAt = ts;
74
+ },
75
+ setCurrentModelForTest(name) {
76
+ deps.currentModel = name;
77
+ },
78
+ getCurrentTurnIdForTest() {
79
+ return deps.rootState().turnId;
80
+ },
81
+ setPiForTest(pi) {
82
+ deps.pi = pi;
83
+ },
84
+ hasPendingReconnect() {
85
+ return deps.reconnectTimer !== null;
86
+ },
87
+ getActivePeerCountForTest() {
88
+ return deps.activePeers.size;
89
+ },
90
+ hasActivePeerForTest(appPeerIdStd) {
91
+ return deps.activePeers.has(appPeerIdStd);
92
+ },
93
+ deliverMeshMessageToAgentForTest(env) {
94
+ deps.deliverMeshMessageToAgent(env);
95
+ },
96
+ };
97
+ }
98
+ //# sourceMappingURL=test_hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_hooks.js","sourceRoot":"","sources":["../src/test_hooks.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ export declare class PlainPeerChannel implements PeerChannel {
24
24
  /** Route an inbound mesh-envelope ({rpc|evt}, docs/rpc-envelope.md) to the
25
25
  * new-protocol dispatcher. Absent → the channel ignores envelope frames. */
26
26
  private readonly onRpc?;
27
+ /** Supplies the SENDING session's pi sessionId, stamped on every outbound
28
+ * envelope so the app keys per-session state by the pi id (not the room). */
29
+ private readonly sessionIdProvider?;
27
30
  private readonly _unsubscribe;
28
31
  constructor(relay: RelayClient, remotePeerId: string,
29
32
  /**
@@ -36,7 +39,10 @@ export declare class PlainPeerChannel implements PeerChannel {
36
39
  _onDisconnect?: () => void,
37
40
  /** Route an inbound mesh-envelope ({rpc|evt}, docs/rpc-envelope.md) to the
38
41
  * new-protocol dispatcher. Absent → the channel ignores envelope frames. */
39
- onRpc?: ((env: EnvelopeMessage, sender: PlainPeerChannel) => void) | undefined);
42
+ onRpc?: ((env: EnvelopeMessage, sender: PlainPeerChannel) => void) | undefined,
43
+ /** Supplies the SENDING session's pi sessionId, stamped on every outbound
44
+ * envelope so the app keys per-session state by the pi id (not the room). */
45
+ sessionIdProvider?: (() => string | undefined) | undefined);
40
46
  send(msg: ServerMessage): void;
41
47
  /**
42
48
  * Send an rpc-envelope message (`{ rpc | evt }`, docs/rpc-envelope.md) to the
@@ -46,6 +52,17 @@ export declare class PlainPeerChannel implements PeerChannel {
46
52
  * uncaught exception out of the SDK event callback that drives it.
47
53
  */
48
54
  sendEnvelope(env: EnvelopeMessage): void;
55
+ /**
56
+ * Teardown-path variant of `sendEnvelope`: resolves once the frame has been
57
+ * HANDED TO THE SOCKET (the ws send-completion callback), not merely
58
+ * enqueued — the flush-before-socket-teardown guarantee. Always resolves
59
+ * (error / relay down included): the frame is gone either way, and teardown
60
+ * must never hang on a wedged socket — the caller bounds the wait anyway.
61
+ */
62
+ sendEnvelopeFlushed(env: EnvelopeMessage): Promise<void>;
63
+ /** The outbound wire for an envelope frame: inner stamps (type/ts/sessionId
64
+ * at the single outbound choke) → base64 `ct` → outer routing envelope. */
65
+ private envelopeLine;
49
66
  /** Detaches from relay (does not close the relay itself). */
50
67
  detach(): void;
51
68
  private _onLine;
@@ -17,6 +17,7 @@ export class PlainPeerChannel {
17
17
  remotePeerId;
18
18
  onMessage;
19
19
  onRpc;
20
+ sessionIdProvider;
20
21
  _unsubscribe;
21
22
  constructor(relay, remotePeerId,
22
23
  /**
@@ -29,11 +30,15 @@ export class PlainPeerChannel {
29
30
  _onDisconnect,
30
31
  /** Route an inbound mesh-envelope ({rpc|evt}, docs/rpc-envelope.md) to the
31
32
  * new-protocol dispatcher. Absent → the channel ignores envelope frames. */
32
- onRpc) {
33
+ onRpc,
34
+ /** Supplies the SENDING session's pi sessionId, stamped on every outbound
35
+ * envelope so the app keys per-session state by the pi id (not the room). */
36
+ sessionIdProvider) {
33
37
  this.relay = relay;
34
38
  this.remotePeerId = remotePeerId;
35
39
  this.onMessage = onMessage;
36
40
  this.onRpc = onRpc;
41
+ this.sessionIdProvider = sessionIdProvider;
37
42
  const listener = (line) => this._onLine(line);
38
43
  relay.on("message", listener);
39
44
  this._unsubscribe = () => relay.off("message", listener);
@@ -71,6 +76,34 @@ export class PlainPeerChannel {
71
76
  * uncaught exception out of the SDK event callback that drives it.
72
77
  */
73
78
  sendEnvelope(env) {
79
+ try {
80
+ this.relay.send(this.envelopeLine(env));
81
+ }
82
+ catch {
83
+ /* relay down — drop this frame; reconnect + session_sync will recover */
84
+ }
85
+ }
86
+ /**
87
+ * Teardown-path variant of `sendEnvelope`: resolves once the frame has been
88
+ * HANDED TO THE SOCKET (the ws send-completion callback), not merely
89
+ * enqueued — the flush-before-socket-teardown guarantee. Always resolves
90
+ * (error / relay down included): the frame is gone either way, and teardown
91
+ * must never hang on a wedged socket — the caller bounds the wait anyway.
92
+ */
93
+ sendEnvelopeFlushed(env) {
94
+ const line = this.envelopeLine(env);
95
+ return new Promise((resolve) => {
96
+ try {
97
+ this.relay.send(line, () => resolve());
98
+ }
99
+ catch {
100
+ resolve(); // relay down — frame dropped; nothing left to wait for
101
+ }
102
+ });
103
+ }
104
+ /** The outbound wire for an envelope frame: inner stamps (type/ts/sessionId
105
+ * at the single outbound choke) → base64 `ct` → outer routing envelope. */
106
+ envelopeLine(env) {
74
107
  // Stamp the wrapper kind + timestamp at the single outbound choke.
75
108
  const wire = {
76
109
  ...env,
@@ -78,21 +111,18 @@ export class PlainPeerChannel {
78
111
  // evt -> "evt", rpc (the spine / default) -> "rpc". Legacy "env" is no
79
112
  // longer stamped (still accepted on read one transition).
80
113
  type: env.type ??
81
- (env.ub !== undefined
82
- ? UB_KIND
83
- : env.evt !== undefined
84
- ? EVT_KIND
85
- : RPC_KIND),
114
+ (env.ub === undefined
115
+ ? env.evt === undefined
116
+ ? RPC_KIND
117
+ : EVT_KIND
118
+ : UB_KIND),
86
119
  ts: env.ts ?? Date.now(),
120
+ // Pi sessionId = the wire identity the app keys by (room is routing only).
121
+ sessionId: env.sessionId ?? this.sessionIdProvider?.(),
87
122
  };
88
123
  const ct = Buffer.from(JSON.stringify(wire)).toString("base64");
89
124
  const outer = { peer: this.remotePeerId, ct };
90
- try {
91
- this.relay.send(JSON.stringify(outer));
92
- }
93
- catch {
94
- /* relay down — drop this frame; reconnect + session_sync will recover */
95
- }
125
+ return JSON.stringify(outer);
96
126
  }
97
127
  /** Detaches from relay (does not close the relay itself). */
98
128
  detach() {
@@ -1 +1 @@
1
- {"version":3,"file":"peer_channel.js","sourceRoot":"","sources":["../../src/transport/peer_channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer_channel.js","sourceRoot":"","sources":["../../src/transport/peer_channel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi_forward_client.js","sourceRoot":"","sources":["../../src/transport/pi_forward_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA2C3C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAIlB;IAHZ,cAAc,CAAyB;IAChD,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAA6B,KAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAa;QAE7C,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAY,EAAE,GAAa;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,GAAG;SACd,CAAC;QACF,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,sEAAsE;QACtE,mEAAmE;QACnE,oDAAoD;QACpD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO;QAClD,MAAM,CAAC,GAAG,MAAoC,CAAC;QAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QACxC,IACE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,QAAQ;YACX,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAE9B,OAAO;QAET,+EAA+E;QAC/E,MAAM,GAAG,GAAG,CAAC,CAAC,QAAoB,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAO;QACvE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"pi_forward_client.js","sourceRoot":"","sources":["../../src/transport/pi_forward_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA2C1C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAIlB;IAHZ,cAAc,CAAwB;IAC/C,QAAQ,GAAG,KAAK,CAAA;IAExB,YAA6B,KAAkB;QAC7C,KAAK,EAAE,CAAA;QADoB,UAAK,GAAL,KAAK,CAAa;QAE7C,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAY,EAAE,GAAa;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,GAAG;SACd,CAAA;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAChD,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,sEAAsE;QACtE,mEAAmE;QACnE,oDAAoD;QACpD,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAM;QACjD,MAAM,CAAC,GAAG,MAAoC,CAAA;QAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAM;QACvC,IACE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,QAAQ;YACX,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAE9B,OAAM;QAER,+EAA+E;QAC/E,MAAM,GAAG,GAAG,CAAC,CAAC,QAAoB,CAAA;QAClC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAM;QACtE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -7,6 +7,23 @@ export interface RoomMeta {
7
7
  /** Friendly model name (e.g. "claude-sonnet-4.5"). Optional — pi-ext sends
8
8
  * when `ExtensionContext.model` is available; relay/app tolerate absence. */
9
9
  model?: string;
10
+ /** Parent room id, when this room is a SUBAGENT child session:
11
+ * the roomId of the spawning (root) session. Absent for normal top-level
12
+ * sessions. Lets the app NEST the child under its parent in the home list
13
+ * from `room_announced` alone, without attaching. */
14
+ parent?: string;
15
+ /** Subagent record id, when this room is a subagent child session. Lets a
16
+ * consumer map a subagents-panel row to this room. Rides the relay's
17
+ * room_meta passthrough alongside `parent`. */
18
+ subagentId?: string;
19
+ /** This room's OWN pi sessionId, and its PARENT's pi sessionId when it is a
20
+ * subagent child. Pi ids (NOT roomIds) — the app nests + maps panel rows by
21
+ * these, at list time, from room_announced. roomId stays relay-routing only. */
22
+ sessionId?: string;
23
+ parentSessionId?: string;
24
+ /** Caps the room advertises about itself; the launcher daemon stamps
25
+ * `is_daemon` so the app filters its control room. */
26
+ caps?: string[];
10
27
  }
11
28
  /** Control frame sent to relay (not routed to app peer). Each publish carries
12
29
  * ONE changed field (model / working / thinking); the relay merges them into
@@ -18,6 +35,8 @@ export interface RoomMetaUpdateFrame {
18
35
  model?: string;
19
36
  working?: boolean;
20
37
  thinking?: ThinkingLevel;
38
+ parent?: string;
39
+ parentSessionId?: string;
21
40
  };
22
41
  }
23
42
  export interface ConnectOptions {
@@ -74,8 +93,11 @@ export declare class RelayClient extends EventEmitter {
74
93
  connect(options?: ConnectOptions): Promise<void>;
75
94
  /** True only while the authenticated Relay WebSocket is currently open. */
76
95
  isOpen(): boolean;
77
- /** Sends a raw line to the relay (caller is responsible for framing). */
78
- send(line: string): void;
96
+ /** Sends a raw line to the relay (caller is responsible for framing).
97
+ * `onWritten`, when given, is the ws send-completion callback: it fires
98
+ * once the frame is handed to the socket (or with an error) — the
99
+ * flush-before-teardown guarantee for teardown-path frames. */
100
+ send(line: string, onWritten?: (err?: Error) => void): void;
79
101
  /**
80
102
  * Sends a control frame to the relay (not routed to app peer). Used for
81
103
  * out-of-band metadata updates like `room_meta_update`. Silently no-ops if
@@ -114,12 +114,15 @@ export class RelayClient extends EventEmitter {
114
114
  isOpen() {
115
115
  return this.ws?.readyState === WebSocket.OPEN;
116
116
  }
117
- /** Sends a raw line to the relay (caller is responsible for framing). */
118
- send(line) {
117
+ /** Sends a raw line to the relay (caller is responsible for framing).
118
+ * `onWritten`, when given, is the ws send-completion callback: it fires
119
+ * once the frame is handed to the socket (or with an error) — the
120
+ * flush-before-teardown guarantee for teardown-path frames. */
121
+ send(line, onWritten) {
119
122
  if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
120
123
  throw new Error("relay: not connected");
121
124
  }
122
- this.ws.send(line);
125
+ this.ws.send(line, onWritten);
123
126
  }
124
127
  /**
125
128
  * Sends a control frame to the relay (not routed to app peer). Used for
@@ -1 +1 @@
1
- {"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.ts"],"names":[],"mappings":"AAiCA,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,OAAO,GAAG,eAAe,CAAC;AAChC,MAAM,MAAM,GAAG,qBAAqB,CAAC;AAErC,MAAM,UAAU,YAAY,CAAC,GAAkB,EAAE,KAAkB;IACjE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,EAAE,CAAC,SAAS,CACd,OAAO,EACP,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAChE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,8DAA8D;IAC9D,4EAA4E;IAC5E,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.ts"],"names":[],"mappings":"AAiCA,MAAM,SAAS,GAAG,iBAAiB,CAAA;AACnC,MAAM,OAAO,GAAG,eAAe,CAAA;AAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAA;AAEpC,MAAM,UAAU,YAAY,CAAC,GAAkB,EAAE,KAAkB;IACjE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;QAClC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,GAAG,CAAC,CAAA;IAC/D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,EAAE,CAAC,SAAS,CACd,OAAO,EACP,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAChE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC;IAED,8DAA8D;IAC9D,4EAA4E;IAC5E,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,CAAA;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/C,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,UAAU,EAAE,CAAC,CAAA;AAC9C,CAAC"}