@openai/agents-core 0.1.8 → 0.1.10

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.
package/dist/run.mjs CHANGED
@@ -29,14 +29,121 @@ export function getTracing(tracingDisabled, traceIncludeSensitiveData) {
29
29
  }
30
30
  return 'enabled_without_data';
31
31
  }
32
+ function toAgentInputList(originalInput) {
33
+ if (typeof originalInput === 'string') {
34
+ return [{ type: 'message', role: 'user', content: originalInput }];
35
+ }
36
+ return [...originalInput];
37
+ }
38
+ /**
39
+ * Internal module for tracking the items in turns and ensuring that we don't send duplicate items.
40
+ * This logic is vital for properly handling the items to send during multiple turns
41
+ * when you use either `conversationId` or `previousResponseId`.
42
+ * Both scenarios expect an agent loop to send only new items for each Responses API call.
43
+ *
44
+ * see also: https://platform.openai.com/docs/guides/conversation-state?api-mode=responses
45
+ */
46
+ class ServerConversationTracker {
47
+ // Conversation ID:
48
+ // - https://platform.openai.com/docs/guides/conversation-state?api-mode=responses#using-the-conversations-api
49
+ // - https://platform.openai.com/docs/api-reference/conversations/create
50
+ conversationId;
51
+ // Previous Response ID:
52
+ // https://platform.openai.com/docs/guides/conversation-state?api-mode=responses#passing-context-from-the-previous-response
53
+ previousResponseId;
54
+ // Using this flag because WeakSet does not provide a way to check its size
55
+ sentInitialInput = false;
56
+ // The items already sent to the model; using WeakSet for memory efficiency
57
+ sentItems = new WeakSet();
58
+ // The items received from the server; using WeakSet for memory efficiency
59
+ serverItems = new WeakSet();
60
+ constructor({ conversationId, previousResponseId, }) {
61
+ this.conversationId = conversationId ?? undefined;
62
+ this.previousResponseId = previousResponseId ?? undefined;
63
+ }
64
+ /**
65
+ * Pre-populates tracker caches from an existing RunState when resuming server-managed runs.
66
+ */
67
+ primeFromState({ originalInput, generatedItems, modelResponses, }) {
68
+ if (this.sentInitialInput) {
69
+ return;
70
+ }
71
+ for (const item of toAgentInputList(originalInput)) {
72
+ if (item && typeof item === 'object') {
73
+ this.sentItems.add(item);
74
+ }
75
+ }
76
+ this.sentInitialInput = true;
77
+ const latestResponse = modelResponses[modelResponses.length - 1];
78
+ for (const response of modelResponses) {
79
+ for (const item of response.output) {
80
+ if (item && typeof item === 'object') {
81
+ this.serverItems.add(item);
82
+ }
83
+ }
84
+ }
85
+ if (!this.conversationId && latestResponse?.responseId) {
86
+ this.previousResponseId = latestResponse.responseId;
87
+ }
88
+ for (const item of generatedItems) {
89
+ const rawItem = item.rawItem;
90
+ if (!rawItem || typeof rawItem !== 'object') {
91
+ continue;
92
+ }
93
+ if (this.serverItems.has(rawItem)) {
94
+ this.sentItems.add(rawItem);
95
+ }
96
+ }
97
+ }
98
+ trackServerItems(modelResponse) {
99
+ if (!modelResponse) {
100
+ return;
101
+ }
102
+ for (const item of modelResponse.output) {
103
+ if (item && typeof item === 'object') {
104
+ this.serverItems.add(item);
105
+ }
106
+ }
107
+ if (!this.conversationId &&
108
+ this.previousResponseId !== undefined &&
109
+ modelResponse.responseId) {
110
+ this.previousResponseId = modelResponse.responseId;
111
+ }
112
+ }
113
+ prepareInput(originalInput, generatedItems) {
114
+ const inputItems = [];
115
+ if (!this.sentInitialInput) {
116
+ const initialItems = toAgentInputList(originalInput);
117
+ for (const item of initialItems) {
118
+ inputItems.push(item);
119
+ if (item && typeof item === 'object') {
120
+ this.sentItems.add(item);
121
+ }
122
+ }
123
+ this.sentInitialInput = true;
124
+ }
125
+ for (const item of generatedItems) {
126
+ if (item.type === 'tool_approval_item') {
127
+ continue;
128
+ }
129
+ const rawItem = item.rawItem;
130
+ if (!rawItem || typeof rawItem !== 'object') {
131
+ continue;
132
+ }
133
+ if (this.sentItems.has(rawItem) || this.serverItems.has(rawItem)) {
134
+ continue;
135
+ }
136
+ inputItems.push(rawItem);
137
+ this.sentItems.add(rawItem);
138
+ }
139
+ return inputItems;
140
+ }
141
+ }
32
142
  export function getTurnInput(originalInput, generatedItems) {
33
143
  const rawItems = generatedItems
34
144
  .filter((item) => item.type !== 'tool_approval_item') // don't include approval items to avoid double function calls
35
145
  .map((item) => item.rawItem);
36
- if (typeof originalInput === 'string') {
37
- originalInput = [{ type: 'message', role: 'user', content: originalInput }];
38
- }
39
- return [...originalInput, ...rawItems];
146
+ return [...toAgentInputList(originalInput), ...rawItems];
40
147
  }
41
148
  /**
42
149
  * A Runner is responsible for running an agent workflow.
@@ -70,11 +177,25 @@ export class Runner extends RunHooks {
70
177
  async #runIndividualNonStream(startingAgent, input, options) {
71
178
  return withNewSpanContext(async () => {
72
179
  // if we have a saved state we use that one, otherwise we create a new one
73
- const state = input instanceof RunState
180
+ const isResumedState = input instanceof RunState;
181
+ const state = isResumedState
74
182
  ? input
75
183
  : new RunState(options.context instanceof RunContext
76
184
  ? options.context
77
185
  : new RunContext(options.context), input, startingAgent, options.maxTurns ?? DEFAULT_MAX_TURNS);
186
+ const serverConversationTracker = options.conversationId || options.previousResponseId
187
+ ? new ServerConversationTracker({
188
+ conversationId: options.conversationId,
189
+ previousResponseId: options.previousResponseId,
190
+ })
191
+ : undefined;
192
+ if (serverConversationTracker && isResumedState) {
193
+ serverConversationTracker.primeFromState({
194
+ originalInput: state._originalInput,
195
+ generatedItems: state._generatedItems,
196
+ modelResponses: state._modelResponses,
197
+ });
198
+ }
78
199
  try {
79
200
  while (true) {
80
201
  const explictlyModelSet = (state._currentAgent.model !== undefined &&
@@ -136,7 +257,9 @@ export class Runner extends RunHooks {
136
257
  if (state._currentTurn === 1) {
137
258
  await this.#runInputGuardrails(state);
138
259
  }
139
- const turnInput = getTurnInput(state._originalInput, state._generatedItems);
260
+ const turnInput = serverConversationTracker
261
+ ? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
262
+ : getTurnInput(state._originalInput, state._generatedItems);
140
263
  if (state._noActiveAgentRun) {
141
264
  state._currentAgent.emit('agent_start', state._context, state._currentAgent);
142
265
  this.emit('agent_start', state._context, state._currentAgent);
@@ -148,12 +271,18 @@ export class Runner extends RunHooks {
148
271
  const agentModelSettings = state._currentAgent.modelSettings;
149
272
  modelSettings = adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, model, modelSettings);
150
273
  modelSettings = maybeResetToolChoice(state._currentAgent, state._toolUseTracker, modelSettings);
274
+ const previousResponseId = serverConversationTracker?.previousResponseId ??
275
+ options.previousResponseId;
276
+ const conversationId = serverConversationTracker?.conversationId ??
277
+ options.conversationId;
151
278
  state._lastTurnResponse = await model.getResponse({
152
279
  systemInstructions: await state._currentAgent.getSystemPrompt(state._context),
153
280
  prompt: await state._currentAgent.getPrompt(state._context),
281
+ // Explicit agent/run config models should take precedence over prompt defaults.
282
+ ...(explictlyModelSet ? { overridePromptModel: true } : {}),
154
283
  input: turnInput,
155
- previousResponseId: options.previousResponseId,
156
- conversationId: options.conversationId,
284
+ previousResponseId,
285
+ conversationId,
157
286
  modelSettings,
158
287
  tools: serializedTools,
159
288
  outputType: convertAgentOutputTypeToSerializable(state._currentAgent.outputType),
@@ -164,6 +293,7 @@ export class Runner extends RunHooks {
164
293
  state._modelResponses.push(state._lastTurnResponse);
165
294
  state._context.usage.add(state._lastTurnResponse.usage);
166
295
  state._noActiveAgentRun = false;
296
+ serverConversationTracker?.trackServerItems(state._lastTurnResponse);
167
297
  const processedResponse = processModelResponse(state._lastTurnResponse, state._currentAgent, tools, handoffs);
168
298
  state._lastProcessedResponse = processedResponse;
169
299
  const turnResult = await executeToolsAndSideEffects(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
@@ -300,7 +430,20 @@ export class Runner extends RunHooks {
300
430
  /**
301
431
  * @internal
302
432
  */
303
- async #runStreamLoop(result, options) {
433
+ async #runStreamLoop(result, options, isResumedState) {
434
+ const serverConversationTracker = options.conversationId || options.previousResponseId
435
+ ? new ServerConversationTracker({
436
+ conversationId: options.conversationId,
437
+ previousResponseId: options.previousResponseId,
438
+ })
439
+ : undefined;
440
+ if (serverConversationTracker && isResumedState) {
441
+ serverConversationTracker.primeFromState({
442
+ originalInput: result.state._originalInput,
443
+ generatedItems: result.state._generatedItems,
444
+ modelResponses: result.state._modelResponses,
445
+ });
446
+ }
304
447
  try {
305
448
  while (true) {
306
449
  const currentAgent = result.state._currentAgent;
@@ -368,18 +511,25 @@ export class Runner extends RunHooks {
368
511
  const agentModelSettings = currentAgent.modelSettings;
369
512
  modelSettings = adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, model, modelSettings);
370
513
  modelSettings = maybeResetToolChoice(currentAgent, result.state._toolUseTracker, modelSettings);
371
- const turnInput = getTurnInput(result.input, result.newItems);
514
+ const turnInput = serverConversationTracker
515
+ ? serverConversationTracker.prepareInput(result.input, result.newItems)
516
+ : getTurnInput(result.input, result.newItems);
372
517
  if (result.state._noActiveAgentRun) {
373
518
  currentAgent.emit('agent_start', result.state._context, currentAgent);
374
519
  this.emit('agent_start', result.state._context, currentAgent);
375
520
  }
376
521
  let finalResponse = undefined;
522
+ const previousResponseId = serverConversationTracker?.previousResponseId ??
523
+ options.previousResponseId;
524
+ const conversationId = serverConversationTracker?.conversationId ?? options.conversationId;
377
525
  for await (const event of model.getStreamedResponse({
378
526
  systemInstructions: await currentAgent.getSystemPrompt(result.state._context),
379
527
  prompt: await currentAgent.getPrompt(result.state._context),
528
+ // Streaming requests should also honor explicitly chosen models.
529
+ ...(explictlyModelSet ? { overridePromptModel: true } : {}),
380
530
  input: turnInput,
381
- previousResponseId: options.previousResponseId,
382
- conversationId: options.conversationId,
531
+ previousResponseId,
532
+ conversationId,
383
533
  modelSettings,
384
534
  tools: serializedTools,
385
535
  handoffs: serializedHandoffs,
@@ -407,6 +557,7 @@ export class Runner extends RunHooks {
407
557
  throw new ModelBehaviorError('Model did not produce a final response!', result.state);
408
558
  }
409
559
  result.state._lastTurnResponse = finalResponse;
560
+ serverConversationTracker?.trackServerItems(finalResponse);
410
561
  result.state._modelResponses.push(result.state._lastTurnResponse);
411
562
  const processedResponse = processModelResponse(result.state._lastTurnResponse, currentAgent, tools, handoffs);
412
563
  result.state._lastProcessedResponse = processedResponse;
@@ -480,7 +631,8 @@ export class Runner extends RunHooks {
480
631
  options = options ?? {};
481
632
  return withNewSpanContext(async () => {
482
633
  // Initialize or reuse existing state
483
- const state = input instanceof RunState
634
+ const isResumedState = input instanceof RunState;
635
+ const state = isResumedState
484
636
  ? input
485
637
  : new RunState(options.context instanceof RunContext
486
638
  ? options.context
@@ -493,11 +645,13 @@ export class Runner extends RunHooks {
493
645
  // Setup defaults
494
646
  result.maxTurns = options.maxTurns ?? state._maxTurns;
495
647
  // Continue the stream loop without blocking
496
- this.#runStreamLoop(result, options).then(() => {
648
+ const streamLoopPromise = this.#runStreamLoop(result, options, isResumedState).then(() => {
497
649
  result._done();
498
650
  }, (err) => {
499
651
  result._raiseError(err);
500
652
  });
653
+ // Attach the stream loop promise so trace end waits for the loop to complete
654
+ result._setStreamLoopPromise(streamLoopPromise);
501
655
  return result;
502
656
  });
503
657
  }
package/dist/run.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.mjs","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.mjs","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,EAAmB;OAC1B,EACL,oBAAoB,EACpB,qBAAqB,GAOtB;OASM,EAAE,uBAAuB,EAAE;OAC3B,EAAE,UAAU,EAAE;OAEd,EAAE,SAAS,EAAE,iBAAiB,EAAE;OAChC,EAAE,QAAQ,EAAE;OACZ,MAAM;OACN,EAAE,aAAa,EAAE,gBAAgB,EAAE;OACnC,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,SAAS,GACV;OACM,EACL,kBAAkB,EAClB,qCAAqC,EACrC,0BAA0B,EAC1B,oBAAoB,EAEpB,oBAAoB,EACpB,0BAA0B,GAC3B;OAEM,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,SAAS,GACV;OACM,EAAE,eAAe,EAAE,iBAAiB,EAAE;OACtC,EAAE,KAAK,EAAE;OACT,EAAE,0BAA0B,EAAE,sBAAsB,EAAE;OACtD,EAAE,QAAQ,EAAE;OACZ,EAAE,4BAA4B,EAAE;OAChC,EAAE,oCAAoC,EAAE;OACxC,EAAE,6BAA6B,EAAE,aAAa,EAAE;AAEvD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAuG7B;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,eAAwB,EACxB,yBAAkC;IAElC,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CACvB,aAAwC;IAExC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,yBAAyB;IAC7B,mBAAmB;IACnB,8GAA8G;IAC9G,wEAAwE;IACjE,cAAc,CAAU;IAE/B,wBAAwB;IACxB,2HAA2H;IACpH,kBAAkB,CAAU;IAEnC,2EAA2E;IACnE,gBAAgB,GAAG,KAAK,CAAC;IACjC,2EAA2E;IACnE,SAAS,GAAG,IAAI,OAAO,EAAU,CAAC;IAC1C,0EAA0E;IAClE,WAAW,GAAG,IAAI,OAAO,EAAU,CAAC;IAE5C,YAAY,EACV,cAAc,EACd,kBAAkB,GAInB;QACC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,SAAS,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,SAAS,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,EACb,aAAa,EACb,cAAc,EACd,cAAc,GAKf;QACC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE,UAAU,EAAE,CAAC;YACvD,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC;QACtD,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,aAAwC;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,kBAAkB,KAAK,SAAS;YACrC,aAAa,CAAC,UAAU,EACxB,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,UAAU,CAAC;QACrD,CAAC;IACH,CAAC;IAED,YAAY,CACV,aAAwC,EACxC,cAAyB;QAEzB,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,OAAyB,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAC1B,aAAwC,EACxC,cAAyB;IAEzB,MAAM,QAAQ,GAAG,cAAc;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,8DAA8D;SACnH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,QAAuC;IACjD,MAAM,CAAY;IACjB,kBAAkB,CAA6B;IAC/C,mBAAmB,CAGhC;IAEJ,YAAY,SAA6B,EAAE;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,uBAAuB,EAAE;YAChE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK;YAChD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,IAAI;YACnE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,gBAAgB;YACrD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5D,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAK3B,aAAqB,EACrB,KAA6D,EAC7D,OAAsC;QAEtC,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE;YACnC,0EAA0E;YAC1E,MAAM,cAAc,GAAG,KAAK,YAAY,QAAQ,CAAC;YACjD,MAAM,KAAK,GAAG,cAAc;gBAC1B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,QAAQ,CACV,OAAO,CAAC,OAAO,YAAY,UAAU;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACnC,KAAK,EACL,aAAa,EACb,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CACtC,CAAC;YAEN,MAAM,yBAAyB,GAC7B,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB;gBAClD,CAAC,CAAC,IAAI,yBAAyB,CAAC;oBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;iBAC/C,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,yBAAyB,IAAI,cAAc,EAAE,CAAC;gBAChD,yBAAyB,CAAC,cAAc,CAAC;oBACvC,aAAa,EAAE,KAAK,CAAC,cAAc;oBACnC,cAAc,EAAE,KAAK,CAAC,eAAe;oBACrC,cAAc,EAAE,KAAK,CAAC,eAAe;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,iBAAiB,GACrB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS;wBACtC,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC;wBACnC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;oBAChE,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1D,CAAC;oBAED,8DAA8D;oBAC9D,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI;wBACzC,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;oBAEF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBACzD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;wBAC7C,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;4BAC9D,MAAM,IAAI,SAAS,CACjB,2CAA2C,EAC3C,KAAK,CACN,CAAC;wBACJ,CAAC;wBAED,MAAM,UAAU,GACd,MAAM,qCAAqC,CACzC,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,sBAAoD,EAC1D,IAAI,EACJ,KAAK,CACN,CAAC;wBAEJ,KAAK,CAAC,eAAe,CAAC,UAAU,CAC9B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,sBAAsB,CAAC,SAAS,CACvC,CAAC;wBAEF,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;wBAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;wBAClD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;wBAEzC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;4BAC1D,wEAAwE;4BACxE,OAAO,IAAI,SAAS,CAAmB,KAAK,CAAC,CAAC;wBAChD,CAAC;wBAED,SAAS;oBACX,CAAC;oBAED,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAC3D,KAAK,CAAC,QAAQ,CACf,CAAC;wBAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BACtD,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAC;gCACxC,IAAI,EAAE;oCACJ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;oCAC9B,QAAQ,EAAE,YAAY;oCACtB,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB;iCAClD;6BACF,CAAC,CAAC;4BACH,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;4BAChC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBAC1C,CAAC;wBAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACpE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpE,CAAC;wBAED,KAAK,CAAC,YAAY,EAAE,CAAC;wBAErB,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;4BACzC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC;gCAChC,OAAO,EAAE,oBAAoB;gCAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;6BACrC,CAAC,CAAC;4BAEH,MAAM,IAAI,qBAAqB,CAC7B,cAAc,KAAK,CAAC,SAAS,YAAY,EACzC,KAAK,CACN,CAAC;wBACJ,CAAC;wBAED,MAAM,CAAC,KAAK,CACV,iBAAiB,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,KAAK,CAAC,YAAY,GAAG,CACzE,CAAC;wBAEF,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;4BAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBACxC,CAAC;wBAED,MAAM,SAAS,GAAG,yBAAyB;4BACzC,CAAC,CAAC,yBAAyB,CAAC,YAAY,CACpC,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,CACtB;4BACH,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;wBAE9D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,aAAa,CAAC,IAAI,CACtB,aAAa,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;4BACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;wBAChE,CAAC;wBAED,IAAI,aAAa,GAAG;4BAClB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;4BAC5B,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa;yBACrC,CAAC;wBACF,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;wBAC7D,aAAa,GAAG,wCAAwC,CACtD,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,aAAa,CACd,CAAC;wBACF,aAAa,GAAG,oBAAoB,CAClC,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,eAAe,EACrB,aAAa,CACd,CAAC;wBACF,MAAM,kBAAkB,GACtB,yBAAyB,EAAE,kBAAkB;4BAC7C,OAAO,CAAC,kBAAkB,CAAC;wBAC7B,MAAM,cAAc,GAClB,yBAAyB,EAAE,cAAc;4BACzC,OAAO,CAAC,cAAc,CAAC;wBAEzB,KAAK,CAAC,iBAAiB,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;4BAChD,kBAAkB,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,eAAe,CAC3D,KAAK,CAAC,QAAQ,CACf;4BACD,MAAM,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;4BAC3D,gFAAgF;4BAChF,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3D,KAAK,EAAE,SAAS;4BAChB,kBAAkB;4BAClB,cAAc;4BACd,aAAa;4BACb,KAAK,EAAE,eAAe;4BACtB,UAAU,EAAE,oCAAoC,CAC9C,KAAK,CAAC,aAAa,CAAC,UAAU,CAC/B;4BACD,QAAQ,EAAE,kBAAkB;4BAC5B,OAAO,EAAE,UAAU,CACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACtC;4BACD,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBACpD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBACxD,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBAEhC,yBAAyB,EAAE,gBAAgB,CACzC,KAAK,CAAC,iBAAiB,CACxB,CAAC;wBAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,aAAa,EACnB,KAAK,EACL,QAAQ,CACT,CAAC;wBAEF,KAAK,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;wBACjD,MAAM,UAAU,GAAG,MAAM,0BAA0B,CACjD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,sBAAsB,EAC5B,IAAI,EACJ,KAAK,CACN,CAAC;wBAEF,KAAK,CAAC,eAAe,CAAC,UAAU,CAC9B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,sBAAsB,CAAC,SAAS,CACvC,CAAC;wBAEF,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;wBAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;wBAClD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;oBAC3C,CAAC;oBAED,IACE,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EACpD,CAAC;wBACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CACP,WAAW,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;wBACF,KAAK,CAAC,aAAa,CAAC,IAAI,CACtB,WAAW,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;wBACF,OAAO,IAAI,SAAS,CAAmB,KAAK,CAAC,CAAC;oBAChD,CAAC;yBAAM,IACL,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAC/C,CAAC;wBACD,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,QAAkB,CAAC;wBAC5D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;4BAC9B,gBAAgB,EAAE,CAAC;4BACnB,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;wBACtC,CAAC;wBACD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAE/B,gEAAgE;wBAChE,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;oBACvD,CAAC;yBAAM,IACL,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EACpD,CAAC;wBACD,wCAAwC;wBACxC,OAAO,IAAI,SAAS,CAAmB,KAAK,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC/B,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBAC1D,gDAAgD;wBAChD,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;oBAChC,CAAC;oBACD,gBAAgB,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAGvB,KAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAC/C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC9D,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG;gBACpB,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,OAAO,EAAE,KAAK,CAAC,QAAQ;aACxB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;oBACjC,OAAO,iBAAiB,CACtB,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;wBAC1D,OAAO,MAAM,CAAC;oBAChB,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAClC,KAAK,CAAC,iBAAiB,CACxB,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gCAC/B,OAAO,EAAE,8BAA8B;gCACvC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;6BAC3C,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,+BAA+B,CACvC,8BAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACxE,MAAM,EACN,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,+BAA+B,EAAE,CAAC;oBACjD,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,8CAA8C;gBAC9C,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,IAAI,uBAAuB,CAC/B,uCAAuC,CAAC,EAAE,EAC1C,CAAU,EACV,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAIxB,KAAiC,EAAE,MAAc;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAChD,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAChE,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,aAAa,GAAkD;gBACnE,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,WAAW;gBACX,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,iBAAiB,EAAE;aACpD,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;oBACjC,OAAO,iBAAiB,CACtB,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;wBAC1D,OAAO,MAAM,CAAC;oBAChB,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAClC,KAAK,CAAC,iBAAiB,CACxB,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gCAC/B,OAAO,EAAE,8BAA8B;gCACvC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;6BAC3C,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,gCAAgC,CACxC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACzE,MAAM,EACN,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,gCAAgC,EAAE,CAAC;oBAClD,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAC/B,wCAAwC,CAAC,EAAE,EAC3C,CAAU,EACV,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAIlB,MAA2C,EAC3C,OAAmC,EACnC,cAAuB;QAEvB,MAAM,yBAAyB,GAC7B,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB;YAClD,CAAC,CAAC,IAAI,yBAAyB,CAAC;gBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;aAC/C,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,yBAAyB,IAAI,cAAc,EAAE,CAAC;YAChD,yBAAyB,CAAC,cAAc,CAAC;gBACvC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;gBAC1C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;gBAC5C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,kBAAkB,CACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,CACtB,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI;oBACvD,IAAI,EAAE,qBAAqB;iBAC5B,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAChE,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAC7C,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB;wBAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EACpC,CAAC;wBACD,MAAM,IAAI,SAAS,CACjB,2CAA2C,EAC3C,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,MAAM,UAAU,GACd,MAAM,qCAAqC,CACzC,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,MAAM,CAAC,KAAK,CAAC,sBAAoD,EACjE,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;oBAEJ,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAEvC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CACrC,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAC9C,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;oBAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBAC1D,wEAAwE;wBACxE,OAAO;oBACT,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBACtD,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAC;4BAC/C,IAAI,EAAE;gCACJ,IAAI,EAAE,YAAY,CAAC,IAAI;gCACvB,QAAQ,EAAE,YAAY;gCACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gCAC/B,WAAW,EAAE,YAAY,CAAC,gBAAgB;6BAC3C;yBACF,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;wBACvC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACjD,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACvD,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC;4BACvC,OAAO,EAAE,oBAAoB;4BAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;yBAC5C,CAAC,CAAC;wBACH,MAAM,IAAI,qBAAqB,CAC7B,cAAc,MAAM,CAAC,KAAK,CAAC,SAAS,YAAY,EAChD,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,KAAK,CACV,iBAAiB,YAAY,CAAC,IAAI,UAAU,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CACzE,CAAC;oBAEF,MAAM,iBAAiB,GACrB,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC/D,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;oBAChE,IAAI,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAE/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/C,CAAC;oBAED,IAAI,aAAa,GAAG;wBAClB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC5B,GAAG,YAAY,CAAC,aAAa;qBAC9B,CAAC;oBACF,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC;oBACtD,aAAa,GAAG,wCAAwC,CACtD,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,aAAa,CACd,CAAC;oBACF,aAAa,GAAG,oBAAoB,CAClC,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,aAAa,CACd,CAAC;oBAEF,MAAM,SAAS,GAAG,yBAAyB;wBACzC,CAAC,CAAC,yBAAyB,CAAC,YAAY,CACpC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAChB;wBACH,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAEhD,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACnC,YAAY,CAAC,IAAI,CACf,aAAa,EACb,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,YAAY,CACb,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAChE,CAAC;oBAED,IAAI,aAAa,GAA8B,SAAS,CAAC;oBAEzD,MAAM,kBAAkB,GACtB,yBAAyB,EAAE,kBAAkB;wBAC7C,OAAO,CAAC,kBAAkB,CAAC;oBAC7B,MAAM,cAAc,GAClB,yBAAyB,EAAE,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;oBAEtE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,mBAAmB,CAAC;wBAClD,kBAAkB,EAAE,MAAM,YAAY,CAAC,eAAe,CACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,CACtB;wBACD,MAAM,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC3D,iEAAiE;wBACjE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3D,KAAK,EAAE,SAAS;wBAChB,kBAAkB;wBAClB,cAAc;wBACd,aAAa;wBACb,KAAK,EAAE,eAAe;wBACtB,QAAQ,EAAE,kBAAkB;wBAC5B,UAAU,EAAE,oCAAoC,CAC9C,YAAY,CAAC,UAAU,CACxB;wBACD,OAAO,EAAE,UAAU,CACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACtC;wBACD,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,EAAE,CAAC;wBACH,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACnC,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACzD,aAAa,GAAG;gCACd,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gCACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gCAC9B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;6BAC/B,CAAC;wBACJ,CAAC;wBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACrB,4EAA4E;4BAC5E,wEAAwE;4BACxE,OAAO;wBACT,CAAC;wBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrD,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,kBAAkB,CAC1B,yCAAyC,EACzC,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC;oBAC/C,yBAAyB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAElE,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,YAAY,EACZ,KAAK,EACL,QAAQ,CACT,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;oBAExD,yEAAyE;oBACzE,+DAA+D;oBAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC1B,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBACjE,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,0BAA0B,CACjD,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EACnC,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;oBAEF,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE;wBACrC,SAAS,EAAE,YAAY;qBACxB,CAAC,CAAC;oBAEH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CACrC,YAAY,EACZ,iBAAiB,CAAC,SAAS,CAC5B,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAClD,CAAC;gBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAChE,MAAM,IAAI,CAAC,oBAAoB,CAC7B,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CACjC,CAAC;oBACF,IAAI,CAAC,IAAI,CACP,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CACjC,CAAC;oBACF,YAAY,CAAC,IAAI,CACf,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CACjC,CAAC;oBACF,OAAO;gBACT,CAAC;qBAAM,IACL,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAC3D,CAAC;oBACD,uDAAuD;oBACvD,OAAO;gBACT,CAAC;qBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY;wBACpD,EAAE,QAAkB,CAAC;oBACvB,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACnC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;wBACrC,gBAAgB,EAAE,CAAC;oBACrB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBAC3C,MAAM,CAAC,QAAQ,CACb,IAAI,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAC3D,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAEtC,gEAAgE;oBAChE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG;wBAC1B,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBACtC,OAAO,EAAE,oBAAoB;oBAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACnC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;gBACD,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAIxB,KAAa,EACb,KAA6D,EAC7D,OAAoC;QAEpC,OAAO,GAAG,OAAO,IAAK,EAAiC,CAAC;QACxD,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE;YACnC,qCAAqC;YACrC,MAAM,cAAc,GAAG,KAAK,YAAY,QAAQ,CAAC;YACjD,MAAM,KAAK,GAA+B,cAAc;gBACtD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,QAAQ,CACV,OAAO,CAAC,OAAO,YAAY,UAAU;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACnC,KAAkC,EAClC,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CACtC,CAAC;YAEN,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAmB;gBACrD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK;aACN,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC;YAEtD,4CAA4C;YAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAC3C,MAAM,EACN,OAAO,EACP,cAAc,CACf,CAAC,IAAI,CACJ,GAAG,EAAE;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CACF,CAAC;YAEF,6EAA6E;YAC7E,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;YAEhD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAkCD,GAAG,CACD,KAAa,EACb,KAA6D,EAC7D,UAA0C;QACxC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,SAAS;KACe;QAInC,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACxC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CACrB,KAAK,IAAI,EAAE;YACT,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,EACD;YACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACpC,CACF,CAAC;IACJ,CAAC;CACF;AAED,IAAI,cAAc,GAAuB,SAAS,CAAC;AACnD,SAAS,gBAAgB;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,cAAc,GAAG,IAAI,MAAM,EAAE,CAAC;IAC9B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,UAA0B,EAC1B,cAA0C;IAE1C,mGAAmG;IACnG,2EAA2E;IAC3E,uEAAuE;IACvE,IACE,CAAC,OAAO,UAAU,KAAK,QAAQ;QAC7B,UAAU,KAAK,KAAK,CAAC,yBAAyB,CAAC;QACjD,UAAU,CAAC,mBAAmB;MAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,cAAc,IAAI,UAAU,IAAI,KAAK,CAAC,yBAAyB,CAAC;AACzE,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,KAA6D,EAC7D,OAAoE;IAEpE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,wCAAwC,CAC/C,iBAA0B,EAC1B,kBAAiC,EACjC,WAA2B,EAC3B,aAA4B;IAE5B;IACE,oDAAoD;IACpD,aAAa,EAAE;QACf,qCAAqC;QACrC,iBAAiB;QACjB,qCAAqC;QACrC,CAAC,OAAO,WAAW,KAAK,QAAQ;YAC9B,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS;YACzC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS;YAC/C,kBAAkB,CAAC,YAAoB,EAAE,gBAAgB,CAAC,EAC7D,CAAC;QACD,MAAM,mBAAmB,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;QACjD,wEAAwE;QACxE,OAAO,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC;QACnD,OAAQ,mBAAmB,CAAC,YAAoB,EAAE,IAAI,EAAE,SAAS,CAAC;QAClE,OAAQ,mBAAmB,CAAC,YAAoB,EAAE,gBAAgB,CAAC;QACnE,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5C,OAAO,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/C,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -23,19 +23,18 @@ export declare class RunContext<TContext = UnknownContext> {
23
23
  /**
24
24
  * Check if a tool call has been approved.
25
25
  *
26
- * @param toolName - The name of the tool.
27
- * @param callId - The call ID of the tool call.
26
+ * @param approval - Details about the tool call being evaluated.
28
27
  * @returns `true` if the tool call has been approved, `false` if blocked and `undefined` if not yet approved or rejected.
29
28
  */
30
- isToolApproved({ toolName, callId }: {
29
+ isToolApproved(approval: {
31
30
  toolName: string;
32
31
  callId: string;
33
32
  }): boolean | undefined;
34
33
  /**
35
34
  * Approve a tool call.
36
35
  *
37
- * @param toolName - The name of the tool.
38
- * @param callId - The call ID of the tool call.
36
+ * @param approvalItem - The tool approval item to approve.
37
+ * @param options - Additional approval behavior options.
39
38
  */
40
39
  approveTool(approvalItem: RunToolApprovalItem, { alwaysApprove }?: {
41
40
  alwaysApprove?: boolean;
@@ -40,11 +40,11 @@ class RunContext {
40
40
  /**
41
41
  * Check if a tool call has been approved.
42
42
  *
43
- * @param toolName - The name of the tool.
44
- * @param callId - The call ID of the tool call.
43
+ * @param approval - Details about the tool call being evaluated.
45
44
  * @returns `true` if the tool call has been approved, `false` if blocked and `undefined` if not yet approved or rejected.
46
45
  */
47
- isToolApproved({ toolName, callId }) {
46
+ isToolApproved(approval) {
47
+ const { toolName, callId } = approval;
48
48
  const approvalEntry = this.#approvals.get(toolName);
49
49
  if (approvalEntry?.approved === true && approvalEntry.rejected === true) {
50
50
  logger_1.default.warn('Tool is permanently approved and rejected at the same time. Approval takes precedence');
@@ -77,8 +77,8 @@ class RunContext {
77
77
  /**
78
78
  * Approve a tool call.
79
79
  *
80
- * @param toolName - The name of the tool.
81
- * @param callId - The call ID of the tool call.
80
+ * @param approvalItem - The tool approval item to approve.
81
+ * @param options - Additional approval behavior options.
82
82
  */
83
83
  approveTool(approvalItem, { alwaysApprove = false } = {}) {
84
84
  const toolName = approvalItem.rawItem.name;
@@ -1 +1 @@
1
- {"version":3,"file":"runContext.js","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runContext.js","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}
@@ -34,11 +34,11 @@ export class RunContext {
34
34
  /**
35
35
  * Check if a tool call has been approved.
36
36
  *
37
- * @param toolName - The name of the tool.
38
- * @param callId - The call ID of the tool call.
37
+ * @param approval - Details about the tool call being evaluated.
39
38
  * @returns `true` if the tool call has been approved, `false` if blocked and `undefined` if not yet approved or rejected.
40
39
  */
41
- isToolApproved({ toolName, callId }) {
40
+ isToolApproved(approval) {
41
+ const { toolName, callId } = approval;
42
42
  const approvalEntry = this.#approvals.get(toolName);
43
43
  if (approvalEntry?.approved === true && approvalEntry.rejected === true) {
44
44
  logger.warn('Tool is permanently approved and rejected at the same time. Approval takes precedence');
@@ -71,8 +71,8 @@ export class RunContext {
71
71
  /**
72
72
  * Approve a tool call.
73
73
  *
74
- * @param toolName - The name of the tool.
75
- * @param callId - The call ID of the tool call.
74
+ * @param approvalItem - The tool approval item to approve.
75
+ * @param options - Additional approval behavior options.
76
76
  */
77
77
  approveTool(approvalItem, { alwaysApprove = false } = {}) {
78
78
  const toolName = approvalItem.rawItem.name;
@@ -1 +1 @@
1
- {"version":3,"file":"runContext.mjs","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runContext.mjs","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}
package/dist/tool.d.ts CHANGED
@@ -103,9 +103,8 @@ export type HostedMCPTool<Context = UnknownContext> = HostedTool & {
103
103
  /**
104
104
  * Creates a hosted MCP tool definition.
105
105
  *
106
- * @param serverLabel - The label identifying the MCP server.
107
- * @param serverUrl - The URL of the MCP server.
108
- * @param requireApproval - Whether tool calls require approval.
106
+ * @param options - Configuration for the hosted MCP tool, including server connection details
107
+ * and approval requirements.
109
108
  */
110
109
  export declare function hostedMcpTool<Context = UnknownContext>(options: {
111
110
  allowedTools?: string[] | {
package/dist/tool.js CHANGED
@@ -30,9 +30,8 @@ function computerTool(options) {
30
30
  /**
31
31
  * Creates a hosted MCP tool definition.
32
32
  *
33
- * @param serverLabel - The label identifying the MCP server.
34
- * @param serverUrl - The URL of the MCP server.
35
- * @param requireApproval - Whether tool calls require approval.
33
+ * @param options - Configuration for the hosted MCP tool, including server connection details
34
+ * and approval requirements.
36
35
  */
37
36
  function hostedMcpTool(options) {
38
37
  if ('serverUrl' in options) {
package/dist/tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":";;;;;AA8HA,oCAQC;AAsBD,sCA0HC;AAoUD,oBAkHC;AAnsBD,wDAAkD;AAClD,4CAAmD;AACnD,4CAAgE;AAChE,sDAAiD;AAGjD,wCAAyD;AACzD,yDAA8B;AAC9B,gDAA2C;AAE3C,wDAAoD;AAqGpD;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,OAAqE;IAErE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,sBAAsB;QAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAgBD;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,OA8BG;IAEH,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAC3B,oDAAoD;QACpD,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW;YAC9C,OAAO,CAAC,eAAe,KAAK,OAAO;YACjC,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,gBAAgB,EAAE,OAAO;gBACzB,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5D,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5D,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EACd,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;oBACzC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC,CAAC;QACR,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,YAAY;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QACpC,sBAAsB;QACtB,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW;YAC9C,OAAO,CAAC,eAAe,KAAK,OAAO;YACjC,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,gBAAgB,EAAE,OAAO;gBACzB,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5D,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5D,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EACd,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;oBACzC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC,CAAC;QACR,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,YAAY;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW;YAC9C,OAAO,CAAC,eAAe,KAAK,OAAO;YACjC,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,gBAAgB,EAAE,OAAO;gBACzB,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;aAC7D;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5D,gBAAgB,EACd,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;oBACzC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC,CAAC;QACR,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,YAAY;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAuLD;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,OAAmB,EAAE,KAAsB;IAC3E,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,sEAAsE,OAAO,EAAE,CAAC;AACzF,CAAC;AA4HD;;;;;GAKG;AACH,SAAgB,IAAI,CAKlB,OAA0C;IAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;QACvB,CAAC,CAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,aAAa,KAAK,WAAW;QAC1C,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAE5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IAC1C,IAAI,CAAC,UAAU,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,kBAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,uCAA+B,EACpE,OAAO,CAAC,UAAU,EAClB,IAAI,CACL,CAAC;IAEF,KAAK,UAAU,OAAO,CACpB,UAA+B,EAC/B,KAAa,EACb,OAAiD;QAEjD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,IAAA,yBAAW,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,gBAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,gBAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,IAAI,2BAAkB,CAAC,6BAA6B,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,gBAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,gBAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,gBAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,gBAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,cAAc,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,UAA+B,EAC/B,KAAa,EACb,OAAiD;QAEjD,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAS,CAAC,KAAK,EAAE,EAAE;YACjE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;gBACrC,WAAW,EAAE,QAAQ,CAAC;oBACpB,OAAO,EAAE,gCAAgC;oBACzC,IAAI,EAAE;wBACJ,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;qBACxB;iBACF,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;QACzC,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,KAAK,IAAI,EAAE,CACT,OAAO,OAAO,CAAC,aAAa,KAAK,SAAS;YACxC,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,KAAK,CAAC;IAElB,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU;QACrC,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,SAA0C,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACH,CAAC,CAAC,KAAK,IAAI,EAAE,CACT,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU;QACV,MAAM,EAAE,UAAU;QAClB,MAAM;QACN,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,eAG7B;IACC,MAAM,MAAM,GAGR,EAAE,CAAC;IACP,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAA6D;IAE7D,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;AACvD,CAAC"}
package/dist/tool.mjs CHANGED
@@ -22,9 +22,8 @@ export function computerTool(options) {
22
22
  /**
23
23
  * Creates a hosted MCP tool definition.
24
24
  *
25
- * @param serverLabel - The label identifying the MCP server.
26
- * @param serverUrl - The URL of the MCP server.
27
- * @param requireApproval - Whether tool calls require approval.
25
+ * @param options - Configuration for the hosted MCP tool, including server connection details
26
+ * and approval requirements.
28
27
  */
29
28
  export function hostedMcpTool(options) {
30
29
  if ('serverUrl' in options) {
package/dist/tool.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.mjs","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.mjs","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}