@jait/gateway 0.1.485 → 0.1.487

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 (77) hide show
  1. package/dist/channels/manager.d.ts +56 -6
  2. package/dist/channels/manager.d.ts.map +1 -1
  3. package/dist/channels/manager.js +207 -12
  4. package/dist/channels/manager.js.map +1 -1
  5. package/dist/db/connection.d.ts.map +1 -1
  6. package/dist/db/connection.js +1 -0
  7. package/dist/db/connection.js.map +1 -1
  8. package/dist/db/schema.d.ts +19 -0
  9. package/dist/db/schema.d.ts.map +1 -1
  10. package/dist/db/schema.js +1 -0
  11. package/dist/db/schema.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +51 -15
  14. package/dist/index.js.map +1 -1
  15. package/dist/routes/auth.d.ts.map +1 -1
  16. package/dist/routes/auth.js +7 -0
  17. package/dist/routes/auth.js.map +1 -1
  18. package/dist/services/users.d.ts +2 -0
  19. package/dist/services/users.d.ts.map +1 -1
  20. package/dist/services/users.js +7 -0
  21. package/dist/services/users.js.map +1 -1
  22. package/package.json +1 -1
  23. package/web-dist/assets/{_basePickBy-DyIN4qve.js → _basePickBy-Cfju-wKG.js} +1 -1
  24. package/web-dist/assets/{_baseUniq-nuNp_ZDG.js → _baseUniq-CexraFju.js} +1 -1
  25. package/web-dist/assets/{arc-DIrGvMOS.js → arc-Ds0U54hA.js} +1 -1
  26. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-DXqVqRgD.js → architectureDiagram-2XIMDMQ5-CPD_Hzjr.js} +1 -1
  27. package/web-dist/assets/{blockDiagram-WCTKOSBZ-DwtfBpBB.js → blockDiagram-WCTKOSBZ-BzhXCJpA.js} +1 -1
  28. package/web-dist/assets/{c4Diagram-IC4MRINW-D6W2i2Ca.js → c4Diagram-IC4MRINW-CjqmTytu.js} +1 -1
  29. package/web-dist/assets/channel-ThjSNIuP.js +1 -0
  30. package/web-dist/assets/{chunk-4BX2VUAB-DiFJ-rdO.js → chunk-4BX2VUAB-lun_o9YE.js} +1 -1
  31. package/web-dist/assets/{chunk-55IACEB6-BaQ2J5qV.js → chunk-55IACEB6-fK2d8U6_.js} +1 -1
  32. package/web-dist/assets/{chunk-FMBD7UC4-CKpbFa6r.js → chunk-FMBD7UC4-DID8JjLm.js} +1 -1
  33. package/web-dist/assets/{chunk-JSJVCQXG-C9iT3S_G.js → chunk-JSJVCQXG-Cu3bHVb2.js} +1 -1
  34. package/web-dist/assets/{chunk-KX2RTZJC-BXw8-zUX.js → chunk-KX2RTZJC-DJohxAjJ.js} +1 -1
  35. package/web-dist/assets/{chunk-NQ4KR5QH-DYC_22M_.js → chunk-NQ4KR5QH-8pOllf1l.js} +1 -1
  36. package/web-dist/assets/{chunk-QZHKN3VN-D0VM1fXz.js → chunk-QZHKN3VN-tj1Tqu6r.js} +1 -1
  37. package/web-dist/assets/{chunk-WL4C6EOR-BdTDfszd.js → chunk-WL4C6EOR-C5wjFMGJ.js} +1 -1
  38. package/web-dist/assets/classDiagram-VBA2DB6C-C8TJ6L_8.js +1 -0
  39. package/web-dist/assets/classDiagram-v2-RAHNMMFH-C8TJ6L_8.js +1 -0
  40. package/web-dist/assets/clone-CAME_5kl.js +1 -0
  41. package/web-dist/assets/{cose-bilkent-S5V4N54A-DS1ZVVu1.js → cose-bilkent-S5V4N54A-CoI7QOLX.js} +1 -1
  42. package/web-dist/assets/{dagre-KLK3FWXG-B3D0kfsZ.js → dagre-KLK3FWXG-EKLS1DTo.js} +1 -1
  43. package/web-dist/assets/{diagram-E7M64L7V-Dx9vKa0I.js → diagram-E7M64L7V-BmRbRGIN.js} +1 -1
  44. package/web-dist/assets/{diagram-IFDJBPK2-BRrYTTMU.js → diagram-IFDJBPK2-B4CD1IcR.js} +1 -1
  45. package/web-dist/assets/{diagram-P4PSJMXO-BnKTNbr0.js → diagram-P4PSJMXO-DUH_m6mV.js} +1 -1
  46. package/web-dist/assets/{erDiagram-INFDFZHY-BVTmzkaD.js → erDiagram-INFDFZHY-DKZU5jCd.js} +1 -1
  47. package/web-dist/assets/{flowDiagram-PKNHOUZH-Dmx06hxo.js → flowDiagram-PKNHOUZH-Bwxc-eHx.js} +1 -1
  48. package/web-dist/assets/{ganttDiagram-A5KZAMGK-C42lw8sD.js → ganttDiagram-A5KZAMGK-9ZT4Y8pE.js} +1 -1
  49. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-edx9tuIF.js → gitGraphDiagram-K3NZZRJ6-CRAyBHre.js} +1 -1
  50. package/web-dist/assets/{graph-CHSFefEi.js → graph-Ck-1TtGO.js} +1 -1
  51. package/web-dist/assets/{index-Crcb3fxD.js → index-3S90qk5k.js} +1 -1
  52. package/web-dist/assets/{index-F9jIjXpV.js → index-BWQ1J-lO.js} +1 -1
  53. package/web-dist/assets/{index-DMwDdyzl.js → index-rE6elX_B.js} +26 -26
  54. package/web-dist/assets/{infoDiagram-LFFYTUFH-DHZVpOBK.js → infoDiagram-LFFYTUFH-fIse5W2t.js} +1 -1
  55. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-DUECtdZX.js → ishikawaDiagram-PHBUUO56-BrVGxkXZ.js} +1 -1
  56. package/web-dist/assets/{journeyDiagram-4ABVD52K-DsJZfSyN.js → journeyDiagram-4ABVD52K-BdHwQAS2.js} +1 -1
  57. package/web-dist/assets/{kanban-definition-K7BYSVSG-BufyvHP-.js → kanban-definition-K7BYSVSG-Dd15xFF9.js} +1 -1
  58. package/web-dist/assets/{layout-CU3LULB2.js → layout-s2BRZOOm.js} +1 -1
  59. package/web-dist/assets/{linear-BEer2r-q.js → linear-B70tAYpL.js} +1 -1
  60. package/web-dist/assets/{mindmap-definition-YRQLILUH-C0_OllT-.js → mindmap-definition-YRQLILUH-BgN4U584.js} +1 -1
  61. package/web-dist/assets/{pieDiagram-SKSYHLDU-B7ePcbjv.js → pieDiagram-SKSYHLDU-BUTCOwPD.js} +1 -1
  62. package/web-dist/assets/{quadrantDiagram-337W2JSQ-DjCvFqay.js → quadrantDiagram-337W2JSQ-DLYGZWES.js} +1 -1
  63. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-BUP0LpDa.js → requirementDiagram-Z7DCOOCP-vkim8y1r.js} +1 -1
  64. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-D0S2AsyJ.js → sankeyDiagram-WA2Y5GQK-DYqrl-08.js} +1 -1
  65. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-DL_pX6qe.js → sequenceDiagram-2WXFIKYE-CjUVKedT.js} +1 -1
  66. package/web-dist/assets/{stateDiagram-RAJIS63D-DnbTcmJ8.js → stateDiagram-RAJIS63D-BWZY-s75.js} +1 -1
  67. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-qtGvvTGN.js +1 -0
  68. package/web-dist/assets/{timeline-definition-YZTLITO2-C5ZkP-QO.js → timeline-definition-YZTLITO2-BmN5COTT.js} +1 -1
  69. package/web-dist/assets/{treemap-KZPCXAKY-DbqXjUBz.js → treemap-KZPCXAKY-hnP8aEE4.js} +1 -1
  70. package/web-dist/assets/{vennDiagram-LZ73GAT5-C4VkcwHn.js → vennDiagram-LZ73GAT5-C-uLCIlV.js} +1 -1
  71. package/web-dist/assets/{xychartDiagram-JWTSCODW-RqBcb5lT.js → xychartDiagram-JWTSCODW-DIymryKn.js} +1 -1
  72. package/web-dist/index.html +1 -1
  73. package/web-dist/assets/channel-Br156KjP.js +0 -1
  74. package/web-dist/assets/classDiagram-VBA2DB6C-K4_5k-1u.js +0 -1
  75. package/web-dist/assets/classDiagram-v2-RAHNMMFH-K4_5k-1u.js +0 -1
  76. package/web-dist/assets/clone-BzDoXm8a.js +0 -1
  77. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-DYiFxPL4.js +0 -1
@@ -9,7 +9,18 @@ import type { SqliteDatabase } from "../db/sqlite-shim.js";
9
9
  import type { ToolRegistry } from "../tools/registry.js";
10
10
  import type { AuditWriter } from "../services/audit.js";
11
11
  import { type LLMConfig, type AgentMessage } from "../tools/agent-loop.js";
12
+ import type { Skill } from "../skills/index.js";
13
+ import type { ConsentManager, ConsentRequest, ConsentDecision } from "../security/consent-manager.js";
12
14
  import type { ChannelConfig, ChannelConnector, ChannelStatus, ChannelStatusDetail, InboundMessage } from "./types.js";
15
+ /** Owner user context for channel agent turns — keys, backend, picked model, disabled tools. */
16
+ export interface ChannelAuthContext {
17
+ userId?: string;
18
+ apiKeys?: Record<string, string>;
19
+ jaitBackend?: string;
20
+ model?: string;
21
+ /** Tools the owner has disabled in settings — never sent to the LLM, never executed. */
22
+ disabledTools?: Set<string>;
23
+ }
13
24
  /** Produces an assistant reply for a conversation. Injectable for testing. */
14
25
  export interface ReplyGenerator {
15
26
  generate(history: AgentMessage[], ctx: {
@@ -26,12 +37,27 @@ export interface ChannelManagerDeps {
26
37
  audit?: AuditWriter;
27
38
  projectRoot?: string;
28
39
  /** Auth context for tool execution (per-user keys, backend, model). */
29
- auth?: {
30
- userId?: string;
31
- apiKeys?: Record<string, string>;
32
- jaitBackend?: string;
33
- model?: string;
34
- };
40
+ auth?: ChannelAuthContext;
41
+ /**
42
+ * Resolves the owner user context (keys, backend, picked model, disabled
43
+ * tools) for each turn. Preferred over the static `auth` — channels run
44
+ * without request context, so this reads the owner's persisted settings live
45
+ * so replies use the same provider/model/tool surface as the web chat.
46
+ */
47
+ resolveAuth?: () => ChannelAuthContext | undefined;
48
+ /**
49
+ * Resolves the enabled skills to inject into the channel agent's system
50
+ * prompt — gives WhatsApp et al. the same skill catalogue as the web chat.
51
+ */
52
+ resolveSkills?: () => Skill[];
53
+ /**
54
+ * Consent manager — when present, mutating tools require an in-band yes/no
55
+ * approval from the user before they run (the channel sends a prompt and waits
56
+ * for the reply). Without it, channel tools auto-execute.
57
+ */
58
+ consentManager?: ConsentManager;
59
+ /** Approval timeout (ms) before a consent prompt auto-denies. Default 5 min. */
60
+ consentTimeoutMs?: number;
35
61
  /** System prompt for the channel agent. */
36
62
  systemPrompt?: string;
37
63
  /** Max conversation messages to retain (excluding the system prompt). */
@@ -56,6 +82,12 @@ export declare class ChannelManager {
56
82
  private readonly histories;
57
83
  /** Per-conversation serialization so messages are answered in order. */
58
84
  private readonly locks;
85
+ /** sessionId → conversation target, so consent prompts reach the right chat. */
86
+ private readonly sessionTargets;
87
+ /** conversationKey → pending consent requestId (one outstanding approval per chat). */
88
+ private readonly consentByConversation;
89
+ /** requestId → conversation, to clear mappings once a decision lands. */
90
+ private readonly consentTargets;
59
91
  private readonly replyGenerator;
60
92
  constructor(deps: ChannelManagerDeps);
61
93
  private log;
@@ -83,6 +115,24 @@ export declare class ChannelManager {
83
115
  dispose(): Promise<void>;
84
116
  private handleInbound;
85
117
  private replyTo;
118
+ /**
119
+ * Called (via the ConsentManager `onRequest` bridge) when a tool in a channel
120
+ * session needs approval. Sends an in-band yes/no prompt to the originating
121
+ * chat and records the pending request so a reply can resolve it.
122
+ */
123
+ handleConsentRequest(request: ConsentRequest): void;
124
+ /**
125
+ * Called (via the ConsentManager `onDecision` bridge) when any consent
126
+ * request resolves. Clears channel-side mappings and, on timeout, lets the
127
+ * user know the action was skipped.
128
+ */
129
+ handleConsentDecision(decision: ConsentDecision): void;
130
+ /**
131
+ * If the conversation has an outstanding approval, interpret this inbound
132
+ * message as the yes/no answer and resolve the consent request. Returns true
133
+ * when the message was consumed as a consent reply (and must NOT start a turn).
134
+ */
135
+ private tryResolveConsent;
86
136
  }
87
137
  export declare class AgentLoopReplyGenerator implements ReplyGenerator {
88
138
  private readonly deps;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/channels/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CACN,OAAO,EAAE,YAAY,EAAE,EACvB,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GACvE,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,wDAAwD;IACxD,UAAU,EAAE,MAAM,SAAS,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnG,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AASD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAgBjF;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAE1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAEpC,IAAI,EAAE,kBAAkB;IAMpC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAWnB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IASpC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa;IAgBnE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAS3C,+EAA+E;IACzE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,IAAI,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,EAAE;IAc1H,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3C,kDAAkD;IAC5C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtC,kDAAkD;IAC5C,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrC,qEAAqE;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAQhB,aAAa;YAkBb,OAAO;CA0CtB;AAMD,qBAAa,uBAAwB,YAAW,cAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAE/C,QAAQ,CACZ,OAAO,EAAE,YAAY,EAAE,EACvB,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GACvE,OAAO,CAAC,MAAM,CAAC;CAwDnB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/channels/manager.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,27 @@
5
5
  * config, decides which inbound messages warrant a reply, runs the agent loop to
6
6
  * produce that reply, and sends it back through the connector.
7
7
  */
8
- import { runAgentLoop, buildToolSchemas, SteeringController, } from "../tools/agent-loop.js";
8
+ import { runAgentLoop, buildTieredToolSchemas, toOpenAIName, SteeringController, } from "../tools/agent-loop.js";
9
+ import { buildSystemPrompt } from "../tools/prompts/index.js";
10
+ import { MUTATING_TOOLS } from "../tools/chat-modes.js";
9
11
  import { uuidv7 } from "../db/uuidv7.js";
10
12
  const DEFAULT_SYSTEM_PROMPT = "You are Jait, a helpful AI assistant replying over a messaging channel (e.g. WhatsApp). " +
11
13
  "Keep replies concise and conversational — they are read on a phone. " +
12
14
  "Do not use markdown headings or code fences unless explicitly asked.";
15
+ /**
16
+ * Channel-style guidance appended to the full agent system prompt. The base
17
+ * prompt grants the same tools/skills as the web chat; this note just adapts
18
+ * tone/format for a messaging surface.
19
+ */
20
+ const CHANNEL_STYLE_NOTE = "You are replying over a messaging channel (e.g. WhatsApp), read on a phone, so keep replies " +
21
+ "concise and conversational and avoid markdown headings or code fences unless explicitly asked. " +
22
+ "You have the same tools and skills as the desktop app — use them to actually perform tasks " +
23
+ "(run commands, search, read/edit files, manage skills, etc.) instead of only describing them.";
13
24
  const DEFAULT_MAX_HISTORY = 20;
25
+ /** Max tool-calling rounds for a channel reply — matches the web chat budget. */
26
+ const CHANNEL_MAX_TOOL_ROUNDS = 15;
27
+ /** Default approval window for an in-band consent prompt before auto-deny. */
28
+ const DEFAULT_CONSENT_TIMEOUT_MS = 5 * 60_000;
14
29
  /** Normalize a WhatsApp-style id to its bare number for allowlist comparison. */
15
30
  export function normalizeSenderId(id) {
16
31
  // "<number>@s.whatsapp.net" / "<number>:<device>@..." / "+<number>" → "<number>"
@@ -43,6 +58,12 @@ export class ChannelManager {
43
58
  histories = new Map();
44
59
  /** Per-conversation serialization so messages are answered in order. */
45
60
  locks = new Map();
61
+ /** sessionId → conversation target, so consent prompts reach the right chat. */
62
+ sessionTargets = new Map();
63
+ /** conversationKey → pending consent requestId (one outstanding approval per chat). */
64
+ consentByConversation = new Map();
65
+ /** requestId → conversation, to clear mappings once a decision lands. */
66
+ consentTargets = new Map();
46
67
  replyGenerator;
47
68
  constructor(deps) {
48
69
  this.deps = deps;
@@ -181,6 +202,12 @@ export class ChannelManager {
181
202
  if (!shouldRespond(msg, config))
182
203
  return;
183
204
  const key = `${msg.channelId}:${msg.conversationId}`;
205
+ // If we're awaiting a yes/no approval in this conversation, this message is
206
+ // the answer to it. Handle it OUTSIDE the per-conversation lock — the reply
207
+ // turn that requested consent is holding the lock while it blocks on this
208
+ // very message, so queuing behind the lock would deadlock.
209
+ if (await this.tryResolveConsent(managed, msg, key))
210
+ return;
184
211
  // Serialize replies per conversation.
185
212
  const prev = this.locks.get(key) ?? Promise.resolve();
186
213
  const next = prev
@@ -200,10 +227,13 @@ export class ChannelManager {
200
227
  history.push({ role: "user", content: msg.text });
201
228
  // Resolve allowed tools (filtered to those that actually exist).
202
229
  const allowedTools = new Set((config.tools ?? []).filter((t) => this.deps.toolRegistry?.has(t)));
230
+ // Record where this session lives so consent prompts reach the right chat.
231
+ const sessionId = `channel:${key}`;
232
+ this.sessionTargets.set(sessionId, { channelId: msg.channelId, conversationId: msg.conversationId, key });
203
233
  try {
204
234
  const reply = (await this.replyGenerator.generate(history, {
205
235
  channelId: msg.channelId,
206
- sessionId: `channel:${key}`,
236
+ sessionId,
207
237
  allowedTools,
208
238
  })).trim();
209
239
  if (reply) {
@@ -226,8 +256,100 @@ export class ChannelManager {
226
256
  }
227
257
  catch { /* connector may be down */ }
228
258
  }
259
+ finally {
260
+ this.sessionTargets.delete(sessionId);
261
+ }
262
+ }
263
+ /* ── In-band tool approval (consent over the chat) ──────────────── */
264
+ /**
265
+ * Called (via the ConsentManager `onRequest` bridge) when a tool in a channel
266
+ * session needs approval. Sends an in-band yes/no prompt to the originating
267
+ * chat and records the pending request so a reply can resolve it.
268
+ */
269
+ handleConsentRequest(request) {
270
+ const target = this.sessionTargets.get(request.sessionId);
271
+ if (!target)
272
+ return; // not a channel session (e.g. web chat) — ignore.
273
+ const managed = this.channels.get(target.channelId);
274
+ if (!managed)
275
+ return;
276
+ this.consentByConversation.set(target.key, request.id);
277
+ this.consentTargets.set(request.id, target);
278
+ const text = buildConsentPrompt(request);
279
+ void managed.connector.send({ conversationId: target.conversationId, text }).catch((err) => {
280
+ this.log(`failed to send consent prompt for ${target.key}:`, err);
281
+ });
282
+ }
283
+ /**
284
+ * Called (via the ConsentManager `onDecision` bridge) when any consent
285
+ * request resolves. Clears channel-side mappings and, on timeout, lets the
286
+ * user know the action was skipped.
287
+ */
288
+ handleConsentDecision(decision) {
289
+ const target = this.consentTargets.get(decision.requestId);
290
+ if (!target)
291
+ return; // not a channel consent.
292
+ this.consentTargets.delete(decision.requestId);
293
+ if (this.consentByConversation.get(target.key) === decision.requestId) {
294
+ this.consentByConversation.delete(target.key);
295
+ }
296
+ if (decision.decidedVia === "timeout") {
297
+ const managed = this.channels.get(target.channelId);
298
+ void managed?.connector
299
+ .send({ conversationId: target.conversationId, text: "⌛ No reply — skipped that action." })
300
+ .catch(() => { });
301
+ }
302
+ }
303
+ /**
304
+ * If the conversation has an outstanding approval, interpret this inbound
305
+ * message as the yes/no answer and resolve the consent request. Returns true
306
+ * when the message was consumed as a consent reply (and must NOT start a turn).
307
+ */
308
+ async tryResolveConsent(managed, msg, key) {
309
+ const requestId = this.consentByConversation.get(key);
310
+ if (!requestId || !this.deps.consentManager)
311
+ return false;
312
+ const verdict = parseYesNo(msg.text);
313
+ if (verdict === "yes") {
314
+ this.deps.consentManager.approve(requestId, "click", "Approved over channel");
315
+ return true;
316
+ }
317
+ if (verdict === "no") {
318
+ this.deps.consentManager.reject(requestId, "click", "Declined over channel");
319
+ return true;
320
+ }
321
+ // Ambiguous — keep the request pending and re-prompt.
322
+ try {
323
+ await managed.connector.send({
324
+ conversationId: msg.conversationId,
325
+ text: "Please reply *yes* to proceed or *no* to skip.",
326
+ });
327
+ }
328
+ catch { /* connector may be down */ }
329
+ return true;
229
330
  }
230
331
  }
332
+ /** Classify a free-text reply as a yes/no/unknown approval verdict. */
333
+ function parseYesNo(text) {
334
+ const t = text.trim().toLowerCase().replace(/[!.,]+$/, "");
335
+ if (/^(y|yes|yeah|yep|yup|ok|okay|sure|go|do it|proceed|approve|approved|ja|👍|✅)$/.test(t))
336
+ return "yes";
337
+ if (/^(n|no|nope|nah|stop|cancel|skip|deny|denied|don'?t|nein|👎|🚫|❌)$/.test(t))
338
+ return "no";
339
+ return "unknown";
340
+ }
341
+ /** Render an in-band approval prompt for a pending tool execution. */
342
+ function buildConsentPrompt(request) {
343
+ const preview = request.preview ?? {};
344
+ let detail = "";
345
+ if (typeof preview.command === "string")
346
+ detail = `\n\`${preview.command}\``;
347
+ else if (typeof preview.path === "string")
348
+ detail = `\n${preview.path}`;
349
+ else if (typeof preview.package === "string")
350
+ detail = `\n${preview.package}`;
351
+ return `⚠️ I'd like to run *${request.toolName}*${detail}\nReply *yes* to proceed or *no* to skip. (auto-skips in 5 min)`;
352
+ }
231
353
  /* ------------------------------------------------------------------ */
232
354
  /* Default reply generator — runs the agent loop */
233
355
  /* ------------------------------------------------------------------ */
@@ -237,21 +359,90 @@ export class AgentLoopReplyGenerator {
237
359
  this.deps = deps;
238
360
  }
239
361
  async generate(history, ctx) {
240
- const { toolRegistry, audit, auth } = this.deps;
241
- const allowedTools = ctx.allowedTools;
242
- const toolSchemas = toolRegistry && allowedTools.size > 0
243
- ? buildToolSchemas(toolRegistry, allowedTools)
362
+ const { toolRegistry, audit } = this.deps;
363
+ const auth = this.deps.resolveAuth?.() ?? this.deps.auth;
364
+ const llm = this.deps.resolveLLM();
365
+ const disabledTools = auth?.disabledTools;
366
+ // Tools: the channel agent gets the same tiered registry as the web chat
367
+ // (respecting the owner's disabled tools). The per-channel `tools` allowlist,
368
+ // when non-empty, narrows further; empty/undefined → full access.
369
+ const restrictTo = ctx.allowedTools.size > 0 ? ctx.allowedTools : undefined;
370
+ const isOllama = (auth?.jaitBackend ?? "") === "ollama";
371
+ let toolSchemas = toolRegistry
372
+ ? buildTieredToolSchemas(toolRegistry, disabledTools, { ollamaEssentials: isOllama })
244
373
  : [];
374
+ if (restrictTo) {
375
+ const allowedOpenAiNames = new Set([...restrictTo].map(toOpenAIName));
376
+ toolSchemas = toolSchemas.filter((s) => allowedOpenAiNames.has(s.function.name));
377
+ }
245
378
  const hasTools = toolSchemas.length > 0;
246
379
  const abort = new AbortController();
247
380
  const steering = new SteeringController();
381
+ // Refresh the system prompt each turn with the full agent capabilities +
382
+ // skill catalogue, so the channel agent knows about (and can use) the same
383
+ // tools and skills as the desktop chat.
384
+ if (hasTools) {
385
+ const modelEndpoint = {
386
+ model: llm.openaiModel,
387
+ baseUrl: llm.openaiBaseUrl,
388
+ backend: auth?.jaitBackend,
389
+ };
390
+ const promptCtx = {
391
+ projectRoot: this.deps.projectRoot ?? process.cwd(),
392
+ skills: this.deps.resolveSkills?.(),
393
+ backend: auth?.jaitBackend,
394
+ };
395
+ const channelNote = this.deps.systemPrompt ?? CHANNEL_STYLE_NOTE;
396
+ const systemPrompt = `${buildSystemPrompt("agent", modelEndpoint, promptCtx)}\n\n${channelNote}`;
397
+ if (history[0]?.role === "system")
398
+ history[0] = { role: "system", content: systemPrompt };
399
+ else
400
+ history.unshift({ role: "system", content: systemPrompt });
401
+ }
248
402
  const executor = async (name, args, sid, _auth, onChunk, signal) => {
249
- if (!allowedTools.has(name) || !toolRegistry) {
403
+ if (!toolRegistry || !toolRegistry.has(name)) {
404
+ return { ok: false, message: `Tool '${name}' is not available` };
405
+ }
406
+ if (restrictTo && !restrictTo.has(name)) {
250
407
  return { ok: false, message: `Tool '${name}' is not available to this channel` };
251
408
  }
409
+ if (disabledTools?.has(name)) {
410
+ return { ok: false, message: `Tool '${name}' is disabled` };
411
+ }
412
+ const actionId = uuidv7();
413
+ // In-band approval: mutating tools require a yes/no reply from the user
414
+ // before running. The ConsentManager `onRequest` bridge sends the prompt
415
+ // to the chat; this awaits the decision (or the timeout).
416
+ const consent = this.deps.consentManager;
417
+ if (consent && MUTATING_TOOLS.has(name)) {
418
+ const decision = await consent.requestConsent({
419
+ actionId,
420
+ toolName: name,
421
+ summary: `Run ${name}`,
422
+ preview: args ?? {},
423
+ risk: "high",
424
+ policy: {
425
+ consentLevel: "always",
426
+ description: "Mutating tool invoked over a messaging channel",
427
+ knownTool: true,
428
+ source: "profile",
429
+ },
430
+ sessionId: sid,
431
+ timeoutMs: this.deps.consentTimeoutMs ?? DEFAULT_CONSENT_TIMEOUT_MS,
432
+ });
433
+ if (!decision.approved) {
434
+ return {
435
+ ok: false,
436
+ message: decision.decidedVia === "timeout"
437
+ ? `Approval for ${name} timed out — skipped.`
438
+ : `User declined to run ${name}.`,
439
+ data: { consentRejected: true, decidedVia: decision.decidedVia },
440
+ };
441
+ }
442
+ }
252
443
  return toolRegistry.execute(name, args, {
253
444
  sessionId: sid,
254
- actionId: uuidv7(),
445
+ actionId,
255
446
  projectRoot: this.deps.projectRoot ?? process.cwd(),
256
447
  requestedBy: `channel:${ctx.channelId}`,
257
448
  userId: auth?.userId,
@@ -263,7 +454,7 @@ export class AgentLoopReplyGenerator {
263
454
  }, audit);
264
455
  };
265
456
  const result = await runAgentLoop({
266
- llm: this.deps.resolveLLM(),
457
+ llm,
267
458
  history,
268
459
  toolSchemas,
269
460
  hasTools,
@@ -272,11 +463,15 @@ export class AgentLoopReplyGenerator {
272
463
  ? { userId: auth.userId, apiKeys: auth.apiKeys, jaitBackend: auth.jaitBackend, model: auth.model }
273
464
  : undefined,
274
465
  abort,
275
- maxRounds: hasTools ? 6 : 1,
466
+ maxRounds: hasTools ? CHANNEL_MAX_TOOL_ROUNDS : 1,
276
467
  maxRetries: 1,
277
- parallel: true,
468
+ // Sequential so at most one approval prompt is outstanding per chat —
469
+ // a messaging surface can only field one yes/no at a time.
470
+ parallel: false,
278
471
  toolRegistry,
279
- allowedTools: hasTools ? allowedTools : undefined,
472
+ disabledTools,
473
+ mode: "agent",
474
+ allowedTools: restrictTo,
280
475
  }, executor, steering);
281
476
  return result.content ?? "";
282
477
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/channels/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAyCzC,MAAM,qBAAqB,GACzB,0FAA0F;IAC1F,sEAAsE;IACtE,sEAAsE,CAAC;AAEzE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,iFAAiF;IACjF,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAAC,GAAmB,EAAE,MAAqB;IACtE,4DAA4D;IAC5D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,8EAA8E;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,cAAc;IACR,IAAI,CAAqB;IACzB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,oFAAoF;IACnE,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/D,wEAAwE;IACvD,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEzC,cAAc,CAAiB;IAEhD,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,GAAG,CAAC,GAAW,EAAE,GAAG,IAAe;QACzC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,uEAAuE;IAE/D,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;;;KAOrB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;aACzB,OAAO,CAAC,mDAAmD,CAAC;aAC5D,GAAG,CAAC,EAAE,CAAiD,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAkB,CAAC;QAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,KAA6B;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAkB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM;aACb,OAAO,CACN;8HACsH,CACvH;aACA,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uEAAuE;IAEvE,QAAQ,CAAC,SAA2B;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO;YAC7C,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;gBAClB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC1C,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjG,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC3B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,YAAY;QAChB,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,wBAAwB,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC;gBAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,uEAAuE;IAE/D,KAAK,CAAC,aAAa,CAAC,GAAmB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;YAAE,OAAO;QAExC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACrD,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI;aACd,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,GAAmB,EAAE,MAAqB;QACvF,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;QAE/D,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,qBAAqB,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,iEAAiE;QACjE,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzD,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,WAAW,GAAG,EAAE;gBAC3B,YAAY;aACb,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEX,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,oDAAoD;gBACpD,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC3B,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,IAAI,EAAE,+CAA+C;iBACtD,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEzD,KAAK,CAAC,QAAQ,CACZ,OAAuB,EACvB,GAAwE;QAExE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,MAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC;YACvD,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAE1C,MAAM,QAAQ,GAAiB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,IAAI,oCAAoC,EAAE,CAAC;YACnF,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CACzB,IAAI,EACJ,IAAI,EACJ;gBACE,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,MAAM,EAAE;gBAClB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE;gBACnD,WAAW,EAAE,WAAW,GAAG,CAAC,SAAS,EAAE;gBACvC,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,aAAa,EAAE,OAAO;gBACtB,MAAM;aACP,EACD,KAAK,CACN,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B;YACE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,OAAO;YACP,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,IAAI,EAAE,MAAM;gBAChB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAClG,CAAC,CAAC,SAAS;YACb,KAAK;YACL,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,IAAI;YACd,YAAY;YACZ,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAClD,EACD,QAAQ,EACR,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/channels/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAA0C,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAuEzC,MAAM,qBAAqB,GACzB,0FAA0F;IAC1F,sEAAsE;IACtE,sEAAsE,CAAC;AAEzE;;;;GAIG;AACH,MAAM,kBAAkB,GACtB,8FAA8F;IAC9F,iGAAiG;IACjG,6FAA6F;IAC7F,+FAA+F,CAAC;AAElG,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,iFAAiF;AACjF,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,8EAA8E;AAC9E,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAC;AAE9C,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,iFAAiF;IACjF,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAAC,GAAmB,EAAE,MAAqB;IACtE,4DAA4D;IAC5D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,8EAA8E;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,cAAc;IACR,IAAI,CAAqB;IACzB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,oFAAoF;IACnE,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/D,wEAAwE;IACvD,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D,gFAAgF;IAC/D,cAAc,GAAG,IAAI,GAAG,EAAsE,CAAC;IAChH,uFAAuF;IACtE,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnE,yEAAyE;IACxD,cAAc,GAAG,IAAI,GAAG,EAAsE,CAAC;IAE/F,cAAc,CAAiB;IAEhD,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,GAAG,CAAC,GAAW,EAAE,GAAG,IAAe;QACzC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,uEAAuE;IAE/D,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;;;KAOrB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;aACzB,OAAO,CAAC,mDAAmD,CAAC;aAC5D,GAAG,CAAC,EAAE,CAAiD,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAkB,CAAC;QAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,KAA6B;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAkB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM;aACb,OAAO,CACN;8HACsH,CACvH;aACA,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uEAAuE;IAEvE,QAAQ,CAAC,SAA2B;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO;YAC7C,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;gBAClB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC1C,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjG,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC3B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,YAAY;QAChB,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,wBAAwB,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC;gBAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,uEAAuE;IAE/D,KAAK,CAAC,aAAa,CAAC,GAAmB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;YAAE,OAAO;QAExC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QAErD,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;YAAE,OAAO;QAE5D,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI;aACd,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,GAAmB,EAAE,MAAqB;QACvF,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;QAE/D,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,qBAAqB,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,iEAAiE;QACjE,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QAEF,2EAA2E;QAC3E,MAAM,SAAS,GAAG,WAAW,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1G,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzD,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS;gBACT,YAAY;aACb,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEX,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,oDAAoD;gBACpD,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC3B,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,IAAI,EAAE,+CAA+C;iBACtD,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,uEAAuE;IAEvE;;;;OAIG;IACH,oBAAoB,CAAC,OAAuB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,kDAAkD;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzF,IAAI,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,QAAyB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,yBAAyB;QAC9C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,KAAK,OAAO,EAAE,SAAS;iBACpB,IAAI,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;iBAC1F,KAAK,CAAC,GAAG,EAAE,GAA+B,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAuB,EAAE,GAAmB,EAAE,GAAW;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAE1D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,sDAAsD;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC3B,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,IAAI,EAAE,gDAAgD;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,uEAAuE;AACvE,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,+EAA+E,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1G,IAAI,oEAAoE,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sEAAsE;AACtE,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,IAAI,CAAC;SACxE,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,GAAG,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;SACnE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,MAAM,GAAG,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9E,OAAO,uBAAuB,OAAO,CAAC,QAAQ,IAAI,MAAM,iEAAiE,CAAC;AAC5H,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEzD,KAAK,CAAC,QAAQ,CACZ,OAAuB,EACvB,GAAwE;QAExE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,CAAC;QAE1C,yEAAyE;QACzE,8EAA8E;QAC9E,kEAAkE;QAClE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAC;QACxD,IAAI,WAAW,GAAG,YAAY;YAC5B,CAAC,CAAC,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACtE,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAE1C,yEAAyE;QACzE,2EAA2E;QAC3E,wCAAwC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,aAAa,GAAkB;gBACnC,KAAK,EAAE,GAAG,CAAC,WAAW;gBACtB,OAAO,EAAE,GAAG,CAAC,aAAa;gBAC1B,OAAO,EAAE,IAAI,EAAE,WAAW;aAC3B,CAAC;YACF,MAAM,SAAS,GAAkB;gBAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE;gBACnD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;gBACnC,OAAO,EAAE,IAAI,EAAE,WAAW;aAC3B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC;YACjE,MAAM,YAAY,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,OAAO,WAAW,EAAE,CAAC;YACjG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;;gBACrF,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAiB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/E,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,CAAC;YACnE,CAAC;YACD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,IAAI,oCAAoC,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,CAAC;YAC9D,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;YAE1B,wEAAwE;YACxE,yEAAyE;YACzE,0DAA0D;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YACzC,IAAI,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;oBAC5C,QAAQ;oBACR,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,OAAO,IAAI,EAAE;oBACtB,OAAO,EAAG,IAAgC,IAAI,EAAE;oBAChD,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN,YAAY,EAAE,QAAQ;wBACtB,WAAW,EAAE,gDAAgD;wBAC7D,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,SAAS;qBAClB;oBACD,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,0BAA0B;iBACpE,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,OAAO,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS;4BACxC,CAAC,CAAC,gBAAgB,IAAI,uBAAuB;4BAC7C,CAAC,CAAC,wBAAwB,IAAI,GAAG;wBACnC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;qBACjE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,YAAY,CAAC,OAAO,CACzB,IAAI,EACJ,IAAI,EACJ;gBACE,SAAS,EAAE,GAAG;gBACd,QAAQ;gBACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE;gBACnD,WAAW,EAAE,WAAW,GAAG,CAAC,SAAS,EAAE;gBACvC,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,aAAa,EAAE,OAAO;gBACtB,MAAM;aACP,EACD,KAAK,CACN,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B;YACE,GAAG;YACH,OAAO;YACP,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,IAAI,EAAE,MAAM;gBAChB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAClG,CAAC,CAAC,SAAS;YACb,KAAK;YACL,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACjD,UAAU,EAAE,CAAC;YACb,sEAAsE;YACtE,2DAA2D;YAC3D,QAAQ,EAAE,KAAK;YACf,YAAY;YACZ,aAAa;YACb,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,UAAU;SACzB,EACD,QAAQ,EACR,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC;AAE/B,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAoBnG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,QA8CrD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,QAoElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO/D"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC;AAE/B,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAoBnG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,QA8CrD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,QAqElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO/D"}
@@ -102,6 +102,7 @@ export function verifySchema(sqlite) {
102
102
  disabled_tools: "TEXT",
103
103
  stt_provider: "TEXT NOT NULL DEFAULT 'simulated'",
104
104
  chat_provider: "TEXT NOT NULL DEFAULT 'jait'",
105
+ selected_model: "TEXT",
105
106
  project_picker_path: "TEXT",
106
107
  project_picker_node_id: "TEXT",
107
108
  },
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
@@ -612,6 +612,25 @@ export declare const userSettings: import("drizzle-orm/sqlite-core").SQLiteTable
612
612
  }, {}, {
613
613
  length: number | undefined;
614
614
  }>;
615
+ selectedModel: import("drizzle-orm/sqlite-core").SQLiteColumn<{
616
+ name: "selected_model";
617
+ tableName: "user_settings";
618
+ dataType: "string";
619
+ columnType: "SQLiteText";
620
+ data: string;
621
+ driverParam: string;
622
+ notNull: false;
623
+ hasDefault: false;
624
+ isPrimaryKey: false;
625
+ isAutoincrement: false;
626
+ hasRuntimeDefault: false;
627
+ enumValues: [string, ...string[]];
628
+ baseColumn: never;
629
+ identity: undefined;
630
+ generated: undefined;
631
+ }, {}, {
632
+ length: number | undefined;
633
+ }>;
615
634
  projectPickerPath: import("drizzle-orm/sqlite-core").SQLiteColumn<{
616
635
  name: "project_picker_path";
617
636
  tableName: "user_settings";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBpB,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnB,CAAC;AAGH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYjB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYvB,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB7B,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCpB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtB,CAAC;AAGH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrB,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC;AAIH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBpB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBvB,CAAC;AAGF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBrB,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchC,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCxB,CAAC;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlC,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAGF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBnC,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB5B,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBhC,CAAC;AAGF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
package/dist/db/schema.js CHANGED
@@ -52,6 +52,7 @@ export const userSettings = sqliteTable("user_settings", {
52
52
  chatProvider: text("chat_provider").notNull().default("jait"), // 'jait' | 'codex' | 'claude-code'
53
53
  jaitBackend: text("jait_backend").notNull().default("openai"), // 'openai' | 'openrouter'
54
54
  recentModels: text("recent_models"), // JSON string[] of recently used model ids
55
+ selectedModel: text("selected_model"), // last model id picked in the UI; used by background channels (e.g. WhatsApp)
55
56
  projectPickerPath: text("project_picker_path"),
56
57
  projectPickerNodeId: text("project_picker_node_id"),
57
58
  updatedAt: text("updated_at").notNull(),