@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.
- package/README.md +258 -320
- package/dist/actions/handlers.js.map +1 -1
- package/dist/actions/registry.js.map +1 -1
- package/dist/bin/launcher.js +38 -0
- package/dist/bin/launcher.js.map +1 -0
- package/dist/commands/deps.d.ts +156 -0
- package/dist/commands/deps.js +2 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/fork_link.d.ts +4 -0
- package/dist/commands/fork_link.js +45 -0
- package/dist/commands/fork_link.js.map +1 -0
- package/dist/commands/housekeeping.d.ts +34 -0
- package/dist/commands/housekeeping.js +275 -0
- package/dist/commands/housekeeping.js.map +1 -0
- package/dist/commands/info.d.ts +43 -0
- package/dist/commands/info.js +127 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/lifecycle.d.ts +45 -0
- package/dist/commands/lifecycle.js +708 -0
- package/dist/commands/lifecycle.js.map +1 -0
- package/dist/commands/pairing.d.ts +26 -0
- package/dist/commands/pairing.js +167 -0
- package/dist/commands/pairing.js.map +1 -0
- package/dist/commands/register.d.ts +12 -0
- package/dist/commands/register.js +255 -0
- package/dist/commands/register.js.map +1 -0
- package/dist/commands/relay.d.ts +28 -0
- package/dist/commands/relay.js +81 -0
- package/dist/commands/relay.js.map +1 -0
- package/dist/commands/session_ops.d.ts +52 -0
- package/dist/commands/session_ops.js +75 -0
- package/dist/commands/session_ops.js.map +1 -0
- package/dist/config.d.ts +30 -2
- package/dist/config.js.map +1 -1
- package/dist/daemon/install.d.ts +36 -37
- package/dist/daemon/install.js +49 -73
- package/dist/daemon/install.js.map +1 -1
- package/dist/enrich_tool_args.d.ts +9 -0
- package/dist/enrich_tool_args.js +171 -0
- package/dist/enrich_tool_args.js.map +1 -0
- package/dist/extension_ui_bridge.js.map +1 -1
- package/dist/image_codec.d.ts +22 -0
- package/dist/image_codec.js +149 -0
- package/dist/image_codec.js.map +1 -0
- package/dist/index.d.ts +32 -127
- package/dist/index.js +957 -4042
- package/dist/index.js.map +1 -1
- package/dist/launch.d.ts +42 -0
- package/dist/launch.js +206 -0
- package/dist/launch.js.map +1 -0
- package/dist/launcher/launcher.d.ts +6 -0
- package/dist/launcher/launcher.js +207 -0
- package/dist/launcher/launcher.js.map +1 -0
- package/dist/mcp/mesh_result.js.map +1 -1
- package/dist/mcp/mesh_server.js.map +1 -1
- package/dist/mesh/canonical.js +1 -1
- package/dist/mesh/canonical.js.map +1 -1
- package/dist/mesh/client.js.map +1 -1
- package/dist/mesh/encoding.js.map +1 -1
- package/dist/mesh/self_revoke.js.map +1 -1
- package/dist/mesh/siblings.js.map +1 -1
- package/dist/mesh/verify.js +1 -1
- package/dist/mesh/verify.js.map +1 -1
- package/dist/pairing/crypto.js +0 -1
- package/dist/pairing/crypto.js.map +1 -1
- package/dist/pairing/peer_trust.d.ts +20 -0
- package/dist/pairing/peer_trust.js +82 -0
- package/dist/pairing/peer_trust.js.map +1 -0
- package/dist/pairing/qr.js.map +1 -1
- package/dist/pairing/storage.js +4 -3
- package/dist/pairing/storage.js.map +1 -1
- package/dist/panel_bridge.d.ts +3 -1
- package/dist/panel_bridge.js +11 -10
- package/dist/panel_bridge.js.map +1 -1
- package/dist/paths.d.ts +22 -8
- package/dist/paths.js +37 -10
- package/dist/paths.js.map +1 -1
- package/dist/protocol/codec.js.map +1 -1
- package/dist/rooms.d.ts +16 -0
- package/dist/rooms.js +23 -4
- package/dist/rooms.js.map +1 -1
- package/dist/session/bridge.js.map +1 -1
- package/dist/session/broker.js.map +1 -1
- package/dist/session/broker_remote.js.map +1 -1
- package/dist/session/capabilities.d.ts +11 -0
- package/dist/session/capabilities.js +35 -0
- package/dist/session/capabilities.js.map +1 -0
- package/dist/session/cwd_lock.js +3 -3
- package/dist/session/cwd_lock.js.map +1 -1
- package/dist/session/debug_log.js +15 -5
- package/dist/session/debug_log.js.map +1 -1
- package/dist/session/envelope.js.map +1 -1
- package/dist/session/global_config.d.ts +1 -1
- package/dist/session/global_config.js +1 -1
- package/dist/session/global_config.js.map +1 -1
- package/dist/session/ipc.d.ts +2 -2
- package/dist/session/ipc.js.map +1 -1
- package/dist/session/leader_election.js.map +1 -1
- package/dist/session/local_config.d.ts +37 -0
- package/dist/session/local_config.js +47 -1
- package/dist/session/local_config.js.map +1 -1
- package/dist/session/mesh_node.d.ts +1 -1
- package/dist/session/mesh_node.js +1 -1
- package/dist/session/mesh_node.js.map +1 -1
- package/dist/session/peer.js.map +1 -1
- package/dist/session/peer_inventory.js.map +1 -1
- package/dist/session/peer_limits.js.map +1 -1
- package/dist/session/received_images.d.ts +63 -0
- package/dist/session/received_images.js +273 -0
- package/dist/session/received_images.js.map +1 -0
- package/dist/session/relay_lifecycle.d.ts +219 -0
- package/dist/session/relay_lifecycle.js +764 -0
- package/dist/session/relay_lifecycle.js.map +1 -0
- package/dist/session/rpc_envelope.d.ts +28 -0
- package/dist/session/rpc_envelope.js +10 -1
- package/dist/session/rpc_envelope.js.map +1 -1
- package/dist/session/rpc_handlers.d.ts +53 -0
- package/dist/session/rpc_handlers.js +268 -0
- package/dist/session/rpc_handlers.js.map +1 -0
- package/dist/session/rpc_inbound.d.ts +42 -7
- package/dist/session/rpc_inbound.js +56 -1
- package/dist/session/rpc_inbound.js.map +1 -1
- package/dist/session/setup_wizard.js.map +1 -1
- package/dist/session/tools.js.map +1 -1
- package/dist/session/wizard.js.map +1 -1
- package/dist/state_migration.d.ts +45 -0
- package/dist/state_migration.js +104 -0
- package/dist/state_migration.js.map +1 -0
- package/dist/subagent_rooms.d.ts +68 -0
- package/dist/subagent_rooms.js +919 -0
- package/dist/subagent_rooms.js.map +1 -0
- package/dist/test_hooks.d.ts +180 -0
- package/dist/test_hooks.js +98 -0
- package/dist/test_hooks.js.map +1 -0
- package/dist/transport/peer_channel.d.ts +18 -1
- package/dist/transport/peer_channel.js +42 -12
- package/dist/transport/peer_channel.js.map +1 -1
- package/dist/transport/pi_forward_client.js.map +1 -1
- package/dist/transport/relay_client.d.ts +24 -2
- package/dist/transport/relay_client.js +6 -3
- package/dist/transport/relay_client.js.map +1 -1
- package/dist/ui/footer.js.map +1 -1
- package/docs/daemon.md +170 -179
- package/package.json +13 -11
- package/service-templates/launchd.plist.template +8 -7
- package/service-templates/systemd.service.template +5 -4
- package/service-templates/task-launcher.vbs.template +5 -5
- package/service-templates/task-scheduler.xml.template +1 -1
- package/dist/bin/supervisord.js +0 -86
- package/dist/bin/supervisord.js.map +0 -1
- package/dist/daemon/client.d.ts +0 -20
- package/dist/daemon/client.js +0 -131
- package/dist/daemon/client.js.map +0 -1
- package/dist/daemon/control_protocol.d.ts +0 -176
- package/dist/daemon/control_protocol.js +0 -63
- package/dist/daemon/control_protocol.js.map +0 -1
- package/dist/daemon/cron_log.d.ts +0 -45
- package/dist/daemon/cron_log.js +0 -71
- package/dist/daemon/cron_log.js.map +0 -1
- package/dist/daemon/cron_registry.d.ts +0 -80
- package/dist/daemon/cron_registry.js +0 -198
- package/dist/daemon/cron_registry.js.map +0 -1
- package/dist/daemon/id.d.ts +0 -24
- package/dist/daemon/id.js +0 -36
- package/dist/daemon/id.js.map +0 -1
- package/dist/daemon/registry.d.ts +0 -63
- package/dist/daemon/registry.js +0 -153
- package/dist/daemon/registry.js.map +0 -1
- package/dist/daemon/rpc_child.d.ts +0 -194
- package/dist/daemon/rpc_child.js +0 -419
- package/dist/daemon/rpc_child.js.map +0 -1
- package/dist/daemon/supervisor.d.ts +0 -93
- package/dist/daemon/supervisor.js +0 -666
- package/dist/daemon/supervisor.js.map +0 -1
- /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
|
|
82
|
-
?
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,eAAe,GAEhB,MAAM,4BAA4B,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/footer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.ts"],"names":[],"mappings":"AAiCA,MAAM,SAAS,GAAG,iBAAiB,
|
|
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"}
|