@memberjunction/ai-agents 6.2.0-edge.2 → 6.2.0-edge.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +6 -0
  2. package/dist/AgentDecisionService.d.ts +8 -1
  3. package/dist/AgentDecisionService.d.ts.map +1 -1
  4. package/dist/AgentDecisionService.js +4 -0
  5. package/dist/AgentDecisionService.js.map +1 -1
  6. package/dist/AgentRunner.d.ts +51 -2
  7. package/dist/AgentRunner.d.ts.map +1 -1
  8. package/dist/AgentRunner.js +121 -23
  9. package/dist/AgentRunner.js.map +1 -1
  10. package/dist/ConversationCompactionManager.d.ts +9 -1
  11. package/dist/ConversationCompactionManager.d.ts.map +1 -1
  12. package/dist/ConversationCompactionManager.js +6 -3
  13. package/dist/ConversationCompactionManager.js.map +1 -1
  14. package/dist/ConversationToolManager.d.ts +13 -2
  15. package/dist/ConversationToolManager.d.ts.map +1 -1
  16. package/dist/ConversationToolManager.js +19 -3
  17. package/dist/ConversationToolManager.js.map +1 -1
  18. package/dist/KnowledgeAgent.d.ts.map +1 -1
  19. package/dist/KnowledgeAgent.js +6 -1
  20. package/dist/KnowledgeAgent.js.map +1 -1
  21. package/dist/MJAIAgentRequestEntityServer.d.ts +6 -0
  22. package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
  23. package/dist/MJAIAgentRequestEntityServer.js +26 -1
  24. package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
  25. package/dist/PayloadFeedbackManager.d.ts +3 -0
  26. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  27. package/dist/PayloadFeedbackManager.js +2 -1
  28. package/dist/PayloadFeedbackManager.js.map +1 -1
  29. package/dist/agent-run-watchdog.d.ts +65 -5
  30. package/dist/agent-run-watchdog.d.ts.map +1 -1
  31. package/dist/agent-run-watchdog.js +143 -28
  32. package/dist/agent-run-watchdog.js.map +1 -1
  33. package/dist/agent-types/loop-agent-prompt-params.d.ts +7 -0
  34. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  35. package/dist/agent-types/loop-agent-prompt-params.js +1 -0
  36. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  37. package/dist/agent-types/loop-agent-type.d.ts +20 -0
  38. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  39. package/dist/agent-types/loop-agent-type.js +73 -2
  40. package/dist/agent-types/loop-agent-type.js.map +1 -1
  41. package/dist/artifact-tools/SearchResultSetToolLibrary.js +4 -4
  42. package/dist/artifact-tools/SearchResultSetToolLibrary.js.map +1 -1
  43. package/dist/base-agent.d.ts +310 -26
  44. package/dist/base-agent.d.ts.map +1 -1
  45. package/dist/base-agent.js +867 -244
  46. package/dist/base-agent.js.map +1 -1
  47. package/dist/client-tool-results.d.ts +45 -0
  48. package/dist/client-tool-results.d.ts.map +1 -0
  49. package/dist/client-tool-results.js +94 -0
  50. package/dist/client-tool-results.js.map +1 -0
  51. package/dist/index.d.ts +9 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +9 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/native-tools/action-tool-builder.d.ts +14 -0
  56. package/dist/native-tools/action-tool-builder.d.ts.map +1 -1
  57. package/dist/native-tools/action-tool-builder.js +62 -7
  58. package/dist/native-tools/action-tool-builder.js.map +1 -1
  59. package/dist/native-tools/control-tools.d.ts +17 -1
  60. package/dist/native-tools/control-tools.d.ts.map +1 -1
  61. package/dist/native-tools/control-tools.js +40 -3
  62. package/dist/native-tools/control-tools.js.map +1 -1
  63. package/dist/prior-turn-tool-result-cache.d.ts +31 -12
  64. package/dist/prior-turn-tool-result-cache.d.ts.map +1 -1
  65. package/dist/prior-turn-tool-result-cache.js +59 -16
  66. package/dist/prior-turn-tool-result-cache.js.map +1 -1
  67. package/dist/realtime/bridge-host-params.d.ts +22 -0
  68. package/dist/realtime/bridge-host-params.d.ts.map +1 -0
  69. package/dist/realtime/bridge-host-params.js +53 -0
  70. package/dist/realtime/bridge-host-params.js.map +1 -0
  71. package/dist/realtime/bridge-realtime-session-factory.d.ts +63 -3
  72. package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
  73. package/dist/realtime/bridge-realtime-session-factory.js +83 -22
  74. package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
  75. package/dist/realtime/bridge-realtime-usage-recorder.d.ts +81 -0
  76. package/dist/realtime/bridge-realtime-usage-recorder.d.ts.map +1 -0
  77. package/dist/realtime/bridge-realtime-usage-recorder.js +194 -0
  78. package/dist/realtime/bridge-realtime-usage-recorder.js.map +1 -0
  79. package/dist/realtime/bridge-session-transcript-sink.d.ts +37 -0
  80. package/dist/realtime/bridge-session-transcript-sink.d.ts.map +1 -0
  81. package/dist/realtime/bridge-session-transcript-sink.js +58 -0
  82. package/dist/realtime/bridge-session-transcript-sink.js.map +1 -0
  83. package/dist/realtime/client-only-channel-server.d.ts +83 -0
  84. package/dist/realtime/client-only-channel-server.d.ts.map +1 -0
  85. package/dist/realtime/client-only-channel-server.js +107 -0
  86. package/dist/realtime/client-only-channel-server.js.map +1 -0
  87. package/dist/realtime/identity-verification-channel-server.d.ts +50 -0
  88. package/dist/realtime/identity-verification-channel-server.d.ts.map +1 -0
  89. package/dist/realtime/identity-verification-channel-server.js +66 -0
  90. package/dist/realtime/identity-verification-channel-server.js.map +1 -0
  91. package/dist/realtime/interactive-component-channel-server.d.ts +39 -0
  92. package/dist/realtime/interactive-component-channel-server.d.ts.map +1 -0
  93. package/dist/realtime/interactive-component-channel-server.js +55 -0
  94. package/dist/realtime/interactive-component-channel-server.js.map +1 -0
  95. package/dist/realtime/realtime-avatar-resolution.d.ts +194 -0
  96. package/dist/realtime/realtime-avatar-resolution.d.ts.map +1 -0
  97. package/dist/realtime/realtime-avatar-resolution.js +208 -0
  98. package/dist/realtime/realtime-avatar-resolution.js.map +1 -0
  99. package/dist/realtime/realtime-channel-policy.d.ts +81 -0
  100. package/dist/realtime/realtime-channel-policy.d.ts.map +1 -0
  101. package/dist/realtime/realtime-channel-policy.js +91 -0
  102. package/dist/realtime/realtime-channel-policy.js.map +1 -0
  103. package/dist/realtime/realtime-channel-server-host.d.ts +14 -0
  104. package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -1
  105. package/dist/realtime/realtime-channel-server-host.js +35 -0
  106. package/dist/realtime/realtime-channel-server-host.js.map +1 -1
  107. package/dist/realtime/realtime-client-session-service.d.ts +493 -30
  108. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  109. package/dist/realtime/realtime-client-session-service.js +825 -98
  110. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  111. package/dist/realtime/realtime-coagent-config.d.ts +94 -15
  112. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
  113. package/dist/realtime/realtime-coagent-config.js +109 -4
  114. package/dist/realtime/realtime-coagent-config.js.map +1 -1
  115. package/dist/realtime/realtime-coagent-resolution.d.ts +90 -0
  116. package/dist/realtime/realtime-coagent-resolution.d.ts.map +1 -0
  117. package/dist/realtime/realtime-coagent-resolution.js +186 -0
  118. package/dist/realtime/realtime-coagent-resolution.js.map +1 -0
  119. package/dist/realtime/realtime-delegation-narrator.d.ts +97 -0
  120. package/dist/realtime/realtime-delegation-narrator.d.ts.map +1 -0
  121. package/dist/realtime/realtime-delegation-narrator.js +162 -0
  122. package/dist/realtime/realtime-delegation-narrator.js.map +1 -0
  123. package/dist/realtime/realtime-recording-store.d.ts +136 -16
  124. package/dist/realtime/realtime-recording-store.d.ts.map +1 -1
  125. package/dist/realtime/realtime-recording-store.js +505 -39
  126. package/dist/realtime/realtime-recording-store.js.map +1 -1
  127. package/dist/realtime/realtime-session-runner.d.ts +2 -82
  128. package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
  129. package/dist/realtime/realtime-session-runner.js +16 -191
  130. package/dist/realtime/realtime-session-runner.js.map +1 -1
  131. package/dist/realtime/realtime-vendor-resolution.d.ts +9 -0
  132. package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
  133. package/dist/realtime/realtime-vendor-resolution.js +16 -5
  134. package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
  135. package/dist/realtime/realtime-video-output-gate.d.ts +83 -0
  136. package/dist/realtime/realtime-video-output-gate.d.ts.map +1 -0
  137. package/dist/realtime/realtime-video-output-gate.js +79 -0
  138. package/dist/realtime/realtime-video-output-gate.js.map +1 -0
  139. package/dist/rubric-evaluation-agent-runner.js +17 -8
  140. package/dist/rubric-evaluation-agent-runner.js.map +1 -1
  141. package/dist/self-check.d.ts +6 -3
  142. package/dist/self-check.d.ts.map +1 -1
  143. package/dist/self-check.js +3 -3
  144. package/dist/self-check.js.map +1 -1
  145. package/dist/tool-result-format.d.ts +14 -0
  146. package/dist/tool-result-format.d.ts.map +1 -1
  147. package/dist/tool-result-format.js.map +1 -1
  148. package/package.json +19 -19
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @fileoverview The **server half of channel scoping** for client-direct realtime sessions — pure
3
+ * functions, no I/O, so the whole decision is unit-testable and the transport layer
4
+ * (`RealtimeClientSessionResolver`) stays a thin shell.
5
+ *
6
+ * In the client-direct topology the browser holds the channel plugins and the server holds the
7
+ * configuration cascade and the registry. At mint the browser reports its **candidates**
8
+ * ({@link RealtimeChannelCandidate} — facts about code it owns); this module decides, from the
9
+ * server's own state, which of them are **in the session**, and what the model is told natively:
10
+ *
11
+ * 1. **Registry state is the server's, never the client's.** A candidate is matched to its
12
+ * `MJ: AI Agent Channels` row by name; `IsActive = false` is the master kill switch.
13
+ * 2. **Scoping** is `ResolveRealtimeChannelScope` (`@memberjunction/ai-core-plus`) — the SAME pure
14
+ * function the browser runs locally when no server policy comes back — fed the cascade's folded
15
+ * `channels` section (agent layers + the app's `AgentSettings.Realtime.Channels`).
16
+ * 3. **Exposure** (how much of each channel the model may perceive: nothing, state, or pixels) is the
17
+ * channel's ceiling lowered by the agent's per-channel `maxExposure` and by the agent's
18
+ * `requireZeroDataRetentionFor` when the session model does not declare zero data retention. It is
19
+ * decided HERE, on the server, and rides in the policy; the browser can only lower it further with
20
+ * the user's own choice.
21
+ * 4. **Native tools** are re-derived from the decision: the tools the client declared are narrowed to
22
+ * those of in-scope channels that declare natively, and the in-scope channels' tools are added by
23
+ * name even if the client did not list them (an `'opt-in'` channel the agent included). Tools
24
+ * that do not belong to any candidate (the host's own) pass through untouched.
25
+ *
26
+ * Nothing here grants capability: candidate tools are CLIENT-EXECUTED declarations of the same kind
27
+ * `clientToolsJson` has always carried, and they are subject to the same shape validation and caps.
28
+ *
29
+ * @module @memberjunction/ai-agents
30
+ */
31
+ import type { RealtimeToolDefinition } from '@memberjunction/ai';
32
+ import { type RealtimeChannelCandidate, type RealtimeChannelRegistryState, type RealtimeChannelsConfig, type RealtimeSessionClientPolicy, type RealtimeSessionClientTools } from '@memberjunction/ai-core-plus';
33
+ /** The slice of an `MJ: AI Agent Channels` row the scope decision needs. */
34
+ export interface RealtimeChannelRegistryRow {
35
+ /** The channel's registry name — matched to a candidate's key, case-insensitively. */
36
+ Name: string;
37
+ /** `false` is the master kill switch. */
38
+ IsActive: boolean;
39
+ }
40
+ /** Input to {@link BuildSessionChannelPolicy}. */
41
+ export interface SessionChannelPolicyInput {
42
+ /** The channels the browser reported (already validated and capped). */
43
+ Candidates: ReadonlyArray<RealtimeChannelCandidate>;
44
+ /** The cascade's folded `channels` section — agent layers plus the app layer. */
45
+ ChannelsConfig?: RealtimeChannelsConfig | null;
46
+ /** The registry, as the server reads it. */
47
+ Registry: ReadonlyArray<RealtimeChannelRegistryRow>;
48
+ /** The client tools as the browser declared them at mint, if any. */
49
+ ClientTools?: ReadonlyArray<RealtimeToolDefinition> | null;
50
+ /** The app/static client-tool tiers to hand back to the browser, when resolved. */
51
+ ClientToolTiers?: RealtimeSessionClientTools;
52
+ /**
53
+ * Whether the session model's configuration declares `Privacy.ZeroDataRetention: true`. Feeds the
54
+ * agent's `requireZeroDataRetentionFor` exposure downgrade; leave unset (treated as `false`) when
55
+ * the model could not be resolved, so the downgrade fails closed.
56
+ */
57
+ ModelHasZeroDataRetention?: boolean;
58
+ }
59
+ /** The outcome of {@link BuildSessionChannelPolicy}. */
60
+ export interface SessionChannelPolicyOutcome {
61
+ /** The policy to return to the browser at mint. */
62
+ Policy: RealtimeSessionClientPolicy;
63
+ /** The native tools to declare to the model: the client's, narrowed and completed per the scope. `undefined` when there are none. */
64
+ ClientTools: RealtimeToolDefinition[] | undefined;
65
+ }
66
+ /** The registry state a candidate resolves to, from the server's own registry. */
67
+ export declare function ResolveCandidateRegistryState(candidateKey: string, registry: ReadonlyArray<RealtimeChannelRegistryRow>): RealtimeChannelRegistryState;
68
+ /**
69
+ * Decides which candidate channels are in the session and which native tools the model gets.
70
+ *
71
+ * @param input The candidates, the cascade's channel config, the registry, and the client's declared tools.
72
+ */
73
+ export declare function BuildSessionChannelPolicy(input: SessionChannelPolicyInput): SessionChannelPolicyOutcome;
74
+ /**
75
+ * The channel keys a policy puts in the session — what the server persists on the session so a later
76
+ * server-side call can check it names a channel that is actually in scope.
77
+ */
78
+ export declare function InSessionChannelKeys(policy: RealtimeSessionClientPolicy): string[];
79
+ /** The keys of the channels a policy excluded — what the server prunes its own channel plugins by. */
80
+ export declare function ExcludedChannelKeys(policy: RealtimeSessionClientPolicy): string[];
81
+ //# sourceMappingURL=realtime-channel-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-channel-policy.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-channel-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAIH,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,4EAA4E;AAC5E,MAAM,WAAW,0BAA0B;IACvC,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,yBAAyB;IACtC,wEAAwE;IACxE,UAAU,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACpD,iFAAiF;IACjF,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,4CAA4C;IAC5C,QAAQ,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACpD,qEAAqE;IACrE,WAAW,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;IAC3D,mFAAmF;IACnF,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,wDAAwD;AACxD,MAAM,WAAW,2BAA2B;IACxC,mDAAmD;IACnD,MAAM,EAAE,2BAA2B,CAAC;IACpC,qIAAqI;IACrI,WAAW,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACrD;AAED,kFAAkF;AAClF,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,aAAa,CAAC,0BAA0B,CAAC,GACpD,4BAA4B,CAO9B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,2BAA2B,CAsBvG;AAmBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,EAAE,CAElF;AAED,sGAAsG;AACtG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,EAAE,CAEjF"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @fileoverview The **server half of channel scoping** for client-direct realtime sessions — pure
3
+ * functions, no I/O, so the whole decision is unit-testable and the transport layer
4
+ * (`RealtimeClientSessionResolver`) stays a thin shell.
5
+ *
6
+ * In the client-direct topology the browser holds the channel plugins and the server holds the
7
+ * configuration cascade and the registry. At mint the browser reports its **candidates**
8
+ * ({@link RealtimeChannelCandidate} — facts about code it owns); this module decides, from the
9
+ * server's own state, which of them are **in the session**, and what the model is told natively:
10
+ *
11
+ * 1. **Registry state is the server's, never the client's.** A candidate is matched to its
12
+ * `MJ: AI Agent Channels` row by name; `IsActive = false` is the master kill switch.
13
+ * 2. **Scoping** is `ResolveRealtimeChannelScope` (`@memberjunction/ai-core-plus`) — the SAME pure
14
+ * function the browser runs locally when no server policy comes back — fed the cascade's folded
15
+ * `channels` section (agent layers + the app's `AgentSettings.Realtime.Channels`).
16
+ * 3. **Exposure** (how much of each channel the model may perceive: nothing, state, or pixels) is the
17
+ * channel's ceiling lowered by the agent's per-channel `maxExposure` and by the agent's
18
+ * `requireZeroDataRetentionFor` when the session model does not declare zero data retention. It is
19
+ * decided HERE, on the server, and rides in the policy; the browser can only lower it further with
20
+ * the user's own choice.
21
+ * 4. **Native tools** are re-derived from the decision: the tools the client declared are narrowed to
22
+ * those of in-scope channels that declare natively, and the in-scope channels' tools are added by
23
+ * name even if the client did not list them (an `'opt-in'` channel the agent included). Tools
24
+ * that do not belong to any candidate (the host's own) pass through untouched.
25
+ *
26
+ * Nothing here grants capability: candidate tools are CLIENT-EXECUTED declarations of the same kind
27
+ * `clientToolsJson` has always carried, and they are subject to the same shape validation and caps.
28
+ *
29
+ * @module @memberjunction/ai-agents
30
+ */
31
+ import { NormalizeChannelKey, ResolveRealtimeChannelScope, SelectNativeChannelTools, } from '@memberjunction/ai-core-plus';
32
+ /** The registry state a candidate resolves to, from the server's own registry. */
33
+ export function ResolveCandidateRegistryState(candidateKey, registry) {
34
+ const id = NormalizeChannelKey(candidateKey);
35
+ const row = registry.find((r) => NormalizeChannelKey(r.Name ?? '') === id);
36
+ if (!row) {
37
+ return 'none';
38
+ }
39
+ return row.IsActive ? 'active' : 'inactive';
40
+ }
41
+ /**
42
+ * Decides which candidate channels are in the session and which native tools the model gets.
43
+ *
44
+ * @param input The candidates, the cascade's channel config, the registry, and the client's declared tools.
45
+ */
46
+ export function BuildSessionChannelPolicy(input) {
47
+ const scope = ResolveRealtimeChannelScope({
48
+ Candidates: input.Candidates.map((candidate) => ({
49
+ ...candidate,
50
+ Registry: ResolveCandidateRegistryState(candidate.Key, input.Registry),
51
+ })),
52
+ Config: input.ChannelsConfig ?? null,
53
+ ModelHasZeroDataRetention: input.ModelHasZeroDataRetention === true,
54
+ });
55
+ const toolsByKey = new Map(input.Candidates.map((c) => [c.Key, c.Tools]));
56
+ const inScopeNative = SelectNativeChannelTools(scope.Channels, toolsByKey);
57
+ const clientTools = reconcileClientTools(input.ClientTools ?? [], input.Candidates, inScopeNative);
58
+ const policy = {
59
+ Version: 1,
60
+ Channels: scope.Channels,
61
+ ExcludedChannels: scope.Excluded,
62
+ };
63
+ if (input.ClientToolTiers && (input.ClientToolTiers.App?.length || input.ClientToolTiers.Static?.length)) {
64
+ policy.ClientTools = input.ClientToolTiers;
65
+ }
66
+ return { Policy: policy, ClientTools: clientTools.length > 0 ? clientTools : undefined };
67
+ }
68
+ /**
69
+ * Narrows the client's declared tools to the scope's decision: a tool that belongs to a candidate
70
+ * survives only if its channel's native tools were selected; a tool no candidate owns passes through;
71
+ * and selected channel tools the client did not declare are appended (by name — never duplicated).
72
+ */
73
+ function reconcileClientTools(declared, candidates, inScopeNative) {
74
+ const candidateOwned = new Set(candidates.flatMap((c) => c.Tools.map((t) => t.Name)));
75
+ const selected = new Set(inScopeNative.map((t) => t.Name));
76
+ const kept = declared.filter((tool) => !candidateOwned.has(tool.Name) || selected.has(tool.Name));
77
+ const present = new Set(kept.map((t) => t.Name));
78
+ return [...kept, ...inScopeNative.filter((tool) => !present.has(tool.Name))];
79
+ }
80
+ /**
81
+ * The channel keys a policy puts in the session — what the server persists on the session so a later
82
+ * server-side call can check it names a channel that is actually in scope.
83
+ */
84
+ export function InSessionChannelKeys(policy) {
85
+ return policy.Channels.map((c) => c.Key);
86
+ }
87
+ /** The keys of the channels a policy excluded — what the server prunes its own channel plugins by. */
88
+ export function ExcludedChannelKeys(policy) {
89
+ return (policy.ExcludedChannels ?? []).map((e) => e.Key);
90
+ }
91
+ //# sourceMappingURL=realtime-channel-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-channel-policy.js","sourceRoot":"","sources":["../../src/realtime/realtime-channel-policy.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,20 @@ export declare class RealtimeChannelServerHost extends BaseSingleton<RealtimeCha
114
114
  * instances is ignored (logged) rather than double-initializing.
115
115
  */
116
116
  OnSessionStarted(ctx: RealtimeChannelServerContext, contextUser: UserInfo, provider: IMetadataProvider): Promise<void>;
117
+ /**
118
+ * Drops the server plugins of channels the session's resolved scope LEFT OUT.
119
+ *
120
+ * Server plugins start when the session row is created — before the browser's channel candidates
121
+ * have been scoped at mint — so a channel an agent or app excluded (or whose registry row is the
122
+ * kill switch) would otherwise keep running its server half. Only the named channels are touched:
123
+ * a server-only channel the browser never reported as a candidate has no scope decision and is
124
+ * left alone. Each dropped plugin is disposed (failures logged); an unknown session is a no-op.
125
+ *
126
+ * @param agentSessionID The session whose scope was resolved.
127
+ * @param channelNames The excluded channels' names (case/whitespace-insensitive).
128
+ * @returns The names of the plugins that were dropped (for logging and tests).
129
+ */
130
+ PruneSessionChannels(agentSessionID: string, channelNames: ReadonlyArray<string>): string[];
117
131
  /**
118
132
  * Channel-state-save entry point, invoked PRE-persistence. Routes the payload to the session's
119
133
  * matching plugin and returns the string to persist:
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-channel-server-host.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-channel-server-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACH,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAY,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AA8BxF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,yBAA0B,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACnF,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAyC;IAEzD;;;;OAIG;IACI,eAAe,SAA6B;IAEnD,SAAS;IAIT,8FAA8F;IAC9F,WAAkB,QAAQ,IAAI,yBAAyB,CAEtD;IAED,uFAAuF;IACvF,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAWtG;;;;;;;;;;;OAWG;IACI,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAsB9E;;;;;;;;;;;;;;OAcG;IACU,wBAAwB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAenC,yFAAyF;IAClF,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxE;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;OASG;IACU,gBAAgB,CACzB,GAAG,EAAE,4BAA4B,EACjC,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;;OAQG;IACU,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBhH;;;;;;;OAOG;IACU,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnH,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB;IAUxB,8FAA8F;IAC9F,OAAO,CAAC,cAAc;IAetB;;;;;;OAMG;YACW,uBAAuB;IAoBrC,uFAAuF;YACzE,yBAAyB;IAgCvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,qEAAqE;IACrE,OAAO,CAAC,WAAW;IAQnB,kFAAkF;IAClF,OAAO,CAAC,UAAU;IAIlB,4CAA4C;IAC5C,OAAO,CAAC,UAAU;IAIlB,kEAAkE;IAClE,OAAO,CAAC,OAAO;CAGlB"}
1
+ {"version":3,"file":"realtime-channel-server-host.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-channel-server-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACH,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAY,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AA+BxF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,yBAA0B,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACnF,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAyC;IAEzD;;;;OAIG;IACI,eAAe,SAA6B;IAEnD,SAAS;IAIT,8FAA8F;IAC9F,WAAkB,QAAQ,IAAI,yBAAyB,CAEtD;IAED,uFAAuF;IACvF,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAWtG;;;;;;;;;;;OAWG;IACI,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAsB9E;;;;;;;;;;;;;;OAcG;IACU,wBAAwB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAenC,yFAAyF;IAClF,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxE;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;OASG;IACU,gBAAgB,CACzB,GAAG,EAAE,4BAA4B,EACjC,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;;;;;;OAYG;IACI,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAkBlG;;;;;;;;OAQG;IACU,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBhH;;;;;;;OAOG;IACU,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnH,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB;IAUxB,8FAA8F;IAC9F,OAAO,CAAC,cAAc;IAetB;;;;;;OAMG;YACW,uBAAuB;IAoBrC,uFAAuF;YACzE,yBAAyB;IAgCvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,qEAAqE;IACrE,OAAO,CAAC,WAAW;IAQnB,kFAAkF;IAClF,OAAO,CAAC,UAAU;IAIlB,4CAA4C;IAC5C,OAAO,CAAC,UAAU;IAIlB,kEAAkE;IAClE,OAAO,CAAC,OAAO;CAGlB"}
@@ -30,6 +30,7 @@ import { BaseSingleton, MJGlobal } from '@memberjunction/global';
30
30
  import { LogError, LogStatus } from '@memberjunction/core';
31
31
  import { AIEngineBase } from '@memberjunction/ai-engine-base';
32
32
  import { IsRealtimeChannelServerDataAware } from './realtime-channel-server-data-context.js';
33
+ import { ClientOnlyChannelServer } from './client-only-channel-server.js';
33
34
  /** Entity name — kept in sync with the session machinery's `MJ:`-prefix convention. */
34
35
  const CHANNEL_ENTITY = 'MJ: AI Agent Channels';
35
36
  /**
@@ -203,6 +204,36 @@ export class RealtimeChannelServerHost extends BaseSingleton {
203
204
  LogError(`[RealtimeChannelServerHost] OnSessionStarted failed for session ${ctx.AgentSessionID}: ${this.message(error)}`);
204
205
  }
205
206
  }
207
+ /**
208
+ * Drops the server plugins of channels the session's resolved scope LEFT OUT.
209
+ *
210
+ * Server plugins start when the session row is created — before the browser's channel candidates
211
+ * have been scoped at mint — so a channel an agent or app excluded (or whose registry row is the
212
+ * kill switch) would otherwise keep running its server half. Only the named channels are touched:
213
+ * a server-only channel the browser never reported as a candidate has no scope decision and is
214
+ * left alone. Each dropped plugin is disposed (failures logged); an unknown session is a no-op.
215
+ *
216
+ * @param agentSessionID The session whose scope was resolved.
217
+ * @param channelNames The excluded channels' names (case/whitespace-insensitive).
218
+ * @returns The names of the plugins that were dropped (for logging and tests).
219
+ */
220
+ PruneSessionChannels(agentSessionID, channelNames) {
221
+ const entry = this.sessions.get(this.sessionKey(agentSessionID));
222
+ if (!entry) {
223
+ return [];
224
+ }
225
+ const dropped = [];
226
+ for (const name of channelNames) {
227
+ const key = this.channelKey(name);
228
+ const plugin = entry.plugins.get(key);
229
+ if (plugin) {
230
+ entry.plugins.delete(key);
231
+ this.safeDispose(plugin, name);
232
+ dropped.push(name);
233
+ }
234
+ }
235
+ return dropped;
236
+ }
206
237
  /**
207
238
  * Channel-state-save entry point, invoked PRE-persistence. Routes the payload to the session's
208
239
  * matching plugin and returns the string to persist:
@@ -353,6 +384,10 @@ export class RealtimeChannelServerHost extends BaseSingleton {
353
384
  LogError(`[RealtimeChannelServerHost] Failed to instantiate server plugin for channel '${row.Name}' (key '${key}').`);
354
385
  return null;
355
386
  }
387
+ if (plugin instanceof ClientOnlyChannelServer) {
388
+ // One registered class serves every client-only channel: it takes its name from the row it was resolved for.
389
+ plugin.BindChannelName(row.Name);
390
+ }
356
391
  if (this.channelKey(plugin.ChannelName) !== this.channelKey(row.Name)) {
357
392
  LogError(`[RealtimeChannelServerHost] Server plugin '${key}' reports ChannelName '${plugin.ChannelName}' but is ` +
358
393
  `registered on channel row '${row.Name}' — routing by the row name; fix the plugin/registry mismatch.`);
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-channel-server-host.js","sourceRoot":"","sources":["../../src/realtime/realtime-channel-server-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime-channel-server-host.js","sourceRoot":"","sources":["../../src/realtime/realtime-channel-server-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACH,yBAAyB,GAK5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAA+B,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,uFAAuF;AACvF,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAiB/C;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAAwC;IAWnF;QACI,KAAK,EAAE,CAAC;QAXZ,kFAAkF;QAC1E,aAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEzD;;;;WAIG;QACI,oBAAe,GAAG,yBAAyB,CAAC;IAInD,CAAC;IAED,8FAA8F;IACvF,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAA6B,CAAC;IAC1D,CAAC;IAED,uFAAuF;IACvF,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,cAAsB,EAAE,WAAmB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,OAAO,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,0FAA0F;IAC1F,+FAA+F;IAC/F,iFAAiF;IAEjF;;;;;;;;;;;OAWG;IACI,qBAAqB,CAAC,cAAsB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBACvD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CACJ,2EAA2E,cAAc,KAAK;oBAC1F,YAAY,IAAI,2BAA2B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACvE,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,wBAAwB,CACjC,cAAsB,EACtB,QAAgB,EAChB,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,QAAQ,iBAAiB,cAAc,GAAG,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CACJ,oEAAoE,cAAc,YAAY,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACpI,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,QAAQ,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAClG,CAAC;IACL,CAAC;IAED,yFAAyF;IAClF,cAAc,CAAC,cAAsB,EAAE,QAAgB;QAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,cAAsB,EAAE,QAAgB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,GAAqC,IAAI,CAAC;QAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;YACrC,IAAI,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBAC5E,IAAI,GAAG,MAAM,CAAC;gBACd,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,gBAAgB,CACzB,GAAiC,EACjC,WAAqB,EACrB,QAA2B;QAE3B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,uCAAuC,GAAG,CAAC,cAAc,iEAAiE,CAAC,CAAC;gBACtI,OAAO;YACX,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvF,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,mEAAmE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9H,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,oBAAoB,CAAC,cAAsB,EAAE,YAAmC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,kBAAkB,CAAC,cAAsB,EAAE,WAAmB,EAAE,SAAiB;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CACJ,6EAA6E,cAAc,KAAK;gBAC5F,YAAY,WAAW,sCAAsC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC;QACN,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,eAAe,CAAC,cAAsB,EAAE,WAA8C;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,CAAC,wEAAwE;QACpF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CACJ,0EAA0E,cAAc,KAAK;oBACzF,YAAY,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAClD,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,4FAA4F;IAE5F,6FAA6F;IACrF,gBAAgB,CAAC,GAAW,EAAE,KAAyB;QAC3D,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;QACX,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACtF,qDAAqD;QACrD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;IACjC,CAAC;IAED,8FAA8F;IACtF,cAAc,CAAC,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC;gBACD,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,4DAA4D,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,uBAAuB,CACjC,WAAqB,EACrB,QAA2B;QAE3B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAe,QAAQ,EAAE,YAAY,CAAiB,CAAC;YACtG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACzB,GAAG,CAAqC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,IAAI;aACjD,CAAC,CAAC,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,wEAAwE,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3H,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,uFAAuF;IAC/E,KAAK,CAAC,yBAAyB,CACnC,IAA0C,EAC1C,GAAiC,EACjC,WAAqB,EACrB,QAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,SAAS;YACb,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvB,8EAA8E;gBAC9E,oFAAoF;gBACpF,IAAI,gCAAgC,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3C,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CACJ,0DAA0D,GAAG,CAAC,IAAI,gCAAgC;oBAC9F,6BAA6B,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAChF,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,GAAuC;QAChE,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,wCAAwC,GAAG,CAAC,IAAI,wCAAwC,CAAC,CAAC;YACpG,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,SAAS,CAAC,wEAAwE,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC;YAC1H,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAA4B,yBAAyB,EAAE,GAAG,CAAC,CAAC;QACxH,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,QAAQ,CAAC,gFAAgF,GAAG,CAAC,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC;YACtH,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,YAAY,uBAAuB,EAAE,CAAC;YAC5C,6GAA6G;YAC7G,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,QAAQ,CACJ,8CAA8C,GAAG,0BAA0B,MAAM,CAAC,WAAW,WAAW;gBACpG,8BAA8B,GAAG,CAAC,IAAI,gEAAgE,CAC7G,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,qEAAqE;IAC7D,WAAW,CAAC,MAAiC,EAAE,WAAmB;QACtE,IAAI,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,4DAA4D,WAAW,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;IACL,CAAC;IAED,kFAAkF;IAC1E,UAAU,CAAC,cAAsB;QACrC,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAED,4CAA4C;IACpC,UAAU,CAAC,WAAmB;QAClC,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,kEAAkE;IAC1D,OAAO,CAAC,KAAc;QAC1B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;CACJ"}