@salesforce/sfdx-agent-harness-openai 0.1.0 → 0.3.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.
@@ -2,7 +2,7 @@
2
2
  * Copyright 2026, Salesforce, Inc. All rights reserved.
3
3
  * See LICENSE.txt for license terms.
4
4
  */
5
- import { AgentSDKError, AgentSDKErrorType } from '@salesforce/sfdx-agent-sdk';
5
+ import { AgentSDKError, AgentSDKErrorType, } from '@salesforce/sfdx-agent-sdk';
6
6
  import { splitToolResultsIntoToolMessages } from '@salesforce/sfdx-agent-sdk/harness';
7
7
  /**
8
8
  * Bridges the `@openai/agents` flat `AgentInputItem[]` history and the SDK's
@@ -22,16 +22,23 @@ import { splitToolResultsIntoToolMessages } from '@salesforce/sfdx-agent-sdk/har
22
22
  * **Write** ({@link messagesToRecords}): the `addContext` path. Each `Message`
23
23
  * part lowers to a flat item — a `tool-call` part → `function_call`, a
24
24
  * `tool-result` part → `function_call_result`, text/reasoning → message /
25
- * reasoning items. OpenAI stores these separately natively, so — unlike the
26
- * Mastra harness, which coalesces call+result into one object and needs
27
- * `mergeToolResultsIntoAssistant` on write — no merge step is required; the split
28
- * IS the native representation, and a `getMessages()` → `addContext()` round-trip
29
- * is lossless.
25
+ * reasoning items. A message carrying `image` / `file` parts lowers to a single
26
+ * `user` message item whose `content` is a `UserContent[]` array (`input_text` /
27
+ * `input_image` / `input_file` blocks), the shape the run loop persists for a
28
+ * streamed multimodal turn. OpenAI stores tool calls/results separately natively,
29
+ * so — unlike the Mastra harness, which coalesces call+result into one object and
30
+ * needs `mergeToolResultsIntoAssistant` on write — no merge step is required; the
31
+ * split IS the native representation, and a `getMessages()` → `addContext()`
32
+ * round-trip is lossless.
30
33
  *
31
- * **Supported parts:** text, reasoning, and tool parts. Multimodal
32
- * (`image` / `file`) parts are rejected with `INVALID_MESSAGE_CONTENT`, matching
33
- * the text-only stream input the harness accepts; multimodal is not yet
34
- * implemented.
34
+ * **Multimodal:** `image` / `file` parts lower to `input_image` / `input_file`
35
+ * content blocks via the shared {@link lowerInputPartToContent} helper (also used
36
+ * by `stream()`), so the wire shape can't drift between the stream path and the
37
+ * persistence path. The read path ({@link messageItemToMessage}) maps those blocks
38
+ * back to `ImagePart` / `FilePart`. A file's `fileName` round-trips via the native
39
+ * `input_file.filename`; an image's `fileName` is NOT preserved — `input_image` has
40
+ * no filename field and `@openai/agents-openai` leaks any `providerData` onto the
41
+ * wire, so there is no round-trip channel (see {@link lowerInputPartToContent}).
35
42
  */
36
43
  // ── Read path ────────────────────────────────────────────────────────────────
37
44
  /**
@@ -123,7 +130,17 @@ function messageItemToMessage(item, role, createdAt, index) {
123
130
  else if (block.type === 'refusal' && typeof block.refusal === 'string') {
124
131
  parts.push({ type: 'text', text: block.refusal });
125
132
  }
126
- // Non-text content (image/audio/file) is not mapped.
133
+ else if (block.type === 'input_image') {
134
+ const part = imageBlockToPart(block);
135
+ if (part !== undefined)
136
+ parts.push(part);
137
+ }
138
+ else if (block.type === 'input_file') {
139
+ const part = fileBlockToPart(block);
140
+ if (part !== undefined)
141
+ parts.push(part);
142
+ }
143
+ // Any other content (audio, hosted-tool output) is not mapped.
127
144
  }
128
145
  // Collapse a lone text part to string content (the shape consumers wrote and
129
146
  // the shape #464's history test asserts via `typeof content === 'string'`).
@@ -174,6 +191,14 @@ function messageToItems(message) {
174
191
  if (typeof message.content === 'string') {
175
192
  return [{ item: buildMessageItem(message.role, message.content) }];
176
193
  }
194
+ // A message carrying any multimodal part is user input: lower the whole
195
+ // message to ONE `user` item whose `content` is a `UserContent[]` array
196
+ // (`input_text` / `input_image` / `input_file`), the exact shape a streamed
197
+ // multimodal turn persists — so the `addContext` write and the run-loop write
198
+ // are byte-identical and the read path is symmetric for both.
199
+ if (message.content.some((part) => part.type === 'image' || part.type === 'file')) {
200
+ return [{ item: buildMultimodalUserItem(message.content) }];
201
+ }
177
202
  const out = [];
178
203
  const textRun = [];
179
204
  const flushText = () => {
@@ -220,7 +245,11 @@ function messageToItems(message) {
220
245
  break;
221
246
  case 'image':
222
247
  case 'file':
223
- throw new AgentSDKError(`The OpenAI harness does not yet support "${part.type}" message parts in addContext (multimodal is not yet implemented).`, AgentSDKErrorType.INVALID_MESSAGE_CONTENT);
248
+ // Unreachable: a message carrying an image/file part is routed to
249
+ // `buildMultimodalUserItem` above before this loop runs. Kept so the
250
+ // switch stays exhaustive over `MessagePart` and a future refactor
251
+ // that changes the routing fails loud rather than silently dropping.
252
+ throw new AgentSDKError(`messageToItems: "${part.type}" part reached the text/tool lowering path; multimodal messages must route through buildMultimodalUserItem.`, AgentSDKErrorType.INVALID_MESSAGE_CONTENT);
224
253
  }
225
254
  }
226
255
  flushText();
@@ -245,6 +274,102 @@ function buildMessageItem(role, text) {
245
274
  return { role: 'user', content: text };
246
275
  }
247
276
  }
277
+ /**
278
+ * Lower one validated input part (text / image / file) to an `@openai/agents`
279
+ * `UserContent` block. The single site that turns an SDK `ImagePart` / `FilePart`
280
+ * into the wire shape, shared by the harness's `stream()` `mapPart` closure and the
281
+ * `addContext` write path so the two can't drift.
282
+ *
283
+ * **Data-URL contract (load-bearing).** `@openai/agents-openai` passes
284
+ * `input_image.image` straight through to the Responses API `image_url` with NO
285
+ * `data:` prefix added, and the model requires a data URL there — so images MUST be
286
+ * lowered to `data:<mime>;base64,<data>`. `input_file.file` accepts either a data
287
+ * URL or raw base64; we use a data URL for both so the shape is uniform.
288
+ *
289
+ * **Image `fileName` is intentionally dropped.** `input_image` has no filename
290
+ * field, and `@openai/agents-openai` snake-cases + spreads any `providerData` onto
291
+ * the wire `input_image` object (see `getInputMessageContent` in
292
+ * `openaiResponsesModel.js`), so stashing `fileName` there leaks a `file_name`
293
+ * field the Responses API rejects — the model then returns empty output. There is
294
+ * no wire-safe round-trip channel (the stream path persists the same object it
295
+ * sends the model), so an image's `fileName` is not preserved through history —
296
+ * matching the Claude harness, whose `image` block likewise carries no title while
297
+ * its `document`/file block does. A file's `fileName` DOES round-trip: it rides the
298
+ * native `input_file.filename`, a real Responses API field.
299
+ */
300
+ export function lowerInputPartToContent(part) {
301
+ switch (part.type) {
302
+ case 'text':
303
+ return { type: 'input_text', text: part.text };
304
+ case 'image':
305
+ return { type: 'input_image', image: toDataUrl(part.mimeType, part.data) };
306
+ case 'file':
307
+ return {
308
+ type: 'input_file',
309
+ file: toDataUrl(part.mimeType, part.data),
310
+ ...(part.fileName !== undefined ? { filename: part.fileName } : {}),
311
+ };
312
+ }
313
+ }
314
+ /** Build the single `user` message item a multimodal message lowers to. */
315
+ function buildMultimodalUserItem(parts) {
316
+ const content = [];
317
+ for (const part of parts) {
318
+ if (part.type === 'text' || part.type === 'image' || part.type === 'file') {
319
+ content.push(lowerInputPartToContent(part));
320
+ }
321
+ // A multimodal user message never carries reasoning/tool parts; the SDK's
322
+ // `lowerStreamInput` guard rejects them on the stream path, and `addContext`
323
+ // messages that mix them are a caller error. Silently skip rather than throw
324
+ // so a stray part can't corrupt an otherwise-valid attachment turn.
325
+ }
326
+ return { role: 'user', content };
327
+ }
328
+ /** Assemble a `data:<mime>;base64,<data>` URL from a mime type + raw base64 bytes. */
329
+ function toDataUrl(mimeType, base64Data) {
330
+ return `data:${mimeType};base64,${base64Data}`;
331
+ }
332
+ /**
333
+ * Split a `data:<mime>;base64,<data>` URL into its mime type and raw base64 bytes.
334
+ * Returns `undefined` for a string that is not a base64 data URL (e.g. a remote
335
+ * `https://` file url or an uploaded `file_id` reference), which the harness never
336
+ * writes but a hand-seeded history could carry — such a block has no SDK
337
+ * `ImagePart` / `FilePart` equivalent and is dropped from history.
338
+ */
339
+ function parseDataUrl(value) {
340
+ const match = /^data:([^;,]+);base64,(.*)$/s.exec(value);
341
+ if (match === null)
342
+ return undefined;
343
+ return { mimeType: match[1], data: match[2] };
344
+ }
345
+ /**
346
+ * Map an `input_image` content block back to an SDK `ImagePart`, or drop it. No
347
+ * `fileName` is restored — see {@link lowerInputPartToContent} for why an image's
348
+ * filename is not round-tripped (no wire-safe channel; the write path drops it).
349
+ */
350
+ function imageBlockToPart(block) {
351
+ if (typeof block.image !== 'string')
352
+ return undefined;
353
+ const parsed = parseDataUrl(block.image);
354
+ if (parsed === undefined || (parsed.mimeType !== 'image/png' && parsed.mimeType !== 'image/jpeg')) {
355
+ return undefined;
356
+ }
357
+ return { type: 'image', mimeType: parsed.mimeType, data: parsed.data };
358
+ }
359
+ /** Map an `input_file` content block back to an SDK `FilePart`, or drop it. */
360
+ function fileBlockToPart(block) {
361
+ if (typeof block.file !== 'string')
362
+ return undefined;
363
+ const parsed = parseDataUrl(block.file);
364
+ if (parsed === undefined || parsed.mimeType !== 'application/pdf')
365
+ return undefined;
366
+ return {
367
+ type: 'file',
368
+ mimeType: parsed.mimeType,
369
+ data: parsed.data,
370
+ ...(typeof block.filename === 'string' ? { fileName: block.filename } : {}),
371
+ };
372
+ }
248
373
  // ── Transcript rendering (compaction + conformance drift-guard) ────────────────
249
374
  /**
250
375
  * Render a {@link MessagePart} as a plain-text transcript fragment. Byte-identical
@@ -1 +1 @@
1
- {"version":3,"file":"openai-message-mapper.js","sourceRoot":"","sources":["../src/openai-message-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-message-mapper.js","sourceRoot":"","sources":["../src/openai-message-mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACH,aAAa,EACb,iBAAiB,GAKpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAyB,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAM7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACtD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,gCAAgC,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAqB,EAAE,KAAa;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAe,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7C,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9E,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3E,MAAM,IAAI,GAAgB;gBACtB,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;aAClC,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;QACvG,CAAC;QACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3E,MAAM,IAAI,GAAgB;gBACtB,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;gBACxC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACF,kEAAkE;YAClE,+DAA+D;YAC/D,kEAAkE;YAClE,sEAAsE;YACtE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,cAAc,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;QACzG,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO;gBACH,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,aAAa,KAAK,EAAE;gBACnC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBACtC,SAAS;aACZ,CAAC;QACN,CAAC;QACD;YACI,mEAAmE;YACnE,2DAA2D;YAC3D,yBAAyB;YACzB,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa,EAAE,IAAiB,EAAE,SAAe,EAAE,KAAa;IAC1F,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,EAAE,CAAC;IACrC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,CAAiB,CAAC;QAChC,0EAA0E;QAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,+DAA+D;IACnE,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,oEAAoE;AACpE,SAAS,eAAe,CAAC,OAA2B;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,OAAO;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACP,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAkB,CAAC,IAAI,KAAK,QAAQ;QAC/E,CAAC,CAAE,CAAkB,CAAC,IAAK;QAC3B,CAAC,CAAC,EAAE,CACX;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,kFAAkF;AAElF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAmB;IACjD,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,+DAA+D;YAC/D,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,kEAAkE;YAClE,uCAAuC;YACvC,MAAM,IAAI,aAAa,CACnB,+BAA+B,OAAO,CAAC,EAAE,+DAA+D,EACxG,iBAAiB,CAAC,uBAAuB,CAC5C,CAAC;QACN,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,OAAgB;IACpC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,4EAA4E;IAC5E,8EAA8E;IAC9E,8DAA8D;IAC9D,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,GAAG,GAA4C,EAAE,CAAC;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,GAAS,EAAE;QACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,MAAM;gBACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACV,KAAK,WAAW;gBACZ,SAAS,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAoB;iBACpG,CAAC,CAAC;gBACH,MAAM;YACV,KAAK,WAAW;gBACZ,SAAS,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE;wBACF,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,IAAI,EAAE,IAAI,CAAC,QAAQ;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC1C,MAAM,EAAE,WAAW;qBACJ;iBACtB,CAAC,CAAC;gBACH,MAAM;YACV,KAAK,aAAa;gBACd,SAAS,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE;wBACF,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,IAAI,EAAE,IAAI,CAAC,QAAQ;wBACnB,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpB;oBACnB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM;YACV,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACP,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,MAAM,IAAI,aAAa,CACnB,oBAAoB,IAAI,CAAC,IAAI,6GAA6G,EAC1I,iBAAiB,CAAC,uBAAuB,CAC5C,CAAC;QACV,CAAC;IACL,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,OAAO,GAAG,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,IAAiB,EAAE,IAAY;IACrD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,WAAW;YACZ,OAAO;gBACH,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzB,CAAC;QACxB,KAAK,QAAQ;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAoB,CAAC;QAC/D,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACP,kEAAkE;YAClE,qEAAqE;YACrE,qDAAqD;YACrD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAoB,CAAC;IACjE,CAAC;AACL,CAAC;AAeD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC1D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,KAAK,OAAO;YACR,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,KAAK,MAAM;YACP,OAAO;gBACH,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;IACV,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,uBAAuB,CAAC,KAAoB;IACjD,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,oEAAoE;IACxE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAoB,CAAC;AACvD,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,QAAgB,EAAE,UAAkB;IACnD,OAAO,QAAQ,QAAQ,WAAW,UAAU,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAmB;IACzC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,SAAS,eAAe,CAAC,KAAmB;IACxC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACpF,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACN,CAAC;AAED,kFAAkF;AAElF;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IAClD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,eAAe,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC;QACvD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9F,OAAO,iBAAiB,IAAI,CAAC,QAAQ,MAAM,SAAS,GAAG,CAAC;QAC5D,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtF,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,UAAkB;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,GAAG,GAAG,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,SAAS;QACb,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QACtE,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,SAAS,CAAC;QACxB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAoCD,kFAAkF;AAClF,SAAS,SAAS,CAAC,GAAY;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,MAAe;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAK,MAA6B,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClG,OAAQ,MAA6B,CAAC,IAAI,IAAI,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,MAAe;IACnC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC"}