@chatcops/core 0.5.0 → 1.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/agent/index.d.ts +0 -1
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js +0 -1
  4. package/dist/agent/index.js.map +1 -1
  5. package/dist/agent/run-turn.d.ts +11 -0
  6. package/dist/agent/run-turn.d.ts.map +1 -1
  7. package/dist/agent/run-turn.js +71 -12
  8. package/dist/agent/run-turn.js.map +1 -1
  9. package/dist/agent/tool-registry.d.ts +2 -0
  10. package/dist/agent/tool-registry.d.ts.map +1 -1
  11. package/dist/agent/tool-registry.js +4 -7
  12. package/dist/agent/tool-registry.js.map +1 -1
  13. package/dist/analytics/collector.d.ts +1 -1
  14. package/dist/analytics/collector.d.ts.map +1 -1
  15. package/dist/analytics/collector.js +9 -7
  16. package/dist/analytics/collector.js.map +1 -1
  17. package/dist/analytics/index.d.ts +1 -0
  18. package/dist/analytics/index.d.ts.map +1 -1
  19. package/dist/analytics/index.js +1 -0
  20. package/dist/analytics/index.js.map +1 -1
  21. package/dist/analytics/names.d.ts +13 -0
  22. package/dist/analytics/names.d.ts.map +1 -0
  23. package/dist/analytics/names.js +27 -0
  24. package/dist/analytics/names.js.map +1 -0
  25. package/dist/analytics/sink.d.ts +3 -0
  26. package/dist/analytics/sink.d.ts.map +1 -1
  27. package/dist/analytics/sink.js +13 -11
  28. package/dist/analytics/sink.js.map +1 -1
  29. package/dist/conversation/manager.d.ts +3 -0
  30. package/dist/conversation/manager.d.ts.map +1 -1
  31. package/dist/conversation/manager.js +2 -1
  32. package/dist/conversation/manager.js.map +1 -1
  33. package/dist/index.d.ts +6 -3
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/knowledge/base.d.ts +8 -0
  38. package/dist/knowledge/base.d.ts.map +1 -1
  39. package/dist/knowledge/tokenize.d.ts.map +1 -1
  40. package/dist/knowledge/tokenize.js +4 -4
  41. package/dist/knowledge/tokenize.js.map +1 -1
  42. package/dist/logger.d.ts +36 -0
  43. package/dist/logger.d.ts.map +1 -0
  44. package/dist/logger.js +40 -0
  45. package/dist/logger.js.map +1 -0
  46. package/dist/providers/base.d.ts +2 -1
  47. package/dist/providers/base.d.ts.map +1 -1
  48. package/dist/providers/base.js +2 -2
  49. package/dist/providers/base.js.map +1 -1
  50. package/dist/providers/claude.d.ts +16 -9
  51. package/dist/providers/claude.d.ts.map +1 -1
  52. package/dist/providers/claude.js +48 -20
  53. package/dist/providers/claude.js.map +1 -1
  54. package/dist/providers/gemini.d.ts +1 -8
  55. package/dist/providers/gemini.d.ts.map +1 -1
  56. package/dist/providers/gemini.js +0 -12
  57. package/dist/providers/gemini.js.map +1 -1
  58. package/dist/providers/openai.d.ts +2 -8
  59. package/dist/providers/openai.d.ts.map +1 -1
  60. package/dist/providers/openai.js +6 -15
  61. package/dist/providers/openai.js.map +1 -1
  62. package/dist/providers/tool-execution.d.ts +3 -0
  63. package/dist/providers/tool-execution.d.ts.map +1 -1
  64. package/dist/providers/tool-execution.js +13 -3
  65. package/dist/providers/tool-execution.js.map +1 -1
  66. package/dist/providers/types.d.ts +26 -4
  67. package/dist/providers/types.d.ts.map +1 -1
  68. package/dist/retrieval/citations.d.ts +44 -0
  69. package/dist/retrieval/citations.d.ts.map +1 -0
  70. package/dist/retrieval/citations.js +97 -0
  71. package/dist/retrieval/citations.js.map +1 -0
  72. package/dist/retrieval/cohere-reranker.d.ts +13 -0
  73. package/dist/retrieval/cohere-reranker.d.ts.map +1 -0
  74. package/dist/retrieval/cohere-reranker.js +33 -0
  75. package/dist/retrieval/cohere-reranker.js.map +1 -0
  76. package/dist/retrieval/gemini-embedder.d.ts +26 -0
  77. package/dist/retrieval/gemini-embedder.d.ts.map +1 -0
  78. package/dist/retrieval/gemini-embedder.js +36 -0
  79. package/dist/retrieval/gemini-embedder.js.map +1 -0
  80. package/dist/retrieval/http.d.ts +20 -0
  81. package/dist/retrieval/http.d.ts.map +1 -0
  82. package/dist/retrieval/http.js +68 -0
  83. package/dist/retrieval/http.js.map +1 -0
  84. package/dist/retrieval/index.d.ts +14 -0
  85. package/dist/retrieval/index.d.ts.map +1 -0
  86. package/dist/retrieval/index.js +13 -0
  87. package/dist/retrieval/index.js.map +1 -0
  88. package/dist/retrieval/knowledge.d.ts +16 -0
  89. package/dist/retrieval/knowledge.d.ts.map +1 -0
  90. package/dist/retrieval/knowledge.js +21 -0
  91. package/dist/retrieval/knowledge.js.map +1 -0
  92. package/dist/retrieval/openai-embedder.d.ts +25 -0
  93. package/dist/retrieval/openai-embedder.d.ts.map +1 -0
  94. package/dist/retrieval/openai-embedder.js +30 -0
  95. package/dist/retrieval/openai-embedder.js.map +1 -0
  96. package/dist/retrieval/query.d.ts +8 -0
  97. package/dist/retrieval/query.d.ts.map +1 -0
  98. package/dist/retrieval/query.js +19 -0
  99. package/dist/retrieval/query.js.map +1 -0
  100. package/dist/retrieval/retrievers.d.ts +30 -0
  101. package/dist/retrieval/retrievers.d.ts.map +1 -0
  102. package/dist/retrieval/retrievers.js +89 -0
  103. package/dist/retrieval/retrievers.js.map +1 -0
  104. package/dist/retrieval/sources.d.ts +16 -0
  105. package/dist/retrieval/sources.d.ts.map +1 -0
  106. package/dist/retrieval/sources.js +37 -0
  107. package/dist/retrieval/sources.js.map +1 -0
  108. package/dist/retrieval/types.d.ts +50 -0
  109. package/dist/retrieval/types.d.ts.map +1 -0
  110. package/dist/retrieval/types.js +2 -0
  111. package/dist/retrieval/types.js.map +1 -0
  112. package/dist/retrieval/voyage-embedder.d.ts +33 -0
  113. package/dist/retrieval/voyage-embedder.d.ts.map +1 -0
  114. package/dist/retrieval/voyage-embedder.js +33 -0
  115. package/dist/retrieval/voyage-embedder.js.map +1 -0
  116. package/dist/retrieval/voyage-reranker.d.ts +13 -0
  117. package/dist/retrieval/voyage-reranker.d.ts.map +1 -0
  118. package/dist/retrieval/voyage-reranker.js +38 -0
  119. package/dist/retrieval/voyage-reranker.js.map +1 -0
  120. package/dist/retrieval/workers-ai-embedder.d.ts +21 -0
  121. package/dist/retrieval/workers-ai-embedder.d.ts.map +1 -0
  122. package/dist/retrieval/workers-ai-embedder.js +42 -0
  123. package/dist/retrieval/workers-ai-embedder.js.map +1 -0
  124. package/dist/retrieval/workers-ai-reranker.d.ts +11 -0
  125. package/dist/retrieval/workers-ai-reranker.d.ts.map +1 -0
  126. package/dist/retrieval/workers-ai-reranker.js +54 -0
  127. package/dist/retrieval/workers-ai-reranker.js.map +1 -0
  128. package/dist/storage/index.d.ts +2 -1
  129. package/dist/storage/index.d.ts.map +1 -1
  130. package/dist/storage/index.js +1 -0
  131. package/dist/storage/index.js.map +1 -1
  132. package/dist/storage/memory-vectors.d.ts +22 -0
  133. package/dist/storage/memory-vectors.d.ts.map +1 -0
  134. package/dist/storage/memory-vectors.js +140 -0
  135. package/dist/storage/memory-vectors.js.map +1 -0
  136. package/dist/storage/types.d.ts +70 -0
  137. package/dist/storage/types.d.ts.map +1 -1
  138. package/dist/testing/conformance.d.ts +4 -3
  139. package/dist/testing/conformance.d.ts.map +1 -1
  140. package/dist/testing/conformance.js +172 -2
  141. package/dist/testing/conformance.js.map +1 -1
  142. package/dist/testing/provider.d.ts +2 -0
  143. package/dist/testing/provider.d.ts.map +1 -1
  144. package/dist/testing/provider.js +1 -7
  145. package/dist/testing/provider.js.map +1 -1
  146. package/dist/tools/lead-capture.d.ts +2 -2
  147. package/dist/tools/lead-capture.d.ts.map +1 -1
  148. package/dist/tools/lead-capture.js +3 -2
  149. package/dist/tools/lead-capture.js.map +1 -1
  150. package/dist/types.d.ts +7 -0
  151. package/dist/types.d.ts.map +1 -1
  152. package/package.json +2 -2
  153. package/dist/agent/chat.d.ts +0 -13
  154. package/dist/agent/chat.d.ts.map +0 -1
  155. package/dist/agent/chat.js +0 -42
  156. package/dist/agent/chat.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import { chatSyncViaTurn, chatViaTurn } from '../agent/chat.js';
2
1
  const USAGE = { inputTokens: 10, outputTokens: 5 };
3
2
  function abortError(signal) {
4
3
  return signal?.reason ?? new DOMException('The operation was aborted.', 'AbortError');
@@ -50,6 +49,7 @@ export function scriptedProvider(script, options = {}) {
50
49
  const provider = {
51
50
  name: options.name ?? 'scripted',
52
51
  model: 'scripted',
52
+ ...(options.citations ? { citations: options.citations } : {}),
53
53
  calls,
54
54
  async *step(params) {
55
55
  const entry = script[calls.length];
@@ -70,12 +70,6 @@ export function scriptedProvider(script, options = {}) {
70
70
  yield event;
71
71
  }
72
72
  },
73
- chat(params) {
74
- return chatViaTurn(provider, params);
75
- },
76
- chatSync(params) {
77
- return chatSyncViaTurn(provider, params);
78
- },
79
73
  };
80
74
  return provider;
81
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/testing/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/testing/provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LeadData, MessagePart, ToolResult } from '../types.js';
1
+ import type { LeadData, MessagePart, ToolContext, ToolResult } from '../types.js';
2
2
  import type { ChatTool } from './base.js';
3
3
  export type LeadCaptureCallback = (lead: LeadData) => void | Promise<void>;
4
4
  export declare class LeadCaptureTool implements ChatTool {
@@ -31,6 +31,6 @@ export declare class LeadCaptureTool implements ChatTool {
31
31
  constructor(onCapture?: LeadCaptureCallback);
32
32
  /** A captured lead shows up in the reply as a `lead-captured` part. */
33
33
  emits(result: ToolResult): MessagePart[];
34
- execute(input: Record<string, unknown>): Promise<ToolResult>;
34
+ execute(input: Record<string, unknown>, context?: ToolContext): Promise<ToolResult>;
35
35
  }
36
36
  //# sourceMappingURL=lead-capture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lead-capture.d.ts","sourceRoot":"","sources":["../../src/tools/lead-capture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAU3E,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,IAAI,SAAkB;IACtB,WAAW,SAA6I;IACxJ,UAAU;;;;;;;;;;;;;;;;;;;;;MAMR;IACF,QAAQ,WAAuC;IAE/C,OAAO,CAAC,SAAS,CAAC,CAAsB;gBAE5B,SAAS,CAAC,EAAE,mBAAmB;IAI3C,uEAAuE;IACvE,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE;IAIlC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAoCnE"}
1
+ {"version":3,"file":"lead-capture.d.ts","sourceRoot":"","sources":["../../src/tools/lead-capture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAU3E,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,IAAI,SAAkB;IACtB,WAAW,SAA6I;IACxJ,UAAU;;;;;;;;;;;;;;;;;;;;;MAMR;IACF,QAAQ,WAAuC;IAE/C,OAAO,CAAC,SAAS,CAAC,CAAsB;gBAE5B,SAAS,CAAC,EAAE,mBAAmB;IAI3C,uEAAuE;IACvE,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE;IAIlC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAoC1F"}
@@ -1,3 +1,4 @@
1
+ import { consoleLogger } from '../logger.js';
1
2
  import { z } from 'zod';
2
3
  const leadInputSchema = z.object({
3
4
  name: z.string(),
@@ -25,7 +26,7 @@ export class LeadCaptureTool {
25
26
  emits(result) {
26
27
  return result.success && result.data ? [{ type: 'lead-captured', lead: result.data }] : [];
27
28
  }
28
- async execute(input) {
29
+ async execute(input, context) {
29
30
  const parsed = leadInputSchema.safeParse(input);
30
31
  if (!parsed.success) {
31
32
  return {
@@ -46,7 +47,7 @@ export class LeadCaptureTool {
46
47
  await this.onCapture(lead);
47
48
  }
48
49
  catch (err) {
49
- console.error('[chatcops] Lead capture callback failed:', err);
50
+ (context?.logger ?? consoleLogger()).error('lead_capture_failed', 'Lead capture callback failed', { error: err });
50
51
  return {
51
52
  success: false,
52
53
  message: 'Failed to process lead capture callback.',
@@ -1 +1 @@
1
- {"version":3,"file":"lead-capture.js","sourceRoot":"","sources":["../../src/tools/lead-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lead-capture.js","sourceRoot":"","sources":["../../src/tools/lead-capture.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { Logger } from './logger.js';
1
2
  export interface ChatMessage {
2
3
  id: string;
3
4
  role: 'user' | 'assistant' | 'system';
@@ -120,6 +121,8 @@ export interface PageContext {
120
121
  title: string;
121
122
  description?: string;
122
123
  contentSnippet?: string;
124
+ /** Details the site adds for the next turns (the widget's `setContext()`), such as the visitor's plan. */
125
+ data?: Record<string, string>;
123
126
  }
124
127
  export interface LeadData {
125
128
  name: string;
@@ -162,6 +165,8 @@ export interface ToolContext {
162
165
  conversationId: string;
163
166
  /** Aborts when the visitor leaves or the tool times out. */
164
167
  signal: AbortSignal;
168
+ /** The server's logger, for problems the tool handles itself. */
169
+ logger?: Logger;
165
170
  }
166
171
  export interface ToolResult {
167
172
  success: boolean;
@@ -189,6 +194,8 @@ export interface WebhookConfig {
189
194
  export type ProviderEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
190
195
  export interface ProviderConfig {
191
196
  type: 'claude' | 'openai' | 'gemini' | 'openai-compatible' | (string & {});
197
+ /** Where the provider's warnings go. The server passes its own `logger`. */
198
+ logger?: Logger;
192
199
  /** Required for the hosted providers; optional for openai-compatible and custom providers. */
193
200
  apiKey?: string;
194
201
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chatcops/core",
3
- "version": "0.5.0",
3
+ "version": "1.0.0-rc.0",
4
4
  "description": "Core AI provider abstraction, tools, and knowledge base for ChatCops",
5
5
  "keywords": [
6
6
  "chatcops",
@@ -51,7 +51,7 @@
51
51
  "dist"
52
52
  ],
53
53
  "dependencies": {
54
- "@anthropic-ai/sdk": "^0.135.0",
54
+ "@anthropic-ai/sdk": "^1.2.0",
55
55
  "@google/genai": "^2.30.0",
56
56
  "openai": "^7.39.0",
57
57
  "zod": "^3.24.0"
@@ -1,13 +0,0 @@
1
- import type { AIProvider } from '../providers/types.js';
2
- import type { ProviderChatParams } from '../types.js';
3
- type SteppingProvider = AIProvider & Required<Pick<AIProvider, 'step'>>;
4
- /**
5
- * `chat()` for providers that have `step()`: runs a turn and yields its text.
6
- * Errors throw, as they did before turns existed: a refusal, the tool round
7
- * limit, a provider error, and an abort.
8
- */
9
- export declare function chatViaTurn(provider: SteppingProvider, params: ProviderChatParams): AsyncGenerator<string>;
10
- /** `chatSync()` on top of `chat()`: the whole reply as one string. */
11
- export declare function chatSyncViaTurn(provider: SteppingProvider, params: ProviderChatParams): Promise<string>;
12
- export {};
13
- //# sourceMappingURL=chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/agent/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,KAAK,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,wBAAuB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAyBjH;AAED,sEAAsE;AACtE,wBAAsB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7G"}
@@ -1,42 +0,0 @@
1
- import { MAX_TOOL_ROUNDS } from '../providers/tool-execution.js';
2
- import { runTurn } from './run-turn.js';
3
- import { executorRegistry } from './tool-registry.js';
4
- /**
5
- * `chat()` for providers that have `step()`: runs a turn and yields its text.
6
- * Errors throw, as they did before turns existed: a refusal, the tool round
7
- * limit, a provider error, and an abort.
8
- */
9
- export async function* chatViaTurn(provider, params) {
10
- const turn = runTurn({
11
- provider,
12
- messages: params.messages,
13
- systemPrompt: params.systemPrompt,
14
- tools: executorRegistry(params.tools, params.toolExecutor),
15
- conversationId: '',
16
- maxSteps: MAX_TOOL_ROUNDS + 1,
17
- toolTimeoutMs: params.toolTimeoutMs,
18
- maxTokens: params.maxTokens,
19
- temperature: params.temperature,
20
- signal: params.signal,
21
- });
22
- let next = await turn.next();
23
- while (!next.done) {
24
- if (next.value.type === 'text-delta')
25
- yield next.value.delta;
26
- next = await turn.next();
27
- }
28
- const result = next.value;
29
- if (result.status === 'aborted') {
30
- throw params.signal?.reason ?? new DOMException('The operation was aborted.', 'AbortError');
31
- }
32
- if (result.error !== undefined)
33
- throw result.error;
34
- }
35
- /** `chatSync()` on top of `chat()`: the whole reply as one string. */
36
- export async function chatSyncViaTurn(provider, params) {
37
- let text = '';
38
- for await (const chunk of chatViaTurn(provider, params))
39
- text += chunk;
40
- return text;
41
- }
42
- //# sourceMappingURL=chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/agent/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,QAA0B,EAAE,MAA0B;IACvF,MAAM,IAAI,GAAG,OAAO,CAAC;QACnB,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;QAC1D,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,eAAe,GAAG,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7D,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;AACrD,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA0B,EAAE,MAA0B;IAC1F,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAE,IAAI,IAAI,KAAK,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}