@openai/agents-extensions 0.4.5 → 0.4.6

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.
@@ -55,8 +55,18 @@ declare const codexParametersSchema: z.ZodObject<{
55
55
  type: z.ZodLiteral<"local_image">;
56
56
  path: z.ZodString;
57
57
  }, z.core.$strict>]>>;
58
+ threadId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
58
59
  }, z.core.$strict>;
59
- type CodexToolParametersSchema = typeof codexParametersSchema;
60
+ declare const codexRunContextParametersSchema: z.ZodObject<{
61
+ inputs: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
62
+ type: z.ZodLiteral<"text">;
63
+ text: z.ZodString;
64
+ }, z.core.$strict>, z.ZodObject<{
65
+ type: z.ZodLiteral<"local_image">;
66
+ path: z.ZodString;
67
+ }, z.core.$strict>]>>;
68
+ }, z.core.$strict>;
69
+ type CodexToolParametersSchema = typeof codexParametersSchema | typeof codexRunContextParametersSchema;
60
70
  type OutputSchemaDescriptor = z.infer<typeof OutputSchemaDescriptorSchema>;
61
71
  export type CodexToolStreamEvent = {
62
72
  event: ThreadEvent;
@@ -68,7 +78,10 @@ export type CodexToolOptions = {
68
78
  /**
69
79
  * Name of the tool as exposed to the agent model.
70
80
  *
71
- * @defaultValue `'codex'`
81
+ * Names are normalized to the `codex` namespace.
82
+ * Passing `'engineer'` becomes `'codex_engineer'`.
83
+ *
84
+ * @defaultValue `'codex'`.
72
85
  */
73
86
  name?: string;
74
87
  /**
@@ -125,6 +138,20 @@ export type CodexToolOptions = {
125
138
  * Optional hook to receive streamed Codex events during execution.
126
139
  */
127
140
  onStream?: CodexToolStreamHandler;
141
+ /**
142
+ * Reuse Codex thread IDs stored in `runContext.context`.
143
+ *
144
+ * When enabled, the tool reads the prior thread ID from `runContext.context`,
145
+ * resumes that thread, and stores the latest thread ID after completion.
146
+ */
147
+ useRunContextThreadId?: boolean;
148
+ /**
149
+ * Context key used when `useRunContextThreadId` is enabled.
150
+ *
151
+ * Defaults to `codexThreadId` for the default tool name, or a name-derived
152
+ * key such as `codexThreadId_engineer` for `name: 'codex_engineer'`.
153
+ */
154
+ runContextThreadIdKey?: string;
128
155
  };
129
156
  type CodexToolResult = {
130
157
  threadId: string | null;
@@ -138,7 +165,7 @@ type CodexToolResult = {
138
165
  * and MCP tool invocations. Those spans are nested under the Codex tool span automatically when
139
166
  * tracing is enabled.
140
167
  */
141
- export declare function codexTool(options?: CodexToolOptions): FunctionTool<unknown, typeof codexParametersSchema, CodexToolResult>;
168
+ export declare function codexTool(options?: CodexToolOptions): FunctionTool<unknown, CodexToolParametersSchema, CodexToolResult>;
142
169
  export type CodexOutputSchemaDescriptor = OutputSchemaDescriptor;
143
170
  export type CodexOutputSchema = Record<string, unknown>;
144
171
  export {};
@@ -9,6 +9,9 @@ const zod_1 = require("zod");
9
9
  const MAX_SPAN_TEXT_LENGTH = 2000;
10
10
  const MAX_SPAN_LIST_ITEMS = 200;
11
11
  const MAX_TODO_TEXT_LENGTH = 200;
12
+ const DEFAULT_CODEX_TOOL_NAME = 'codex';
13
+ const CODEX_TOOL_NAME_PREFIX = 'codex_';
14
+ const DEFAULT_RUN_CONTEXT_THREAD_ID_KEY = 'codexThreadId';
12
15
  const CodexToolInputTextSchema = zod_1.z
13
16
  .object({
14
17
  type: zod_1.z.literal('text'),
@@ -125,6 +128,21 @@ const codexParametersSchema = zod_1.z
125
128
  .array(CodexToolInputItemSchema)
126
129
  .min(1, 'Codex tool requires at least one input item.')
127
130
  .describe('Structured inputs appended to the Codex task. Provide at least one input item.'),
131
+ threadId: zod_1.z
132
+ .string()
133
+ .trim()
134
+ .min(1, 'When provided, "threadId" must be a non-empty string.')
135
+ .nullable()
136
+ .default(null)
137
+ .describe('Optional Codex thread ID to resume. If omitted, a new thread is started unless configured elsewhere.'),
138
+ })
139
+ .strict();
140
+ const codexRunContextParametersSchema = zod_1.z
141
+ .object({
142
+ inputs: zod_1.z
143
+ .array(CodexToolInputItemSchema)
144
+ .min(1, 'Codex tool requires at least one input item.')
145
+ .describe('Structured inputs appended to the Codex task. Provide at least one input item.'),
128
146
  })
129
147
  .strict();
130
148
  function resolveDefaultCodexApiKey(options) {
@@ -167,6 +185,7 @@ function createCodexResolver(providedCodex, options) {
167
185
  };
168
186
  }
169
187
  const defaultParameters = codexParametersSchema;
188
+ const runContextParameters = codexRunContextParametersSchema;
170
189
  /**
171
190
  * Wraps the Codex SDK in a function tool that can be consumed by the Agents SDK.
172
191
  *
@@ -175,7 +194,12 @@ const defaultParameters = codexParametersSchema;
175
194
  * tracing is enabled.
176
195
  */
177
196
  function codexTool(options = {}) {
178
- const { name = 'codex', description = 'Executes an agentic Codex task against the current workspace.', parameters = defaultParameters, codex: providedCodex, codexOptions, defaultThreadOptions, defaultTurnOptions, outputSchema: outputSchemaOption, threadId: defaultThreadId, sandboxMode, workingDirectory, skipGitRepoCheck, persistSession = false, onStream, } = options;
197
+ const { name: configuredName = DEFAULT_CODEX_TOOL_NAME, description = 'Executes an agentic Codex task against the current workspace.', parameters, codex: providedCodex, codexOptions, defaultThreadOptions, defaultTurnOptions, outputSchema: outputSchemaOption, threadId: defaultThreadId, sandboxMode, workingDirectory, skipGitRepoCheck, persistSession = false, onStream, useRunContextThreadId = false, runContextThreadIdKey, } = options;
198
+ const name = resolveCodexToolName(configuredName);
199
+ const resolvedRunContextThreadIdKey = resolveRunContextThreadIdKey(name, runContextThreadIdKey);
200
+ const normalizedDefaultThreadId = normalizeThreadId(defaultThreadId);
201
+ const resolvedParameters = parameters ??
202
+ (useRunContextThreadId ? runContextParameters : defaultParameters);
179
203
  const resolvedCodexOptions = resolveCodexOptions(codexOptions);
180
204
  const resolveCodex = createCodexResolver(providedCodex, resolvedCodexOptions);
181
205
  const validatedOutputSchema = resolveOutputSchema(outputSchemaOption);
@@ -196,14 +220,18 @@ function codexTool(options = {}) {
196
220
  return (0, agents_1.tool)({
197
221
  name,
198
222
  description,
199
- parameters,
223
+ parameters: resolvedParameters,
200
224
  strict: true,
201
225
  execute: async (input, runContext = new agents_1.RunContext(), details) => {
202
226
  const args = normalizeParameters(input);
227
+ if (useRunContextThreadId) {
228
+ validateRunContextThreadIdContext(runContext, resolvedRunContextThreadIdKey);
229
+ }
230
+ const callThreadId = resolveCallThreadId(args, runContext, normalizedDefaultThreadId, useRunContextThreadId, resolvedRunContextThreadIdKey);
203
231
  const codex = await resolveCodex();
204
232
  const thread = persistSession
205
- ? getOrCreatePersistedThread(codex, defaultThreadId, resolvedThreadOptions, persistedThread)
206
- : getThread(codex, defaultThreadId, resolvedThreadOptions);
233
+ ? getOrCreatePersistedThread(codex, callThreadId, resolvedThreadOptions, persistedThread)
234
+ : getThread(codex, callThreadId, resolvedThreadOptions);
207
235
  if (persistSession && !persistedThread) {
208
236
  persistedThread = thread;
209
237
  }
@@ -228,6 +256,9 @@ function codexTool(options = {}) {
228
256
  requests: 1,
229
257
  }));
230
258
  }
259
+ if (useRunContextThreadId) {
260
+ storeThreadIdInRunContext(runContext, resolvedRunContextThreadIdKey, resolvedThreadId);
261
+ }
231
262
  return {
232
263
  threadId: resolvedThreadId,
233
264
  response,
@@ -235,7 +266,10 @@ function codexTool(options = {}) {
235
266
  };
236
267
  },
237
268
  needsApproval: false,
238
- isEnabled: true,
269
+ isEnabled: async ({ agent }) => {
270
+ validateCodexToolNameCollisions(agent);
271
+ return true;
272
+ },
239
273
  });
240
274
  }
241
275
  function resolveOutputSchema(option) {
@@ -271,10 +305,65 @@ function normalizeParameters(params) {
271
305
  const inputs = params.inputs.map((item) => item.type === 'text'
272
306
  ? { type: 'text', text: item.text.trim() }
273
307
  : { type: 'local_image', path: item.path.trim() });
308
+ const threadId = 'threadId' in params ? normalizeThreadId(params.threadId) : undefined;
274
309
  return {
275
310
  inputs: inputs && inputs.length > 0 ? inputs : undefined,
311
+ threadId,
276
312
  };
277
313
  }
314
+ function validateRunContextThreadIdKey(value) {
315
+ if (typeof value !== 'string') {
316
+ throw new agents_1.UserError('runContextThreadIdKey must be a string.');
317
+ }
318
+ const key = value.trim();
319
+ if (!key) {
320
+ throw new agents_1.UserError('runContextThreadIdKey must be a non-empty string.');
321
+ }
322
+ return key;
323
+ }
324
+ function resolveCodexToolName(configuredName) {
325
+ const normalized = configuredName.trim();
326
+ if (!normalized) {
327
+ throw new agents_1.UserError('Codex tool name must be a non-empty string.');
328
+ }
329
+ const functionToolName = (0, utils_1.toFunctionToolName)(normalized);
330
+ if (functionToolName === DEFAULT_CODEX_TOOL_NAME ||
331
+ functionToolName.startsWith(CODEX_TOOL_NAME_PREFIX)) {
332
+ return functionToolName;
333
+ }
334
+ return `${CODEX_TOOL_NAME_PREFIX}${functionToolName}`;
335
+ }
336
+ function isCodexToolName(name) {
337
+ return (name === DEFAULT_CODEX_TOOL_NAME || name.startsWith(CODEX_TOOL_NAME_PREFIX));
338
+ }
339
+ function validateCodexToolNameCollisions(agent) {
340
+ const tools = Array.isArray(agent.tools) ? agent.tools : [];
341
+ const nameCounts = new Map();
342
+ for (const candidate of tools) {
343
+ if (typeof candidate.name !== 'string' || candidate.name.length === 0) {
344
+ continue;
345
+ }
346
+ nameCounts.set(candidate.name, (nameCounts.get(candidate.name) ?? 0) + 1);
347
+ }
348
+ const duplicateCodexNames = [...nameCounts.entries()]
349
+ .filter(([toolName, count]) => isCodexToolName(toolName) && count > 1)
350
+ .map(([toolName]) => toolName)
351
+ .sort();
352
+ if (duplicateCodexNames.length === 0) {
353
+ return;
354
+ }
355
+ throw new agents_1.UserError(`Duplicate Codex tool names found: ${duplicateCodexNames.join(', ')}. Provide a unique codexTool({ name: ... }) per tool instance.`);
356
+ }
357
+ function resolveRunContextThreadIdKey(toolName, configuredKey) {
358
+ if (configuredKey !== undefined) {
359
+ return validateRunContextThreadIdKey(configuredKey);
360
+ }
361
+ if (toolName === DEFAULT_CODEX_TOOL_NAME) {
362
+ return DEFAULT_RUN_CONTEXT_THREAD_ID_KEY;
363
+ }
364
+ const suffix = toolName.slice(CODEX_TOOL_NAME_PREFIX.length);
365
+ return `${DEFAULT_RUN_CONTEXT_THREAD_ID_KEY}_${suffix}`;
366
+ }
278
367
  function buildCodexOutputSchema(descriptor) {
279
368
  const properties = Object.fromEntries(descriptor.properties.map((property) => {
280
369
  const schema = buildCodexOutputSchemaField(property.schema);
@@ -614,6 +703,97 @@ function readShape(input) {
614
703
  }
615
704
  return undefined;
616
705
  }
706
+ function normalizeThreadId(value) {
707
+ if (value === undefined || value === null) {
708
+ return undefined;
709
+ }
710
+ if (typeof value !== 'string') {
711
+ throw new agents_1.UserError('Codex threadId must be a string when provided.');
712
+ }
713
+ const normalized = value.trim();
714
+ return normalized || undefined;
715
+ }
716
+ function resolveCallThreadId(args, runContext, configuredThreadId, useRunContextThreadId, runContextThreadIdKey) {
717
+ const explicitThreadId = normalizeThreadId(args.threadId);
718
+ if (explicitThreadId) {
719
+ return explicitThreadId;
720
+ }
721
+ if (useRunContextThreadId) {
722
+ const contextThreadId = readThreadIdFromRunContext(runContext, runContextThreadIdKey);
723
+ if (contextThreadId) {
724
+ return contextThreadId;
725
+ }
726
+ }
727
+ return configuredThreadId;
728
+ }
729
+ function readThreadIdFromRunContext(runContext, key) {
730
+ const context = runContext.context;
731
+ if (context === undefined || context === null) {
732
+ return undefined;
733
+ }
734
+ const value = context instanceof Map
735
+ ? context.get(key)
736
+ : context[key];
737
+ if (value === undefined || value === null) {
738
+ return undefined;
739
+ }
740
+ if (typeof value !== 'string') {
741
+ throw new agents_1.UserError(`Run context "${key}" must be a string when provided.`);
742
+ }
743
+ const normalized = value.trim();
744
+ return normalized || undefined;
745
+ }
746
+ function validateRunContextThreadIdContext(runContext, key) {
747
+ const context = runContext.context;
748
+ if (context === undefined || context === null) {
749
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object. Pass context={} (or an object) to run().');
750
+ }
751
+ if (context instanceof Map) {
752
+ return;
753
+ }
754
+ if (typeof context !== 'object') {
755
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object.');
756
+ }
757
+ if (Object.isFrozen(context)) {
758
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object. Frozen run context objects are not supported.');
759
+ }
760
+ const descriptor = Object.getOwnPropertyDescriptor(context, key);
761
+ if (descriptor) {
762
+ if ('set' in descriptor) {
763
+ if (typeof descriptor.set === 'function') {
764
+ return;
765
+ }
766
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object.');
767
+ }
768
+ if (descriptor.writable) {
769
+ return;
770
+ }
771
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object.');
772
+ }
773
+ if (!Object.isExtensible(context)) {
774
+ throw new agents_1.UserError('useRunContextThreadId=true requires a mutable run context object.');
775
+ }
776
+ }
777
+ function storeThreadIdInRunContext(runContext, key, threadId) {
778
+ if (!threadId) {
779
+ return;
780
+ }
781
+ validateRunContextThreadIdContext(runContext, key);
782
+ const context = runContext.context;
783
+ if (context === undefined || context === null) {
784
+ return;
785
+ }
786
+ if (context instanceof Map) {
787
+ context.set(key, threadId);
788
+ return;
789
+ }
790
+ try {
791
+ context[key] = threadId;
792
+ }
793
+ catch (_error) {
794
+ throw new agents_1.UserError(`Unable to store Codex threadId in run context field "${key}". Use a mutable object context or set a writable property.`);
795
+ }
796
+ }
617
797
  function getThread(codex, threadId, defaults) {
618
798
  if (threadId) {
619
799
  return codex.resumeThread(threadId, defaults);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/codex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/codex/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { RunContext, Usage, UserError, createCustomSpan, tool, } from '@openai/agents';
2
2
  import { loadEnv } from '@openai/agents-core/_shims';
3
- import { isZodObject, toSmartString } from '@openai/agents-core/utils';
3
+ import { isZodObject, toFunctionToolName, toSmartString, } from '@openai/agents-core/utils';
4
4
  import { Codex, } from '@openai/codex-sdk';
5
5
  import { z } from 'zod';
6
6
  const MAX_SPAN_TEXT_LENGTH = 2000;
7
7
  const MAX_SPAN_LIST_ITEMS = 200;
8
8
  const MAX_TODO_TEXT_LENGTH = 200;
9
+ const DEFAULT_CODEX_TOOL_NAME = 'codex';
10
+ const CODEX_TOOL_NAME_PREFIX = 'codex_';
11
+ const DEFAULT_RUN_CONTEXT_THREAD_ID_KEY = 'codexThreadId';
9
12
  const CodexToolInputTextSchema = z
10
13
  .object({
11
14
  type: z.literal('text'),
@@ -122,6 +125,21 @@ const codexParametersSchema = z
122
125
  .array(CodexToolInputItemSchema)
123
126
  .min(1, 'Codex tool requires at least one input item.')
124
127
  .describe('Structured inputs appended to the Codex task. Provide at least one input item.'),
128
+ threadId: z
129
+ .string()
130
+ .trim()
131
+ .min(1, 'When provided, "threadId" must be a non-empty string.')
132
+ .nullable()
133
+ .default(null)
134
+ .describe('Optional Codex thread ID to resume. If omitted, a new thread is started unless configured elsewhere.'),
135
+ })
136
+ .strict();
137
+ const codexRunContextParametersSchema = z
138
+ .object({
139
+ inputs: z
140
+ .array(CodexToolInputItemSchema)
141
+ .min(1, 'Codex tool requires at least one input item.')
142
+ .describe('Structured inputs appended to the Codex task. Provide at least one input item.'),
125
143
  })
126
144
  .strict();
127
145
  function resolveDefaultCodexApiKey(options) {
@@ -164,6 +182,7 @@ function createCodexResolver(providedCodex, options) {
164
182
  };
165
183
  }
166
184
  const defaultParameters = codexParametersSchema;
185
+ const runContextParameters = codexRunContextParametersSchema;
167
186
  /**
168
187
  * Wraps the Codex SDK in a function tool that can be consumed by the Agents SDK.
169
188
  *
@@ -172,7 +191,12 @@ const defaultParameters = codexParametersSchema;
172
191
  * tracing is enabled.
173
192
  */
174
193
  export function codexTool(options = {}) {
175
- const { name = 'codex', description = 'Executes an agentic Codex task against the current workspace.', parameters = defaultParameters, codex: providedCodex, codexOptions, defaultThreadOptions, defaultTurnOptions, outputSchema: outputSchemaOption, threadId: defaultThreadId, sandboxMode, workingDirectory, skipGitRepoCheck, persistSession = false, onStream, } = options;
194
+ const { name: configuredName = DEFAULT_CODEX_TOOL_NAME, description = 'Executes an agentic Codex task against the current workspace.', parameters, codex: providedCodex, codexOptions, defaultThreadOptions, defaultTurnOptions, outputSchema: outputSchemaOption, threadId: defaultThreadId, sandboxMode, workingDirectory, skipGitRepoCheck, persistSession = false, onStream, useRunContextThreadId = false, runContextThreadIdKey, } = options;
195
+ const name = resolveCodexToolName(configuredName);
196
+ const resolvedRunContextThreadIdKey = resolveRunContextThreadIdKey(name, runContextThreadIdKey);
197
+ const normalizedDefaultThreadId = normalizeThreadId(defaultThreadId);
198
+ const resolvedParameters = parameters ??
199
+ (useRunContextThreadId ? runContextParameters : defaultParameters);
176
200
  const resolvedCodexOptions = resolveCodexOptions(codexOptions);
177
201
  const resolveCodex = createCodexResolver(providedCodex, resolvedCodexOptions);
178
202
  const validatedOutputSchema = resolveOutputSchema(outputSchemaOption);
@@ -193,14 +217,18 @@ export function codexTool(options = {}) {
193
217
  return tool({
194
218
  name,
195
219
  description,
196
- parameters,
220
+ parameters: resolvedParameters,
197
221
  strict: true,
198
222
  execute: async (input, runContext = new RunContext(), details) => {
199
223
  const args = normalizeParameters(input);
224
+ if (useRunContextThreadId) {
225
+ validateRunContextThreadIdContext(runContext, resolvedRunContextThreadIdKey);
226
+ }
227
+ const callThreadId = resolveCallThreadId(args, runContext, normalizedDefaultThreadId, useRunContextThreadId, resolvedRunContextThreadIdKey);
200
228
  const codex = await resolveCodex();
201
229
  const thread = persistSession
202
- ? getOrCreatePersistedThread(codex, defaultThreadId, resolvedThreadOptions, persistedThread)
203
- : getThread(codex, defaultThreadId, resolvedThreadOptions);
230
+ ? getOrCreatePersistedThread(codex, callThreadId, resolvedThreadOptions, persistedThread)
231
+ : getThread(codex, callThreadId, resolvedThreadOptions);
204
232
  if (persistSession && !persistedThread) {
205
233
  persistedThread = thread;
206
234
  }
@@ -225,6 +253,9 @@ export function codexTool(options = {}) {
225
253
  requests: 1,
226
254
  }));
227
255
  }
256
+ if (useRunContextThreadId) {
257
+ storeThreadIdInRunContext(runContext, resolvedRunContextThreadIdKey, resolvedThreadId);
258
+ }
228
259
  return {
229
260
  threadId: resolvedThreadId,
230
261
  response,
@@ -232,7 +263,10 @@ export function codexTool(options = {}) {
232
263
  };
233
264
  },
234
265
  needsApproval: false,
235
- isEnabled: true,
266
+ isEnabled: async ({ agent }) => {
267
+ validateCodexToolNameCollisions(agent);
268
+ return true;
269
+ },
236
270
  });
237
271
  }
238
272
  function resolveOutputSchema(option) {
@@ -268,10 +302,65 @@ function normalizeParameters(params) {
268
302
  const inputs = params.inputs.map((item) => item.type === 'text'
269
303
  ? { type: 'text', text: item.text.trim() }
270
304
  : { type: 'local_image', path: item.path.trim() });
305
+ const threadId = 'threadId' in params ? normalizeThreadId(params.threadId) : undefined;
271
306
  return {
272
307
  inputs: inputs && inputs.length > 0 ? inputs : undefined,
308
+ threadId,
273
309
  };
274
310
  }
311
+ function validateRunContextThreadIdKey(value) {
312
+ if (typeof value !== 'string') {
313
+ throw new UserError('runContextThreadIdKey must be a string.');
314
+ }
315
+ const key = value.trim();
316
+ if (!key) {
317
+ throw new UserError('runContextThreadIdKey must be a non-empty string.');
318
+ }
319
+ return key;
320
+ }
321
+ function resolveCodexToolName(configuredName) {
322
+ const normalized = configuredName.trim();
323
+ if (!normalized) {
324
+ throw new UserError('Codex tool name must be a non-empty string.');
325
+ }
326
+ const functionToolName = toFunctionToolName(normalized);
327
+ if (functionToolName === DEFAULT_CODEX_TOOL_NAME ||
328
+ functionToolName.startsWith(CODEX_TOOL_NAME_PREFIX)) {
329
+ return functionToolName;
330
+ }
331
+ return `${CODEX_TOOL_NAME_PREFIX}${functionToolName}`;
332
+ }
333
+ function isCodexToolName(name) {
334
+ return (name === DEFAULT_CODEX_TOOL_NAME || name.startsWith(CODEX_TOOL_NAME_PREFIX));
335
+ }
336
+ function validateCodexToolNameCollisions(agent) {
337
+ const tools = Array.isArray(agent.tools) ? agent.tools : [];
338
+ const nameCounts = new Map();
339
+ for (const candidate of tools) {
340
+ if (typeof candidate.name !== 'string' || candidate.name.length === 0) {
341
+ continue;
342
+ }
343
+ nameCounts.set(candidate.name, (nameCounts.get(candidate.name) ?? 0) + 1);
344
+ }
345
+ const duplicateCodexNames = [...nameCounts.entries()]
346
+ .filter(([toolName, count]) => isCodexToolName(toolName) && count > 1)
347
+ .map(([toolName]) => toolName)
348
+ .sort();
349
+ if (duplicateCodexNames.length === 0) {
350
+ return;
351
+ }
352
+ throw new UserError(`Duplicate Codex tool names found: ${duplicateCodexNames.join(', ')}. Provide a unique codexTool({ name: ... }) per tool instance.`);
353
+ }
354
+ function resolveRunContextThreadIdKey(toolName, configuredKey) {
355
+ if (configuredKey !== undefined) {
356
+ return validateRunContextThreadIdKey(configuredKey);
357
+ }
358
+ if (toolName === DEFAULT_CODEX_TOOL_NAME) {
359
+ return DEFAULT_RUN_CONTEXT_THREAD_ID_KEY;
360
+ }
361
+ const suffix = toolName.slice(CODEX_TOOL_NAME_PREFIX.length);
362
+ return `${DEFAULT_RUN_CONTEXT_THREAD_ID_KEY}_${suffix}`;
363
+ }
275
364
  function buildCodexOutputSchema(descriptor) {
276
365
  const properties = Object.fromEntries(descriptor.properties.map((property) => {
277
366
  const schema = buildCodexOutputSchemaField(property.schema);
@@ -611,6 +700,97 @@ function readShape(input) {
611
700
  }
612
701
  return undefined;
613
702
  }
703
+ function normalizeThreadId(value) {
704
+ if (value === undefined || value === null) {
705
+ return undefined;
706
+ }
707
+ if (typeof value !== 'string') {
708
+ throw new UserError('Codex threadId must be a string when provided.');
709
+ }
710
+ const normalized = value.trim();
711
+ return normalized || undefined;
712
+ }
713
+ function resolveCallThreadId(args, runContext, configuredThreadId, useRunContextThreadId, runContextThreadIdKey) {
714
+ const explicitThreadId = normalizeThreadId(args.threadId);
715
+ if (explicitThreadId) {
716
+ return explicitThreadId;
717
+ }
718
+ if (useRunContextThreadId) {
719
+ const contextThreadId = readThreadIdFromRunContext(runContext, runContextThreadIdKey);
720
+ if (contextThreadId) {
721
+ return contextThreadId;
722
+ }
723
+ }
724
+ return configuredThreadId;
725
+ }
726
+ function readThreadIdFromRunContext(runContext, key) {
727
+ const context = runContext.context;
728
+ if (context === undefined || context === null) {
729
+ return undefined;
730
+ }
731
+ const value = context instanceof Map
732
+ ? context.get(key)
733
+ : context[key];
734
+ if (value === undefined || value === null) {
735
+ return undefined;
736
+ }
737
+ if (typeof value !== 'string') {
738
+ throw new UserError(`Run context "${key}" must be a string when provided.`);
739
+ }
740
+ const normalized = value.trim();
741
+ return normalized || undefined;
742
+ }
743
+ function validateRunContextThreadIdContext(runContext, key) {
744
+ const context = runContext.context;
745
+ if (context === undefined || context === null) {
746
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object. Pass context={} (or an object) to run().');
747
+ }
748
+ if (context instanceof Map) {
749
+ return;
750
+ }
751
+ if (typeof context !== 'object') {
752
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object.');
753
+ }
754
+ if (Object.isFrozen(context)) {
755
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object. Frozen run context objects are not supported.');
756
+ }
757
+ const descriptor = Object.getOwnPropertyDescriptor(context, key);
758
+ if (descriptor) {
759
+ if ('set' in descriptor) {
760
+ if (typeof descriptor.set === 'function') {
761
+ return;
762
+ }
763
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object.');
764
+ }
765
+ if (descriptor.writable) {
766
+ return;
767
+ }
768
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object.');
769
+ }
770
+ if (!Object.isExtensible(context)) {
771
+ throw new UserError('useRunContextThreadId=true requires a mutable run context object.');
772
+ }
773
+ }
774
+ function storeThreadIdInRunContext(runContext, key, threadId) {
775
+ if (!threadId) {
776
+ return;
777
+ }
778
+ validateRunContextThreadIdContext(runContext, key);
779
+ const context = runContext.context;
780
+ if (context === undefined || context === null) {
781
+ return;
782
+ }
783
+ if (context instanceof Map) {
784
+ context.set(key, threadId);
785
+ return;
786
+ }
787
+ try {
788
+ context[key] = threadId;
789
+ }
790
+ catch (_error) {
791
+ throw new UserError(`Unable to store Codex threadId in run context field "${key}". Use a mutable object context or set a writable property.`);
792
+ }
793
+ }
614
794
  function getThread(codex, threadId, defaults) {
615
795
  if (threadId) {
616
796
  return codex.resumeThread(threadId, defaults);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/experimental/codex/index.ts"],"names":[],"mappings":"OAAO,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,gBAAgB;OAChB,EAAE,OAAO,EAAE,MAAM,4BAA4B;OAC7C,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B;OAO/D,EACL,KAAK,GAkBN,MAAM,mBAAmB;OACnB,EAAE,CAAC,EAAE,MAAM,KAAK;AAQvB,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,oDAAoD,CAAC;CAChE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,2DAA2D,CAAC;CACvE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IACvC,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,2BAA2B;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,2BAA2B;IAC3B,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,uBAAuB;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,4BAA4B,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,oCAAoC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,iFAAiF,CAClF;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,4BAA4B,QAAQ,CAAC,IAAI,qBAAqB;gBACvE,IAAI,EAAE,CAAC,YAAY,CAAC;aACrB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,sBAAsB,IAAI,yCAAyC;oBAC5E,IAAI,EAAE,CAAC,UAAU,CAAC;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,wBAAwB,CAAC;SAC/B,GAAG,CAAC,CAAC,EAAE,8CAA8C,CAAC;SACtD,QAAQ,CACP,gFAAgF,CACjF;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AAmFZ,SAAS,yBAAyB,CAAC,OAAsB;IACvD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,CAAC;IACjC,IAAI,WAAW,EAAE,aAAa,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,aAAa,CAAC;IACnC,CAAC;IACD,IAAI,WAAW,EAAE,cAAc,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,OAAO,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAiC;IAEjC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAC1B,aAAgC,EAChC,OAAiC;IAEjC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,IAAI,aAAa,GAAiB,IAAI,CAAC;IACvC,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAQhD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,UAA4B,EAAE;IAE9B,MAAM,EACJ,IAAI,GAAG,OAAO,EACd,WAAW,GAAG,+DAA+D,EAC7E,UAAU,GAAG,iBAAiB,EAC9B,KAAK,EAAE,aAAa,EACpB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,eAAe,EACzB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAAG,KAAK,EACtB,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAE9E,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IACtE,MAAM,qBAAqB,GACzB,oBAAoB;QACpB,WAAW;QACX,gBAAgB;QAChB,OAAO,gBAAgB,KAAK,SAAS;QACnC,CAAC,CAAC;YACE,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,gBAAgB,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE,gBAAgB,EAAE;gBACtB,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,eAAe,GAAkB,IAAI,CAAC;IAE1C,OAAO,IAAI,CAAyD;QAClE,IAAI;QACJ,WAAW;QACX,UAAU;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAA4B,CAAC,CAAC;YAE/D,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,cAAc;gBAC3B,CAAC,CAAC,0BAA0B,CACxB,KAAK,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,CAChB;gBACH,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;YAC7D,IAAI,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,eAAe,GAAG,MAAM,CAAC;YAC3B,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAClC,kBAAkB,EAClB,qBAAqB,CACtB,CAAC;YACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEvE,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EAAE,gBAAgB,GAC3B,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE;gBACpC,IAAI;gBACJ,QAAQ;gBACR,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,IAAI,gBAAgB,CAAC;YAEvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,kBAAkB,GACtB,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;oBAC3C,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;oBACpD,CAAC,CAAC,SAAS,CAAC;gBAChB,UAAU,CAAC,KAAK,CAAC,GAAG,CAClB,IAAI,KAAK,CAAC;oBACR,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa;oBACtD,oBAAoB,EAAE,kBAAkB;oBACxC,QAAQ,EAAE,CAAC;iBACZ,CAAC,CACH,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ;gBACR,KAAK;aACN,CAAC;QACJ,CAAC;QACD,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAKD,SAAS,mBAAmB,CAC1B,MAAwE;IAExE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,SAAS,CACjB,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CACjB,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAiC,EACjC,YAAiD;IAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAY,CAAC,IAAI,EAAE,EAAE,CACnD,IAAI,CAAC,IAAI,KAAK,MAAM;QAClB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CACpD,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAkC;IAElC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ;QAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU;KACX,CAAC;IAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAwB;IAExB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC;SACpD,CAAC;QACF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAkD;IAElD,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,kBAAkB,CACzB,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAkC,CAAC;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAwBD,MAAM,oBAAoB,GAAG,yCAAyC,CAAC;AACvE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,OAAO;IACP,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAA8C;IACrE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;CAC9C,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,KAAgB,CAAC;IACnC,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GACX,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC;QAClD,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAmB;IAEnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,WAAW,EAAE,CAAC;QACvD,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACxC,CAAC;IAED,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAA8C,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IAIrC,IAAI,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,IAAI,mBAAmB,EAAE,CAAC;QAChC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,cAAc;YACjB,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAwC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAwC;IAExC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;SAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAClC,MAAM,CAAC,OAAO,CAAgC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAA8B;QACxC,IAAI,EAAE,OAAO;QACb,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;IACF,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAwC;IAExC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,CAAC;SACtD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACtC,MAAM,CAAC,OAAO,CAAgC,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAwC;IAExC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAwC;IAExC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,WAAW;QAChB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE;QACvD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CACrB,GAAwC;IAExC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CACrB,GAAwC;IAExC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO,WAAW;QAChB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAwC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GACR,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,UAAU,CAAC;QAClB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,GAAwC,EACxC,GAAG,IAAc;IAEjB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACzC,OAAQ,GAA+B,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CACnB,GAAwC;IAExC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAKvC,CAAC;IACd,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,GAAwC;IAExC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAmB,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAoB,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAiC,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAA+B,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,KAAuB,CAAC;IAC1C,IAAI,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC;IACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAgC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAChB,KAAY,EACZ,QAA4B,EAC5B,QAAwB;IAExB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAY,EACZ,QAA4B,EAC5B,aAAwC,EACxC,cAA6B;IAE7B,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;YACrC,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,SAAS,CACjB,qFAAqF,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,IAA4B;IACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAQD,KAAK,UAAU,eAAe,CAC5B,OAA2C,EAC3C,OAA6B;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,EAAE,MAAM,EAAqB,EAC7B,OAA6B;IAM7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,KAAK,GAAsB,IAAI,CAAC;IACpC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,CAAC;YAED,MAAM,eAAe,CAAC,QAAQ,EAAE;gBAC9B,KAAK;gBACL,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,cAAc;oBACjB,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,gBAAgB;oBACnB,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC7C,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe;wBACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACnC,CAAC;wBACD,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,CAAC;oBACD,MAAM;gBACR,KAAK,gBAAgB;oBACnB,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;oBAC5B,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,IAAI,SAAS,CACjB,oBAAoB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7E,CAAC;gBACJ,KAAK,OAAO;oBACV,MAAM,IAAI,SAAS,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D;oBACE,sBAAsB;oBACtB,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;QACD,WAAW,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,KAA8B;IACzE,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;aACjC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC;aACpC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;aACjC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;aACnC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;aAClC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;aACnC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,KAA8B;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,KAA8B;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,iCAAiC;gBAC1C,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;oBAChC,MAAM,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,IAA0B;IACrE,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgB,EAAE,IAAoB;IAClE,eAAe,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,IAAqB;IAChE,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,IAAmB;IAChE,eAAe,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB,EAAE,IAAkB;IAC9D,eAAe,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB,EAAE,IAAe;IACxD,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,IAAmB;IAChE,eAAe,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAA4B;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9E,OAAO,wBAAwB,YAAY,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CACtB,IAAgB,EAChB,IAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAA+B,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAA0B;IAE1B,MAAM,IAAI,GAA4B;QACpC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;KACjC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC5C,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC1C,SAAS,EAAE,oBAAoB;QAC/B,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,GAA4B;QACpC,OAAO;QACP,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAqB;IACjD,MAAM,IAAI,GAA4B;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IAEF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QAC1C,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACpE,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,aAAa,GAA4B;YAC7C,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC5B,CAAC,CAAC,CAAC;SACN,CAAC;QACF,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,WAAW,EAAE,CAAC;YAC1D,mBAAmB,CACjB,aAAa,EACb,oBAAoB,EACpB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC7C,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACxB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACrD,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAmB;IACjD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;QAC7C,SAAS,EAAE,oBAAoB;QAC/B,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAkB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnE,MAAM,MAAM,GAA4B,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACvE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE;YAC9C,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,CAAC;IAChD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACzC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;QACjD,SAAS,EAAE,oBAAoB;QAC/B,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAmB;IACjD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;QAC3C,SAAS,EAAE,oBAAoB;QAC/B,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,SAAS,mBAAmB,CAC1B,MAA+B,EAC/B,KAAa,EACb,KAAa,EACb,OAAwB;IAExB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,IAAI,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,MAAM,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAAa,EACb,EAAE,SAAS,EAAE,IAAI,EAAmB;IAEpC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE;YACnC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;QACrC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAgB;IAEhB,OAAO,IAAI,EAAE,IAAI,KAAK,mBAAmB,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB;IACxC,OAAO,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB;IACzC,OAAO,IAAI,EAAE,IAAI,KAAK,eAAe,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,OAAO,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,IAAgB;IACtC,OAAO,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACnC,OAAO,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,OAAO,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/experimental/codex/index.ts"],"names":[],"mappings":"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"}
package/dist/metadata.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.METADATA = void 0;
5
5
  exports.METADATA = {
6
6
  "name": "@openai/agents-extensions",
7
- "version": "0.4.5",
7
+ "version": "0.4.6",
8
8
  "versions": {
9
- "@openai/agents-extensions": "0.4.5",
9
+ "@openai/agents-extensions": "0.4.6",
10
10
  "@openai/agents-core": "workspace:*"
11
11
  }
12
12
  };
package/dist/metadata.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated
2
2
  export const METADATA = {
3
3
  "name": "@openai/agents-extensions",
4
- "version": "0.4.5",
4
+ "version": "0.4.6",
5
5
  "versions": {
6
- "@openai/agents-extensions": "0.4.5",
6
+ "@openai/agents-extensions": "0.4.6",
7
7
  "@openai/agents-core": "workspace:*"
8
8
  }
9
9
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@openai/agents-extensions",
3
3
  "repository": "https://github.com/openai/openai-agents-js",
4
4
  "homepage": "https://openai.github.io/openai-agents-js/",
5
- "version": "0.4.5",
5
+ "version": "0.4.6",
6
6
  "description": "Extensions for the OpenAI Agents SDK",
7
7
  "author": "OpenAI <support@openai.com>",
8
8
  "main": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  "dependencies": {
11
11
  "@types/ws": "^8.18.1",
12
12
  "debug": "^4.4.0",
13
- "@openai/agents-core": "0.4.5"
13
+ "@openai/agents-core": "0.4.6"
14
14
  },
15
15
  "exports": {
16
16
  ".": {