@qwen-code/channel-base 0.21.1-preview.0 → 0.21.2-nightly.20260801.bc382c3ff

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 (61) hide show
  1. package/README.md +3 -1
  2. package/dist/AcpBridge.d.ts +8 -3
  3. package/dist/AcpBridge.d.ts.map +1 -0
  4. package/dist/AcpBridge.js +61 -8
  5. package/dist/AcpBridge.js.map +1 -1
  6. package/dist/BlockStreamer.d.ts +1 -0
  7. package/dist/BlockStreamer.d.ts.map +1 -0
  8. package/dist/ChannelAgentBridge.d.ts +1 -0
  9. package/dist/ChannelAgentBridge.d.ts.map +1 -0
  10. package/dist/ChannelBase.d.ts +43 -4
  11. package/dist/ChannelBase.d.ts.map +1 -0
  12. package/dist/ChannelBase.js +378 -14
  13. package/dist/ChannelBase.js.map +1 -1
  14. package/dist/ChannelLoopScheduler.d.ts +8 -0
  15. package/dist/ChannelLoopScheduler.d.ts.map +1 -0
  16. package/dist/ChannelLoopScheduler.js +25 -0
  17. package/dist/ChannelLoopScheduler.js.map +1 -1
  18. package/dist/ChannelLoopStore.d.ts +1 -0
  19. package/dist/ChannelLoopStore.d.ts.map +1 -0
  20. package/dist/ChannelLoopTools.d.ts +1 -0
  21. package/dist/ChannelLoopTools.d.ts.map +1 -0
  22. package/dist/ChannelProactiveDeliveryError.d.ts +1 -0
  23. package/dist/ChannelProactiveDeliveryError.d.ts.map +1 -0
  24. package/dist/ChannelWebhookTask.d.ts +1 -0
  25. package/dist/ChannelWebhookTask.d.ts.map +1 -0
  26. package/dist/DaemonChannelBridge.d.ts +16 -1
  27. package/dist/DaemonChannelBridge.d.ts.map +1 -0
  28. package/dist/DaemonChannelBridge.js +75 -2
  29. package/dist/DaemonChannelBridge.js.map +1 -1
  30. package/dist/DmGate.d.ts +1 -0
  31. package/dist/DmGate.d.ts.map +1 -0
  32. package/dist/GroupGate.d.ts +1 -0
  33. package/dist/GroupGate.d.ts.map +1 -0
  34. package/dist/PairingStore.d.ts +4 -2
  35. package/dist/PairingStore.d.ts.map +1 -0
  36. package/dist/PairingStore.js +11 -2
  37. package/dist/PairingStore.js.map +1 -1
  38. package/dist/PollingChannelBase.d.ts +1 -0
  39. package/dist/PollingChannelBase.d.ts.map +1 -0
  40. package/dist/SenderGate.d.ts +1 -0
  41. package/dist/SenderGate.d.ts.map +1 -0
  42. package/dist/SessionRouter.d.ts +1 -0
  43. package/dist/SessionRouter.d.ts.map +1 -0
  44. package/dist/channel-memory-intent.d.ts +1 -0
  45. package/dist/channel-memory-intent.d.ts.map +1 -0
  46. package/dist/channel-memory-recall.d.ts +1 -0
  47. package/dist/channel-memory-recall.d.ts.map +1 -0
  48. package/dist/group-history-store.d.ts +1 -0
  49. package/dist/group-history-store.d.ts.map +1 -0
  50. package/dist/index.d.ts +7 -5
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +4 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/paths.d.ts +1 -0
  55. package/dist/paths.d.ts.map +1 -0
  56. package/dist/sanitize.d.ts +1 -0
  57. package/dist/sanitize.d.ts.map +1 -0
  58. package/dist/types.d.ts +51 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js.map +1 -1
  61. package/package.json +1 -1
package/README.md CHANGED
@@ -301,7 +301,7 @@ When `requireMention` is `true` (default), group messages are only processed if
301
301
  constructor(channelName: string, workspaceCwd?: string)
302
302
  ```
303
303
 
304
- Persists pairing state to `{channelName}-pairing.json` and `{channelName}-allowlist.json`. With `workspaceCwd` (what `ChannelBase` passes — the channel's `cwd`), the files live under the workspace-scoped directory `~/.qwen/channels/<workspace-scope>/` so two workspaces reusing the same channel name never share pairing requests or allowlist entries. Without it, the legacy global `~/.qwen/channels/` layout is used. The first time a given (workspace, channel) pair is constructed, existing legacy global files are copied in once (grandfathering) so already-approved senders stay approved; a per-channel `<channel>.migrated` sentinel in the scope directory marks that decision, after which legacy files are never consulted again for that channel. Channel names are URI-encoded in file names, so a name containing path separators cannot escape the scope directory. To revoke a sender, remove their entry from the scoped allowlist (and from the legacy global file, while it exists) — deleting the scoped file does not revoke, and recreating the scope directory from scratch re-imports the legacy baseline.
304
+ Persists pairing state to `{channelName}-pairing.json` and `{channelName}-allowlist.json`. With `workspaceCwd` (what `ChannelBase` passes — the channel's `cwd`), the files live under the workspace-scoped directory `~/.qwen/channels/<workspace-scope>/` so two workspaces reusing the same channel name never share pairing requests or allowlist entries. Without it, the legacy global `~/.qwen/channels/` layout is used. The first time a given (workspace, channel) pair is constructed, existing legacy global files are copied in once (grandfathering) so already-approved senders stay approved; a per-channel `<channel>.migrated` sentinel in the scope directory marks that decision, after which legacy files are never consulted again for that channel. Channel names are URI-encoded in file names, so a name containing path separators cannot escape the scope directory. `revoke(senderId)` removes the sender only from this store's allowlist and never mutates the legacy global baseline.
305
305
 
306
306
  | Method | Description |
307
307
  | ------------------------------------- | --------------------------------------------------------------------------------------------------------- |
@@ -309,6 +309,8 @@ Persists pairing state to `{channelName}-pairing.json` and `{channelName}-allowl
309
309
  | `approve(code)` | Approve a pairing request, adds sender to allowlist. Returns the request or `null`. |
310
310
  | `isApproved(senderId)` | Check if sender is in the approved allowlist |
311
311
  | `listPending()` | Get active (non-expired) pending requests |
312
+ | `getAllowlist()` | Get approved sender IDs |
313
+ | `revoke(senderId)` | Remove an approved sender. Returns whether the sender was present. |
312
314
 
313
315
  ## Envelope
314
316
 
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import type { RequestPermissionResponse } from '@agentclientprotocol/sdk';
3
- import type { AvailableCommand, ChannelLoopToolHandler, ChannelAgentBridge } from './ChannelAgentBridge.js';
3
+ import type { AvailableCommand, ChannelAgentBridge, ChannelAgentBridgeSessionOptions, ChannelLoopToolHandler } from './ChannelAgentBridge.js';
4
4
  export type { AvailableCommand, ToolCallEvent } from './ChannelAgentBridge.js';
5
5
  export interface AcpBridgeOptions {
6
6
  cliEntryPath: string;
@@ -8,6 +8,7 @@ export interface AcpBridgeOptions {
8
8
  model?: string;
9
9
  }
10
10
  export declare const ACP_EVENT_LOOP_STALL_RESTART_MS: number;
11
+ export declare const ACP_START_TIMEOUT_MS: number;
11
12
  export declare const ACP_PERMISSION_RESPONSE_TIMEOUT_MS: number;
12
13
  /**
13
14
  * Read a command's aliases off a raw wire `available_commands_update` entry. ACP
@@ -23,6 +24,8 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
23
24
  private _availableCommands;
24
25
  private channelLoopMcpServer;
25
26
  private readonly channelLoopToolHandlers;
27
+ private readonly knownSessionIds;
28
+ private readonly sessionBindingTokens;
26
29
  private channelLoopMcpRegistered;
27
30
  private channelLoopMcpRegistration;
28
31
  private readonly pendingPermissions;
@@ -30,13 +33,14 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
30
33
  get availableCommands(): AvailableCommand[];
31
34
  start(): Promise<void>;
32
35
  registerChannelLoopToolHandler(handler: ChannelLoopToolHandler): void;
33
- newSession(cwd: string): Promise<string>;
34
- loadSession(sessionId: string, cwd: string): Promise<string>;
36
+ newSession(cwd: string, _options?: ChannelAgentBridgeSessionOptions, bindingToken?: object): Promise<string>;
37
+ loadSession(sessionId: string, cwd: string, _options?: ChannelAgentBridgeSessionOptions, bindingToken?: object): Promise<string>;
35
38
  prompt(sessionId: string, text: string, options?: {
36
39
  imageBase64?: string;
37
40
  imageMimeType?: string;
38
41
  }): Promise<string>;
39
42
  cancelSession(sessionId: string): Promise<void>;
43
+ discardSession(sessionId: string, expectedBindingToken?: object): Promise<void>;
40
44
  respondToPermission(requestId: string, response: RequestPermissionResponse): Promise<boolean>;
41
45
  stop(): void;
42
46
  get isConnected(): boolean;
@@ -51,3 +55,4 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
51
55
  private handleClientMcpMessage;
52
56
  private resolveChannelLoopToolHandler;
53
57
  }
58
+ //# sourceMappingURL=AcpBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcpBridge.d.ts","sourceRoot":"","sources":["../src/AcpBridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,OAAO,KAAK,EAIV,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gCAAgC,EAChC,sBAAsB,EAEvB,MAAM,yBAAyB,CAAC;AAUjC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM/E,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,+BAA+B,QAAgB,CAAC;AAC7D,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAC9C,eAAO,MAAM,kCAAkC,QAAgB,CAAC;AAIhE;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,OAAO,GACX,MAAM,EAAE,GAAG,SAAS,CAgBtB;AAED,qBAAa,SAAU,SAAQ,YAAa,YAAW,kBAAkB;IACvE,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAgC;IACxE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyC;IAC9E,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,0BAA0B,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAO/B;gBAEQ,OAAO,EAAE,gBAAgB;IAKrC,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAE1C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4F5B,8BAA8B,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAe/D,UAAU,CACd,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,gCAAgC,EAC3C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IASZ,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,gCAAgC,EAC3C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAaZ,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,MAAM,CAAC;IA6CZ,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAgBV,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,yBAAyB,GAClC,OAAO,CAAC,OAAO,CAAC;IAenB,IAAI,IAAI,IAAI;IAWZ,IAAI,WAAW,IAAI,OAAO,CAIzB;IAED,OAAO,CAAC,mBAAmB;IA8E3B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,yBAAyB;YAoBnB,4BAA4B;YA2C5B,eAAe;YAqBf,sBAAsB;IA4BpC,OAAO,CAAC,6BAA6B;CAmBtC"}
package/dist/AcpBridge.js CHANGED
@@ -6,7 +6,9 @@ import { ClientSideConnection, ndJsonStream, PROTOCOL_VERSION, } from '@agentcli
6
6
  import { CHANNEL_LOOP_MCP_SERVER_NAME, CLIENT_MCP_MESSAGE_METHOD, CLIENT_MCP_OVER_WS_CONFIG_FLAG, ChannelLoopMcpServer, WORKSPACE_MCP_RUNTIME_ADD_METHOD, } from './ChannelLoopTools.js';
7
7
  import { sanitizeLogText } from './sanitize.js';
8
8
  const MID_TURN_QUEUE_DRAIN_METHOD = 'craft/drainMidTurnQueue';
9
+ const TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD = 'craft/claimTodoStopGuardContinuation';
9
10
  export const ACP_EVENT_LOOP_STALL_RESTART_MS = 5 * 60 * 1000;
11
+ export const ACP_START_TIMEOUT_MS = 30 * 1000;
10
12
  export const ACP_PERMISSION_RESPONSE_TIMEOUT_MS = 5 * 60 * 1000;
11
13
  const ACP_EVENT_LOOP_STALL_RE = /^\[perf\] acp agent event loop stall: max=(\d+(?:\.\d+)?)ms/m;
12
14
  /**
@@ -40,6 +42,8 @@ export class AcpBridge extends EventEmitter {
40
42
  _availableCommands = [];
41
43
  channelLoopMcpServer;
42
44
  channelLoopToolHandlers = [];
45
+ knownSessionIds = new Set();
46
+ sessionBindingTokens = new Map();
43
47
  channelLoopMcpRegistered = false;
44
48
  channelLoopMcpRegistration = null;
45
49
  pendingPermissions = new Map();
@@ -78,6 +82,8 @@ export class AcpBridge extends EventEmitter {
78
82
  // Do not emit sessionDied here: a full ACP process exit is handled by
79
83
  // channel start crash recovery, which reloads the persisted sessions.
80
84
  this.resolvePendingPermissions();
85
+ this.knownSessionIds.clear();
86
+ this.sessionBindingTokens.clear();
81
87
  this.connection = null;
82
88
  this.child = null;
83
89
  this.emit('disconnected', code, signal);
@@ -99,11 +105,17 @@ export class AcpBridge extends EventEmitter {
99
105
  extMethod: async (method, params) => this.handleExtMethod(method, params),
100
106
  extNotification: async () => { },
101
107
  }), stream);
102
- await this.connection.initialize({
103
- protocolVersion: PROTOCOL_VERSION,
104
- clientCapabilities: {},
105
- });
106
- await this.registerChannelLoopMcpServer();
108
+ try {
109
+ await withTimeout(this.connection.initialize({
110
+ protocolVersion: PROTOCOL_VERSION,
111
+ clientCapabilities: {},
112
+ }), ACP_START_TIMEOUT_MS, `ACP initialization timed out after ${ACP_START_TIMEOUT_MS}ms`);
113
+ await this.registerChannelLoopMcpServer();
114
+ }
115
+ catch (error) {
116
+ this.stop();
117
+ throw error;
118
+ }
107
119
  }
108
120
  registerChannelLoopToolHandler(handler) {
109
121
  if (!this.channelLoopToolHandlers.includes(handler)) {
@@ -116,13 +128,15 @@ export class AcpBridge extends EventEmitter {
116
128
  });
117
129
  void this.registerChannelLoopMcpServer();
118
130
  }
119
- async newSession(cwd) {
131
+ async newSession(cwd, _options, bindingToken) {
120
132
  const conn = this.ensureConnection();
121
133
  await this.registerChannelLoopMcpServer();
122
134
  const response = await conn.newSession({ cwd, mcpServers: [] });
135
+ this.knownSessionIds.add(response.sessionId);
136
+ this.sessionBindingTokens.set(response.sessionId, bindingToken);
123
137
  return response.sessionId;
124
138
  }
125
- async loadSession(sessionId, cwd) {
139
+ async loadSession(sessionId, cwd, _options, bindingToken) {
126
140
  const conn = this.ensureConnection();
127
141
  await this.registerChannelLoopMcpServer();
128
142
  await conn.loadSession({
@@ -130,6 +144,8 @@ export class AcpBridge extends EventEmitter {
130
144
  cwd,
131
145
  mcpServers: [],
132
146
  });
147
+ this.knownSessionIds.add(sessionId);
148
+ this.sessionBindingTokens.set(sessionId, bindingToken);
133
149
  return sessionId;
134
150
  }
135
151
  async prompt(sessionId, text, options) {
@@ -184,6 +200,20 @@ export class AcpBridge extends EventEmitter {
184
200
  this.resolvePendingPermissions(sessionId);
185
201
  }
186
202
  }
203
+ async discardSession(sessionId, expectedBindingToken) {
204
+ if (expectedBindingToken !== undefined &&
205
+ this.sessionBindingTokens.get(sessionId) !== expectedBindingToken) {
206
+ return;
207
+ }
208
+ if (!this.knownSessionIds.delete(sessionId))
209
+ return;
210
+ this.sessionBindingTokens.delete(sessionId);
211
+ this.resolvePendingPermissions(sessionId);
212
+ const conn = this.connection;
213
+ if (!conn || !this.isConnected)
214
+ return;
215
+ await conn.extMethod('qwen/control/session/close', { sessionId });
216
+ }
187
217
  async respondToPermission(requestId, response) {
188
218
  const pending = this.pendingPermissions.get(requestId);
189
219
  if (!pending) {
@@ -200,6 +230,8 @@ export class AcpBridge extends EventEmitter {
200
230
  }
201
231
  stop() {
202
232
  this.resolvePendingPermissions();
233
+ this.knownSessionIds.clear();
234
+ this.sessionBindingTokens.clear();
203
235
  if (this.child) {
204
236
  this.child.kill();
205
237
  this.child = null;
@@ -386,7 +418,14 @@ export class AcpBridge extends EventEmitter {
386
418
  return this.handleClientMcpMessage(params);
387
419
  }
388
420
  if (method === MID_TURN_QUEUE_DRAIN_METHOD) {
389
- return { messages: [] };
421
+ return { messages: [], hasQueuedPrompt: false };
422
+ }
423
+ if (method === TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD) {
424
+ const sessionId = typeof params['sessionId'] === 'string' ? params['sessionId'] : '';
425
+ return {
426
+ claimed: this.knownSessionIds.has(sessionId),
427
+ hasQueuedPrompt: false,
428
+ };
390
429
  }
391
430
  throw new Error(`Method not found: ${method}`);
392
431
  }
@@ -424,6 +463,20 @@ export class AcpBridge extends EventEmitter {
424
463
  : `No channel loop handler matched session ${sessionId}.`);
425
464
  }
426
465
  }
466
+ async function withTimeout(operation, timeoutMs, message) {
467
+ let timer;
468
+ const timeout = new Promise((_, reject) => {
469
+ timer = setTimeout(() => reject(new Error(message)), timeoutMs);
470
+ timer.unref?.();
471
+ });
472
+ try {
473
+ return await Promise.race([operation, timeout]);
474
+ }
475
+ finally {
476
+ if (timer)
477
+ clearTimeout(timer);
478
+ }
479
+ }
427
480
  function isSkippedMcpRegistration(result) {
428
481
  return (typeof result === 'object' &&
429
482
  result !== null &&
@@ -1 +1 @@
1
- {"version":3,"file":"AcpBridge.js","sourceRoot":"","sources":["../src/AcpBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcpBridge.js","sourceRoot":"","sources":["../src/AcpBridge.ts"],"names":[],"mappings":"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"}
@@ -54,3 +54,4 @@ export declare class BlockStreamer {
54
54
  private findBreakPoint;
55
55
  private clearIdleTimer;
56
56
  }
57
+ //# sourceMappingURL=BlockStreamer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockStreamer.d.ts","sourceRoot":"","sources":["../src/BlockStreamer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,IAAI,CAAuB;IAEnC,uCAAuC;IACvC,UAAU,SAAK;gBAEH,IAAI,EAAE,oBAAoB;IAItC,mDAAmD;IACnD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUzB,mEAAmE;IAC7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,0DAA0D;IAC1D,IAAI,IAAI,IAAI;IASZ,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,SAAS;IASjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;CAMvB"}
@@ -95,3 +95,4 @@ export interface ChannelAgentBridge {
95
95
  registerChannelLoopToolHandler?(handler: ChannelLoopToolHandler): void;
96
96
  }
97
97
  export {};
98
+ //# sourceMappingURL=ChannelAgentBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAgentBridge.d.ts","sourceRoot":"","sources":["../src/ChannelAgentBridge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ChannelConfig, ChannelMemoryCallbacks, ChannelMemoryIntentClassifier, ChannelProactiveTarget, ChannelRuntimeIdentity, ChannelRuntimeMemoryScope, ChannelTaskLifecycleEvent, Envelope, ObservedChannelContactObservation, SessionTarget } from './types.js';
1
+ import type { ChannelConfig, ChannelMemoryCallbacks, ChannelMemoryIntentClassifier, ChannelOutputSegmentContext, ChannelOutputSegmentEndReason, ChannelProactiveTarget, ChannelRuntimeIdentity, ChannelRuntimeMemoryScope, ChannelTaskLifecycleEvent, ChannelUserInputRequestContext, Envelope, ObservedChannelContactObservation, SessionTarget, UserInputPresentationResult } from './types.js';
2
2
  import { GroupGate } from './GroupGate.js';
3
3
  import { DmGate } from './DmGate.js';
4
4
  import { SenderGate } from './SenderGate.js';
@@ -26,6 +26,8 @@ export interface ChannelMemoryRecallObservation {
26
26
  export interface ChannelBaseOptions {
27
27
  router?: SessionRouter;
28
28
  proxy?: string;
29
+ /** Adapter-owned persistent state directory. */
30
+ stateDir?: string;
29
31
  channelMemory?: ChannelMemoryCallbacks;
30
32
  memoryIntentClassifier?: ChannelMemoryIntentClassifier;
31
33
  channelMemoryRecallObserver?: (observation: ChannelMemoryRecallObservation) => void;
@@ -34,6 +36,8 @@ export interface ChannelBaseOptions {
34
36
  * events directly.
35
37
  */
36
38
  registerBridgeEvents?: boolean;
39
+ /** Return the active bridge recovery barrier, if recovery is in progress. */
40
+ bridgeRecovery?: () => Promise<void> | undefined;
37
41
  groupHistoryPath?: string;
38
42
  loopController?: ChannelLoopController;
39
43
  observedContacts?: {
@@ -56,6 +60,10 @@ export interface ChannelLoopPromptOptions {
56
60
  type CommandHandler = (envelope: Envelope, args: string) => Promise<boolean>;
57
61
  export declare abstract class ChannelBase {
58
62
  protected config: ChannelConfig;
63
+ /**
64
+ * Recovery invariant: session-resolution and prompt-capture paths must await
65
+ * waitForBridgeRecovery() immediately before that operation.
66
+ */
59
67
  protected bridge: ChannelAgentBridge;
60
68
  protected groupGate: GroupGate;
61
69
  protected dmGate: DmGate;
@@ -67,6 +75,8 @@ export declare abstract class ChannelBase {
67
75
  protected readonly memoryScope: ChannelRuntimeMemoryScope;
68
76
  /** Resolved proxy URL, available to subclasses for adapter-specific clients. */
69
77
  protected proxy?: string;
78
+ /** Adapter-owned persistent state directory, when supplied by the runtime. */
79
+ protected readonly stateDir?: string;
70
80
  private readonly channelMemory?;
71
81
  private readonly memoryIntentClassifier?;
72
82
  private readonly channelMemoryRecallObserver?;
@@ -82,6 +92,7 @@ export declare abstract class ChannelBase {
82
92
  /** Per-session promise chain to serialize prompt + send (followup mode). */
83
93
  private sessionQueues;
84
94
  private readonly registerBridgeEvents;
95
+ private readonly bridgeRecovery?;
85
96
  /**
86
97
  * Per-session generation, bumped by /clear. A queued followup turn captures the
87
98
  * generation when it enqueues and bails if /clear bumped it before the turn ran,
@@ -106,6 +117,9 @@ export declare abstract class ChannelBase {
106
117
  dispatchToolCall(event: ToolCallEvent): void;
107
118
  dispatchBackgroundResponse(sessionId: string, text: string): Promise<void>;
108
119
  dispatchPermissionRequest(event: PermissionRequestEvent): Promise<void>;
120
+ private tryPresentUserInput;
121
+ private normalizeUserQuestions;
122
+ private respondToUserInput;
109
123
  private permissionTargetForEvent;
110
124
  dispatchPermissionResolved(event: PermissionResolvedEvent): void;
111
125
  constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
@@ -125,6 +139,7 @@ export declare abstract class ChannelBase {
125
139
  * logged, nothing more.
126
140
  */
127
141
  protected onTaskLifecycle(_event: ChannelTaskLifecycleEvent): void | Promise<void>;
142
+ protected presentUserInputRequest(_context: ChannelUserInputRequestContext): Promise<UserInputPresentationResult>;
128
143
  private emitTaskLifecycle;
129
144
  private logTaskLifecycleError;
130
145
  private lifecycleError;
@@ -137,6 +152,10 @@ export declare abstract class ChannelBase {
137
152
  private channelBoundaryPrompt;
138
153
  private shouldPrependChannelBoundaryPrompt;
139
154
  private lifecycleBase;
155
+ private outputSegmentContext;
156
+ private ensureOutputSegment;
157
+ private closeOutputSegment;
158
+ private notifyOutputSegmentEnd;
140
159
  supportsProactiveSend(): boolean;
141
160
  protected supportsProactiveTarget(target: SessionTarget): boolean;
142
161
  protected supportsProactiveDeliveryTarget(target: SessionTarget): boolean;
@@ -161,7 +180,9 @@ export declare abstract class ChannelBase {
161
180
  private webhookRoutingThreadId;
162
181
  private runLoopBridgePrompt;
163
182
  private cancelTimedOutLoopPrompt;
183
+ private discardRetiredSession;
164
184
  protected requestActivePromptCancellation(sessionId: string, reason?: 'cancel_command' | 'clear' | 'steer'): Promise<boolean>;
185
+ protected requestPromptRunCancellation(sessionId: string, runId: string, reason?: 'cancel_command' | 'clear' | 'steer'): Promise<boolean>;
165
186
  private dropCollectBuffer;
166
187
  private notifyPromptBufferDrained;
167
188
  private collectBufferMessageIds;
@@ -190,19 +211,32 @@ export declare abstract class ChannelBase {
190
211
  * Override to implement progressive display (e.g., updating an AI card in-place).
191
212
  * Default: no-op (chunks are collected internally and delivered via onResponseComplete).
192
213
  */
193
- protected onResponseChunk(_chatId: string, _chunk: string, _sessionId: string): void;
214
+ protected onResponseChunk(_chatId: string, _chunk: string, _sessionId: string, _segment?: ChannelOutputSegmentContext): void;
215
+ protected onOutputSegmentEnd(chatId: string, sessionId: string, _segment: ChannelOutputSegmentContext, reason: ChannelOutputSegmentEndReason): void | Promise<void>;
194
216
  /**
195
217
  * Called when the agent starts a new response segment for the same prompt.
196
218
  * Override to clear adapter-owned streaming buffers.
197
219
  */
198
- protected onResponseBoundary(_chatId: string, _sessionId: string): void;
220
+ protected onResponseBoundary(_chatId: string, _sessionId: string): void | Promise<void>;
199
221
  protected sendResponseMessage(chatId: string, text: string, sessionId: string): Promise<void>;
222
+ /**
223
+ * Adapter hook for delivery-only metadata. The response delivery path can read
224
+ * the active prompt while it exists; adapters must not retain its raw content.
225
+ */
226
+ protected getResponseMessageId(sessionId: string): string | undefined;
227
+ protected getResponseSenderId(sessionId: string): string | undefined;
228
+ protected getResponseMetadata(sessionId: string): string | undefined;
229
+ /**
230
+ * Returns the active prompt's response thread while it remains available for
231
+ * adapter delivery. Falls back to the session target after prompt cleanup.
232
+ */
233
+ protected getResponseThreadId(sessionId: string): string | undefined;
200
234
  /**
201
235
  * Called when the agent's full response is ready.
202
236
  * Override to customize delivery (e.g., finalize an AI card).
203
237
  * Default: sends the full response text.
204
238
  */
205
- protected onResponseComplete(chatId: string, fullText: string, sessionId: string): Promise<void>;
239
+ protected onResponseComplete(chatId: string, fullText: string, sessionId: string, _segment?: ChannelOutputSegmentContext): Promise<void>;
206
240
  /**
207
241
  * Register a slash command handler. Subclasses can call this to add
208
242
  * platform-specific commands (e.g., /start for Telegram).
@@ -215,6 +249,8 @@ export declare abstract class ChannelBase {
215
249
  private removePendingPermission;
216
250
  private removePendingPermissionsForSession;
217
251
  private clearPendingPermissions;
252
+ private settleUserInput;
253
+ private userInputSettlementReason;
218
254
  private pendingPermissionForEnvelope;
219
255
  private canEnvelopeAnswerPendingPermission;
220
256
  private formatPermissionRequest;
@@ -360,6 +396,8 @@ export declare abstract class ChannelBase {
360
396
  handleInbound(envelope: Envelope): Promise<void>;
361
397
  private recordObservedContact;
362
398
  protected markPreflighted(envelope: Envelope): void;
399
+ /** Wait until the currently active bridge recovery, if any, has completed. */
400
+ private waitForBridgeRecovery;
363
401
  /**
364
402
  * Process an inbound message after preflight gates have passed.
365
403
  *
@@ -371,3 +409,4 @@ export declare abstract class ChannelBase {
371
409
  protected onPairingRequired(chatId: string, code: string | null, threadId?: string): Promise<void>;
372
410
  }
373
411
  export {};
412
+ //# sourceMappingURL=ChannelBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelBase.d.ts","sourceRoot":"","sources":["../src/ChannelBase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EAEtB,6BAA6B,EAE7B,2BAA2B,EAC3B,6BAA6B,EAE7B,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EAGzB,yBAAyB,EACzB,8BAA8B,EAI9B,QAAQ,EACR,iCAAiC,EAEjC,aAAa,EACb,2BAA2B,EAE5B,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,OAAO,KAAK,EAEV,kBAAkB,EAGlB,sBAAsB,EACtB,uBAAuB,EAEvB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAajC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAgG5C,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,yBAAyB,GACjC,UAAU,GACV,OAAO,GACP,OAAO,GACP,YAAY,GACZ,mBAAmB,CAAC;AAExB,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,8BAA8B,CAAC;IACtC,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAQD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,sBAAsB,CAAC,EAAE,6BAA6B,CAAC;IACvD,2BAA2B,CAAC,EAAE,CAC5B,WAAW,EAAE,8BAA8B,KACxC,IAAI,CAAC;IACV;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,gBAAgB,CAAC,EAAE;QACjB,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,iCAAiC,GAC7C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,eAAe,CAAC,CACd,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACpC,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,sFAAsF;AACtF,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAiG7E,8BAAsB,WAAW;IAC/B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACrC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAC1D,gFAAgF;IAChF,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAgC;IACxE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAEnC;IACV,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAyC;IAC3E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,wBAAwB,CAA0B;IAC1D,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,wBAAwB,CAG5B;IACJ,OAAO,CAAC,QAAQ,CAA0C;IAC1D,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAkC;IAClE;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,6BAA6B,CAGjC;IACJ,OAAO,CAAC,sCAAsC,CAG1C;IAEJ,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAwC;IAC7D,mDAAmD;IACnD,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;IACF,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAW/C;IACF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAIxC;IACF,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAQ9C;IACF,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAI/C;IACF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwC;IAC3E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+B;IACxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAQrC;IAEF,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA0BtC,0BAA0B,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAgBV,yBAAyB,CAC7B,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAyDhB,OAAO,CAAC,mBAAmB;IAoF3B,OAAO,CAAC,sBAAsB;YA2EhB,kBAAkB;IAiChC,OAAO,CAAC,wBAAwB;IA2BhC,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;gBAY9D,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,kBAAkB;IAwD9B,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACjE,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B;;;;OAIG;cACa,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CACvB,MAAM,EAAE,yBAAyB,GAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAEP,uBAAuB,CACrC,QAAQ,EAAE,8BAA8B,GACvC,OAAO,CAAC,2BAA2B,CAAC;IAIvC,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;IAUpB,gBAAgB,CACpB,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IA4ChB,oEAAoE;IACpE,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,kCAAkC;IAI1C,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,kBAAkB;YAWZ,sBAAsB;IAgBpC,qBAAqB,IAAI,OAAO;IAIhC,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIjE,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIzE,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;cAIxD,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;cASA,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;YAeF,+BAA+B;IA0D7C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iCAAiC;IAWzC,OAAO,CAAC,iCAAiC;YAkB3B,2BAA2B;IA4EzC,OAAO,CAAC,0BAA0B;IAqBlC,OAAO,CAAC,kCAAkC;IAkC1C,uEAAuE;IACvE,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAerC,aAAa,CACjB,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2S9B,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAInD,OAAO,CAAC,wBAAwB;IAmC1B,cAAc,CAClB,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0O9B,OAAO,CAAC,sBAAsB;YAOhB,mBAAmB;YAqCnB,wBAAwB;IAsCtC,OAAO,CAAC,qBAAqB;IAoB7B,SAAS,CAAC,+BAA+B,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,gBAAgB,GAAG,OAAO,GAAG,OAA0B,GAC9D,OAAO,CAAC,OAAO,CAAC;IAqDnB,SAAS,CAAC,4BAA4B,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,gBAAgB,GAAG,OAAO,GAAG,OAA0B,GAC9D,OAAO,CAAC,OAAO,CAAC;IAQnB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,uBAAuB;YAMjB,qBAAqB;IAqBnC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAExD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOtC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACH,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAEP,SAAS,CAAC,gBAAgB,CACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAEP,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI;IAEP,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI;IAEP;;;OAGG;IACH,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAEP;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,2BAA2B,GACrC,IAAI;IAEP,SAAS,CAAC,kBAAkB,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,2BAA2B,EACrC,MAAM,EAAE,6BAA6B,GACpC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvB;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAEP,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpE;;;;OAIG;cACa,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,2BAA2B,GACrC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAItE,SAAS,CAAC,qBAAqB,CAAC,IAAI,SAAW,GAAG,IAAI;IAkDtD,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,kCAAkC;IAY1C,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,4BAA4B;IAwCpC,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,cAAc;YAoBR,+BAA+B;IAkH7C,+DAA+D;IAC/D,OAAO,CAAC,sBAAsB;YAoUhB,iBAAiB;YAyCjB,aAAa;YA4Gb,kBAAkB;YAoFlB,iBAAiB;YAajB,kBAAkB;YAkBlB,cAAc;YAsBd,iBAAiB;IAsD/B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;YAQZ,gBAAgB;IAmC9B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,4BAA4B;IAwBpC,kEAAkE;IAClE,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK/C,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,qBAAqB;YAyBf,gBAAgB;IAc9B,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,6BAA6B;YAMvB,yBAAyB;IA4ZvC,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,uBAAuB;YASjB,mCAAmC;IAgCjD,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,kCAAkC;YAM5B,2BAA2B;IAwKzC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,6BAA6B;IAIrC,OAAO,CAAC,qBAAqB;IAgB7B;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kCAAkC;IAS1C,OAAO,CAAC,oCAAoC;IAW5C,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;;;OAUG;YACW,oBAAoB;IA0BlC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,0BAA0B;IA2BlC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C1E,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASpD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB7D,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAOxC,qBAAqB;IAyCnC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAInD,8EAA8E;YAChE,qBAAqB;IAUnC;;;;;;OAMG;cACa,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cA4wBjD,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAejB"}