@ibgib/web-gib 0.0.5 → 0.0.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.
@@ -1,4 +1,4 @@
1
- import { GoogleGenerativeAI } from '@google/generative-ai';
1
+ import { GoogleGenAI } from '@google/genai';
2
2
  import { Ib } from '@ibgib/ts-gib/dist/types.mjs';
3
3
  import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
4
4
  import { CommentIbGib_V1 } from '@ibgib/core-gib/dist/common/comment/comment-types.mjs';
@@ -6,7 +6,7 @@ import { AddTextsOpts, AgentWitnessData_V1, AgentWitnessRel8ns_V1, PromptOneOffO
6
6
  import { PromptAPIResult_Gemini, PromptInfoEntryGemini, PromptInfoGemini } from './gemini-types.mjs';
7
7
  import { FunctionInfoIbGib_V1 } from '../function-info/function-info-one-file.mjs';
8
8
  import { AgentWitness_V1 } from '../agent-one-file.mjs';
9
- export declare class AgentWitnessGemini_V1 extends AgentWitness_V1<GoogleGenerativeAI, PromptInfoGemini, PromptAPIResult_Gemini> {
9
+ export declare class AgentWitnessGemini_V1 extends AgentWitness_V1<GoogleGenAI, PromptInfoGemini, PromptAPIResult_Gemini> {
10
10
  protected lc: string;
11
11
  protected validateThis(): Promise<string[]>;
12
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-witness-gemini-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAAA,OAAO,EAE0C,kBAAkB,EAClE,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,EAAE,EAA8B,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAgC,MAAM,iCAAiC,CAAC;AAIzF,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAOxF,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAwB,qBAAqB,EAC9E,gBAAgB,EACnB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAA4B,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAQ7G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,qBAAa,qBACT,SAAQ,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;IAIrF,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;cAEhC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA2B1D;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,EAAE,CAAC;KAAE,GAAG,YAAY;IAanE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuJxD,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA8EpC,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;cA+J7E,wCAAwC,CAAC,EACrD,YAAY,GACf,EAAE;QACC,YAAY,EAAE,eAAe,CAAC;KACjC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA0FrB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2HhF;;;;;;;;;;OAUG;IACG,qBAAqB,CAAC,EACxB,eAAe,EAClB,EAAE;QACC;;;WAGG;QACH,eAAe,EAAE,eAAe,CAAA;KACnC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmDnC;;;OAGG;IACY,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6FxG;AAyBD,wBAAgB,mCAAmC,CAAC,EAChD,qBAAqB,EACxB,EAAE;IACC,qBAAqB,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAiBT"}
1
+ {"version":3,"file":"agent-witness-gemini-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAQA,OAAO,EACqC,WAAW,EAEtD,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,EAAE,EAA8B,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAgC,MAAM,iCAAiC,CAAC;AAIzF,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAOxF,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAwB,qBAAqB,EAC9E,gBAAgB,EACnB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAA4B,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAK7G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,qBAAa,qBACT,SAAQ,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;IAK9E,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;cAEhC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA2B1D;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,EAAE,CAAC;KAAE,GAAG,YAAY;IAanE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuJxD,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA+EpC,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;cA+N7E,wCAAwC,CAAC,EACrD,YAAY,GACf,EAAE;QACC,YAAY,EAAE,eAAe,CAAC;KACjC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAgGrB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA4IhF;;;;;;;;;;OAUG;IACG,qBAAqB,CAAC,EACxB,eAAe,EAClB,EAAE;QACC;;;WAGG;QACH,eAAe,EAAE,eAAe,CAAA;KACnC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmDnC;;;OAGG;IACY,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6FxG;AAyBD,wBAAgB,mCAAmC,CAAC,EAChD,qBAAqB,EACxB,EAAE;IACC,qBAAqB,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAiBT"}
@@ -1,9 +1,11 @@
1
- import { FunctionCallingMode, GoogleGenerativeAI, } from '@google/generative-ai';
1
+ import { GoogleGenAI, FunctionCallingConfigMode, } from '@google/genai';
2
2
  import { clone, delay, extractErrorMsg, getTimestampInTicks, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
3
3
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
4
4
  import { ROOT_ADDR } from '@ibgib/ts-gib/dist/V1/constants.mjs';
5
5
  import { getGibInfo } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
6
6
  import { createCommentIbGib, parseCommentIb } from '@ibgib/core-gib/dist/common/comment/comment-helper.mjs';
7
+ import { execInSpaceWithLocking } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
8
+ import { appendToTimeline } from '@ibgib/core-gib/dist/timeline/timeline-api.mjs';
7
9
  import { GLOBAL_LOG_A_LOT } from '../../../constants.mjs';
8
10
  import { getAllFunctionInfos, getDeprecatedFunctionInfoNames } from '../../../api/api-index.mjs';
9
11
  import { getAddlMetadataTextForAgentText, parseAddlMetadataTextForAgentText, validateAgentWitnessCommentIbGib } from '../agent-helpers.mjs';
@@ -11,14 +13,12 @@ import { getFunctionCallAndResponseParts, isFunctionCallRequestComment, isPrompt
11
13
  import { FUNCTION_INFO_REL8N_NAME } from '../function-info/function-info-one-file.mjs';
12
14
  import { agentIbGibDtoToWitness } from './gemini-agent-factory.mjs';
13
15
  import { getAgentsSvc } from '../agents-service-v1.mjs';
14
- import { GEMINI_BACKUP_MODEL_STR, GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO, GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY, GEMINI_ERROR_STATUS_MODEL_OVERLOADED, GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED, GEMINI_MAX_TRY_COUNT } from './gemini-constants.mjs';
16
+ import { GEMINI_BACKUP_MODEL_STR, GEMINI_ERROR_STATUS_MODEL_OVERLOADED, GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED, GEMINI_MAX_TRY_COUNT } from './gemini-constants.mjs';
15
17
  import { AGENT_REL8N_NAME, TextSource } from '../agent-constants.mjs';
16
- // import { appendToTimeline, getLockScope, mut8Timeline, Rel8nInfo } from '../../../api/timeline/timeline-api.mjs';
17
- import { execInSpaceWithLocking } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
18
- import { appendToTimeline } from '@ibgib/core-gib/dist/timeline/timeline-api.mjs';
19
18
  import { AgentWitness_V1 } from '../agent-one-file.mjs';
20
19
  const logalot = GLOBAL_LOG_A_LOT;
21
20
  export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
21
+ // extends AgentWitness_V1<GoogleGenerativeAI, PromptInfoGemini, PromptAPIResult_Gemini> {
22
22
  // witness(arg: IbGib_V1): Promise<IbGib_V1 | undefined> {
23
23
  // throw new Error('Method not implemented.');
24
24
  // }
@@ -252,7 +252,8 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
252
252
  text: getTextPartForCurrentContextTjpAddr({
253
253
  currentContextTjpAddr
254
254
  })
255
- }
255
+ } // see genai migration note at top of this file
256
+ // } satisfies TextPart
256
257
  ],
257
258
  }
258
259
  });
@@ -335,7 +336,8 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
335
336
  text: 'no api key entered so no LLM chat happening. enter a gemini api key and donate/invest!',
336
337
  }; /* <<<< returns early */
337
338
  }
338
- this._genAI ??= new GoogleGenerativeAI(apiKey);
339
+ this._genAI ??= new GoogleGenAI({ apiKey });
340
+ // this._genAI ??= new GoogleGenerativeAI(apiKey);
339
341
  const functionDeclarations = Array.from(this.availableFunctions.values()).map((x) => ({
340
342
  name: x.nameOrId,
341
343
  description: x.schema?.description,
@@ -375,6 +377,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
375
377
  // this.transientDecompressionPromptText = undefined;
376
378
  // }
377
379
  let result = undefined;
380
+ // let result: GenerateContentResult | undefined = undefined;
378
381
  /**
379
382
  * need to be able to call this function with retries with different
380
383
  * models, depending on error code received when generating text.
@@ -388,32 +391,65 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
388
391
  * @param modelStr to use
389
392
  * @param isRetry if true, this indicates this is aleady a retry and should throw if fails
390
393
  */
394
+ // const fnGoModel = async (modelStr: string) => {
395
+ // if (!this._genAI) { throw new Error(`(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)`); }
396
+ // const genModel = this._genAI.getGenerativeModel({
397
+ // model: modelStr,
398
+ // systemInstruction: systemPromptEntriesToSystemInstructionContent({ systemPromptEntries }),
399
+ // tools: [{ functionDeclarations }],
400
+ // toolConfig: {
401
+ // functionCallingConfig: {
402
+ // // mode: FunctionCallingMode.AUTO, // can be either text or function call, this is the default
403
+ // mode:
404
+ // info.overrideFunctionCallingMode ??
405
+ // FunctionCallingMode.ANY, // MANDATES a function call. If this is not used, the model gets confused, but maybe this will be fixed after we get better function response feedback in place.
406
+ // },
407
+ // },
408
+ // });
409
+ // /**
410
+ // * We start a "chat", _BUT ONLY TO USE THE HISTORY MECHANISM_.
411
+ // * Really we use this as a one-off, but we do not know how to mimic
412
+ // * the "history" so that the model understands to only respond to
413
+ // * the most recent prompt.
414
+ // */
415
+ // const chat = genModel.startChat({
416
+ // history: chatPromptHistoryParts.map(x => x.content),
417
+ // });
418
+ // result = await chat.sendMessage(chatPromptCurrent.content.parts);
419
+ // return result;
420
+ // }
421
+ // interface ChatConfigParams {
422
+ // model: string;
423
+ // history: Content[];
424
+ // config: GenerateContentConfig;
425
+ // }
391
426
  const fnGoModel = async (modelStr) => {
392
427
  if (!this._genAI) {
393
428
  throw new Error(`(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)`);
394
429
  }
395
- const genModel = this._genAI.getGenerativeModel({
430
+ const historyContents = chatPromptHistoryParts.map(x => x.content);
431
+ const chatConfig = {
396
432
  model: modelStr,
397
- systemInstruction: systemPromptEntriesToSystemInstructionContent({ systemPromptEntries }),
398
- tools: [{ functionDeclarations }],
399
- toolConfig: {
400
- functionCallingConfig: {
401
- // mode: FunctionCallingMode.AUTO, // can be either text or function call, this is the default
402
- mode: info.overrideFunctionCallingMode ??
403
- FunctionCallingMode.ANY, // MANDATES a function call. If this is not used, the model gets confused, but maybe this will be fixed after we get better function response feedback in place.
433
+ history: historyContents,
434
+ config: {
435
+ systemInstruction: systemPromptEntriesToSystemInstructionContent({ systemPromptEntries }),
436
+ tools: [{ functionDeclarations }],
437
+ toolConfig: {
438
+ functionCallingConfig: {
439
+ mode: info.overrideFunctionCallingMode ?? FunctionCallingConfigMode.ANY,
440
+ },
404
441
  },
405
- },
406
- });
407
- /**
408
- * We start a "chat", _BUT ONLY TO USE THE HISTORY MECHANISM_.
409
- * Really we use this as a one-off, but we do not know how to mimic
410
- * the "history" so that the model understands to only respond to
411
- * the most recent prompt.
412
- */
413
- const chat = genModel.startChat({
414
- history: chatPromptHistoryParts.map(x => x.content),
415
- });
416
- result = await chat.sendMessage(chatPromptCurrent.content.parts);
442
+ }
443
+ };
444
+ const chat = this._genAI.chats.create(chatConfig);
445
+ // The 'sendMessage' method requires a `message` property in its parameters object.
446
+ // The message content itself can be a string or Part[] (PartListUnion).
447
+ // Prepare the message parameters:
448
+ const messageParams = {
449
+ message: chatPromptCurrent.content.parts, // Cast to Part[] to satisfy the type
450
+ };
451
+ // The result is typed as GenerateContentResponse
452
+ const result = await chat.sendMessage(messageParams);
417
453
  return result;
418
454
  };
419
455
  let tryCount = 0;
@@ -425,7 +461,10 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
425
461
  break;
426
462
  }
427
463
  catch (error) {
428
- if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) {
464
+ const errorMessage = error.message;
465
+ const status = error.status ?? '[STATUS?]';
466
+ // if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) {
467
+ if (errorMessage.includes(`${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}`)) {
429
468
  // model is overloaded, try using the backup
430
469
  console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: a5cd7d174183518058da57cc6d0d8a25)`);
431
470
  modelStr = GEMINI_BACKUP_MODEL_STR;
@@ -440,13 +479,27 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
440
479
  throw new Error(`couldn't get result from model (E: ede013a53f875d99a96a2e257c7e7125)`);
441
480
  }
442
481
  // const result = await genModel.generateContent(finalChatPrompt);
443
- const enhancedResult = result.response;
444
- const functionCalls = enhancedResult.functionCalls();
482
+ // const enhancedResult = result.response as EnhancedGenerateContentResponse;
483
+ // const functionCalls = enhancedResult.functionCalls();
484
+ // The 'result' IS the GenerateContentResponse object directly.
485
+ const response = result;
486
+ // Function calls are no longer accessed via a method, but by manually scanning the 'candidates' structure.
487
+ // We need a way to extract the function calls from the parts array manually.
488
+ const functionCalls = [];
489
+ const parts = response.candidates?.[0]?.content?.parts || [];
490
+ for (const part of parts) {
491
+ if (part.functionCall) {
492
+ functionCalls.push(part.functionCall);
493
+ }
494
+ }
445
495
  if (!functionCalls || functionCalls.length === 0) {
446
496
  if (logalot) {
447
497
  console.warn(`${lc} no function calls in response, returning text. (W: 3a4b8c940983b9e28e3f04c01a09bb25)`);
448
498
  }
449
- return { text: result.response.text() };
499
+ if (!response.text) {
500
+ throw new Error(`response generated no function calls and no response.text (E: 6123b8cacfb834105ad3160cfc4ef825)`);
501
+ }
502
+ return { text: response.text };
450
503
  }
451
504
  if (logalot) {
452
505
  console.log(`${lc} Gemini function calls:`);
@@ -502,6 +555,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
502
555
  // one containing info for a part of the function call entry and a
503
556
  // part for the function response entry.
504
557
  const functionInfoIbGibs = await this.getFunctionInfoIbGibs({ fcrCommentIbGib: commentIbGib });
558
+ // const functionCallParts: Part[] = [];
505
559
  const functionCallParts = [];
506
560
  const functionResponseParts = [];
507
561
  for (let functionInfoIbGib of functionInfoIbGibs) {
@@ -550,7 +604,12 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
550
604
  // text: commentIbGib.data.text,
551
605
  content: {
552
606
  role: textSourceToGeminiRole(textSrc),
553
- parts: [{ text: commentIbGib.data.text }],
607
+ parts: [
608
+ {
609
+ text: commentIbGib.data.text
610
+ } // see genai migration note at top of this file
611
+ // } satisfies TextPart
612
+ ],
554
613
  }
555
614
  }];
556
615
  }
@@ -591,7 +650,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
591
650
  console.error(`${lc} apiKey falsy. did you set this.fnGetAPIKey (E: genuuid)`);
592
651
  return undefined; /* <<<< returns early */
593
652
  }
594
- this._genAI ??= new GoogleGenerativeAI(apiKey);
653
+ this._genAI ??= new GoogleGenAI({ apiKey });
595
654
  /**
596
655
  * need to be able to call this function with retries with different
597
656
  * models, depending on error code received when generating text.
@@ -607,28 +666,32 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
607
666
  */
608
667
  const fnGoModel = async (modelStr) => {
609
668
  if (!this._genAI) {
610
- throw new Error(`(UNEXPECTED) this._genAI falsy? (E: genuuid)`);
669
+ throw new Error(`(UNEXPECTED) this._genAI falsy? (E: fbe235713d48f0d8e87cd0b88ec54825)`);
611
670
  }
612
- const genModel = this._genAI.getGenerativeModel({
671
+ const chatConfig = {
613
672
  model: modelStr,
614
- systemInstruction: systemInstructions,
615
- });
616
- /**
617
- * We start a "chat", _BUT ONLY TO USE THE HISTORY MECHANISM_.
618
- * Really we use this as a one-off, but we do not know how to mimic
619
- * the "history" so that the model understands to only respond to
620
- * the most recent prompt.
621
- */
622
- // const chat = genModel.startChat({
623
- // history: chatPromptHistoryParts.map(x => x.content),
624
- // });
625
- const result = await genModel.generateContent(text);
626
- if (result.response) {
627
- return result.response.text();
673
+ config: {
674
+ systemInstruction: systemInstructions,
675
+ }
676
+ };
677
+ const chat = this._genAI.chats.create(chatConfig);
678
+ const response = await chat.sendMessage({ message: text });
679
+ if (response.text) {
680
+ return response.text;
628
681
  }
629
682
  else {
630
- throw new Error(`not implemented (E: bbf05fe00da23d5b16c223bd200eaa25)`);
683
+ throw new Error(`response.text empty/falsy, potentially blocked by safety settings (E: a21a78c9471f27a42c07d1c859187825)`);
631
684
  }
685
+ // const genModel = this._genAI.getGenerativeModel({
686
+ // model: modelStr,
687
+ // systemInstruction: systemInstructions,
688
+ // });
689
+ // const result = await genModel.generateContent(text);
690
+ // if (result.response) {
691
+ // return result.response.text();
692
+ // } else {
693
+ // throw new Error(`not implemented (E: bbf05fe00da23d5b16c223bd200eaa25)`);
694
+ // }
632
695
  };
633
696
  let result = undefined;
634
697
  let tryCount = 0;
@@ -638,53 +701,63 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
638
701
  tryCount++;
639
702
  retryDelayInSeconds++;
640
703
  try {
641
- let x;
704
+ debugger; // step through the new error mechanism and look for how to determine if the model is overloaded vs quota exceeded
705
+ // let x: ErrorDetails
642
706
  result = await fnGoModel(modelStr);
643
707
  break;
644
708
  }
645
709
  catch (error) {
646
- if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) {
647
- if (modelStr === GEMINI_BACKUP_MODEL_STR) {
648
- // already is the backup model, so we just fail
649
- console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. we are already using the backup model, so SOL here. will try again... error (${error.status}): ${extractErrorMsg(error)} (E: 9bb63cb520b8bd3bb85d2ca20715c825)`);
650
- }
651
- else {
652
- // model is overloaded, try using the backup
653
- console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: b07a041bb97ea95b03cd6f9856f01525)`);
654
- modelStr = GEMINI_BACKUP_MODEL_STR;
655
- }
656
- }
657
- else if (error.status && error.status === GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED) {
658
- // quota exceeded, either try backup or wait for retry
659
- if (modelStr === GEMINI_BACKUP_MODEL_STR) {
660
- // nothing else to try, wait retry amount if possible
661
- let errorDetails = error.errorDetails;
662
- let retryInfo = errorDetails.find(x => x['@type'] === GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO);
663
- retryDelayInSeconds = 30;
664
- if (retryInfo && retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]) {
665
- // get more accurate wait time
666
- let retryStr = retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY];
667
- // retryStr from testing is in seconds, e.g., "41s". IF it's longer than a minute, I don't know/care (too long)
668
- if (retryStr.match(/^\d+s$/)) {
669
- // valid retry str in seconds
670
- retryDelayInSeconds = Number.parseInt(retryStr.substring(0, retryStr.length - 1));
671
- if (Number.isNaN(retryDelayInSeconds)) {
672
- retryDelayInSeconds = 30;
673
- }
674
- }
675
- else {
676
- retryDelayInSeconds = 30;
677
- console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. Could not find valid retryInfo (errorDetails with retry info with a ${GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY} with an "s"). So we'll just try waiting ${retryDelayInSeconds} seconds: ${extractErrorMsg(error)} (E: 986d9883fc72bf156f1691183e27ee25)`);
678
- }
710
+ if (error instanceof Error) {
711
+ const errorMessage = error.message;
712
+ const status = error.status ?? '[STATUS?]';
713
+ // if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) // see migration notes at top of file
714
+ if (errorMessage.includes(`${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}`)) {
715
+ if (modelStr === GEMINI_BACKUP_MODEL_STR) {
716
+ // already is the backup model, so we just fail
717
+ console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. we are already using the backup model, so SOL here. will try again... error (${status}): ${extractErrorMsg(error)} (E: 9bb63cb520b8bd3bb85d2ca20715c825)`);
718
+ }
719
+ else {
720
+ // model is overloaded, try using the backup
721
+ console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${status}): ${extractErrorMsg(error)} (E: b07a041bb97ea95b03cd6f9856f01525)`);
722
+ modelStr = GEMINI_BACKUP_MODEL_STR;
679
723
  }
724
+ // else if (error.status && error.status === GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED)
725
+ }
726
+ else if (errorMessage.includes(`${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}`)) {
727
+ // quota exceeded, either try backup or wait for retry
728
+ debugger; // examine the error to see if we can manually parse out any information about retry
729
+ throw new Error('examine the error to see if we can manually parse out any information about retry (E: ea2c2e2ef1deadf968cd0558cdfd5a25)');
730
+ // if (modelStr === GEMINI_BACKUP_MODEL_STR) {
731
+ // // nothing else to try, wait retry amount if possible
732
+ // let errorDetails: ErrorDetails[] = error.errorDetails;
733
+ // let retryInfo = errorDetails.find(x => x['@type'] === GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO);
734
+ // retryDelayInSeconds = 30;
735
+ // if (retryInfo && retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]) {
736
+ // // get more accurate wait time
737
+ // let retryStr = retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]! as string;
738
+ // // retryStr from testing is in seconds, e.g., "41s". IF it's longer than a minute, I don't know/care (too long)
739
+ // if (retryStr.match(/^\d+s$/)) {
740
+ // // valid retry str in seconds
741
+ // retryDelayInSeconds = Number.parseInt(retryStr.substring(0, retryStr.length - 1));
742
+ // if (Number.isNaN(retryDelayInSeconds)) {
743
+ // retryDelayInSeconds = 30;
744
+ // }
745
+ // } else {
746
+ // retryDelayInSeconds = 30;
747
+ // console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. Could not find valid retryInfo (errorDetails with retry info with a ${GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY} with an "s"). So we'll just try waiting ${retryDelayInSeconds} seconds: ${extractErrorMsg(error)} (E: 986d9883fc72bf156f1691183e27ee25)`);
748
+ // }
749
+ // }
750
+ // } else {
751
+ // console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: 637ed809c659f55738becab83fc01825)`);
752
+ // }
753
+ // modelStr = GEMINI_BACKUP_MODEL_STR;
680
754
  }
681
755
  else {
682
- console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: 637ed809c659f55738becab83fc01825)`);
756
+ console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model. error (${status}): ${extractErrorMsg(error)} (E: a67d595c8ed313d458369d4d0b3e7f25)`);
683
757
  }
684
- modelStr = GEMINI_BACKUP_MODEL_STR;
685
758
  }
686
759
  else {
687
- console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model. error (${error.status}): ${extractErrorMsg(error)} (E: a67d595c8ed313d458369d4d0b3e7f25)`);
760
+ console.error(`${lc}[fnGoModel][${modelStr}] (UNEXPECTED) error is not instanceof Error? The expected error from the @google/genai lib is supposed to be an instance of Error according to Gemini migration AI. (E: 15df95701e78b35f783d250801092825)`);
688
761
  }
689
762
  }
690
763
  if (tryCount > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-witness-gemini-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-witness-gemini-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAQA,OAAO,EACqC,WAAW,EAC7B,yBAAyB,GAClD,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAG7H,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAa,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAKjG,OAAO,EACH,+BAA+B,EAC/B,iCAAiC,EAAE,gCAAgC,EACtE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,+BAA+B,EAAE,4BAA4B,EAC7D,kBAAkB,EAAE,6CAA6C,EACjE,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAwB,MAAM,6CAA6C,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAA8F,oCAAoC,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClQ,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,OAAO,qBACT,SAAQ,eAAsE;IAC9E,0FAA0F;IAC1F,0DAA0D;IAC1D,kDAAkD;IAClD,IAAI;IACM,EAAE,GAAW,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC;IAEtC,KAAK,CAAC,YAAY;QACjC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAE1C,kFAAkF;YAClF,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAA;gBACtG,+CAA+C;gBAC/C,6BAA6B;gBAC7B,gFAAgF;aACnF;iBAAM;gBACH,yCAAyC;gBACzC,uEAAuE;aAC1E;YAED,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAGD;;OAEG;IACO,uBAAuB,CAAe,EAAE,EAAE,EAAe;QAC/D,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC;QAC9D,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,IAAI,KAAK,CAAC,0OAA0O,CAAC,CAAC;SAC/P;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,IAAkB;QACtC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC/C,IAAI;YACA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC;;eAEG;YACH,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,KAAK;aAC3B,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,oIAAoI,CAAC,CAAA;gBACvJ,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,MAAM,wBAAwB,GAAsB,EAAE,CAAC;YACvD,MAAM,2BAA2B,GAAsB,EAAE,CAAC;YAC1D,MAAM,yBAAyB,GAAsB,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,yDAAyD;YACzD,mBAAmB;YACnB,4CAA4C;YAC5C,MAAM;YAEN,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,IAAI,CAAC;gBACnC,IAAI,IAAI,IAAI,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;iBAAE;gBACzI,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;iBAAE;gBACrK,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,YAAY,EAAE;oBACd,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,qEAAqE,CAAC,CAAC;qBAAE;oBACzG,2DAA2D;oBAC3D,yBAAyB;oBAEzB,2DAA2D;oBAC3D,uDAAuD;oBACvD,4BAA4B;oBAE5B,0DAA0D;oBAC1D,4DAA4D;oBAC5D,8DAA8D;oBAC9D,wDAAwD;oBACxD,0DAA0D;oBAC1D,2DAA2D;oBAC3D,MAAM;oBAEN,wDAAwD;iBAC3D;qBAAM;oBACH,8DAA8D;oBAC9D,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2EAA2E,CAAC,CAAC;qBAAE;oBAC/G,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;qBAAE;oBAC7I,MAAM,gBAAgB,GAClB,MAAM,kBAAkB,CAAC;wBACrB,IAAI;wBACJ,gBAAgB;wBAChB,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACP,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC;oBACzC,MAAM,SAAS,CAAC,gBAAgB,CAAC;wBAC7B,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACH,oCAAoC;oBACpC,+CAA+C;oBAC/C,+FAA+F;oBAC/F,2FAA2F;iBAC9F;gBACD,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iIAAiI,CAAC,CAAC;iBAAE;gBAC1K,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,gBAAgB,wCAAwC,CAAC,CAAC;iBAAE;gBAC/K,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE;oBACV,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAClD;qBAAM;oBACH,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAChD;aAEJ;YAED,uEAAuE;YACvE,yBAAyB;YAEzB,MAAM,kBAAkB,GAAgB,EAAE,CAAC;YAC3C,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,GAAG,CAAC,CAAC;aAC1F;YACD,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,CAAC;aACtF;YAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC3B,UAAU,EAAE,kBAAkB;gBAC9B,iBAAiB,EAAE;oBACf,SAAS,EAAE,gBAAgB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAK,CAAC,IAAI;iBACxB;gBACD,SAAS;gBACT,KAAK,EAAE,UAAU;aACpB,CAA0B,CAAC;YAE5B,+BAA+B;YAC/B,oBAAoB;YACpB,8BAA8B;YAC9B,2BAA2B;YAC3B,wFAAwF;YACxF,oFAAoF;YACpF,SAAS;YACT,iBAAiB;YACjB,sBAAsB;YACtB,gDAAgD;YAEhD,kDAAkD;YAClD,6BAA6B;YAC7B,yBAAyB;YACzB,MAAM;YAEN,0CAA0C;YAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,IAAI,EAAE,iFAAiF;aAC7G,CAAC,CAAC;YAEH,qCAAqC;YACrC,4BAA4B;YAC5B,yBAAyB;YACzB,MAAM;YAEN,uBAAuB;YACvB,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;YACjB,yBAAyB;YACzB,6BAA6B;YAC7B,MAAM;YAEN,OAAO,wBAAwB,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC5B,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QACxD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;aACjF;YACD,MAAM,mBAAmB,GAA4B,EAAE,CAAC;YACxD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACtC;YACD,MAAM,qBAAqB,GACvB,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;YACvD,IAAI,qBAAqB,KAAK,SAAS,EAAE;gBACrC,mBAAmB,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,UAAU,CAAC,SAAS;oBACzB,gCAAgC;oBAChC,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC;wBAClD,KAAK,EAAE;4BACH;gCACI,IAAI,EAAE,mCAAmC,CAAC;oCACtC,qBAAqB;iCACxB,CAAC;6BACU,CAAC,+CAA+C;4BAChE,uBAAuB;yBAC1B;qBACJ;iBACJ,CAAC,CAAA;aACL;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iNAAiN,CAAC,CAAC;aAAE;YACjR,MAAM,sBAAsB,GAA4B,EAAE,CAAC;YAC3D,MAAM,yBAAyB,GAC3B,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,MAAM,YAAY,IAAI,yBAAyB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACzC;YAED;;;;eAIG;YACH,IAAI,iBAAwC,CAAC;YAC7C,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,0FAA0F;YAC5J,MAAM,0BAA0B,GAC5B,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACpG,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,UAAU;gBACV,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;aACzD;iBAAM,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,MAAM;gBACN,sBAAsB,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,qBAAqB;gBACrF,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,0BAA0B;aACpF;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,iMAAiM,CAAC,CAAC;aACtN;YAED,MAAM,aAAa,GAAqB;gBACpC,GAAG,EAAE,QAAQ;gBACb,mBAAmB;gBACnB,sBAAsB;gBACtB,iBAAiB;aACpB,CAAC;YAEF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,uCAAuC,CAAC,CAAC;aAAE;YAErH,OAAO,aAAa,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEkB,KAAK,CAAC,WAAW,CAAC,IAAsB;QACvD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oIAAoI,CAAC,CAAC;aAAE;YAEzL,kBAAkB;YAElB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,wCAAwC,CAAC,CAAC;aAAE;YAE7G,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,wCAAwC,CAAC,CAAC;aAAE;YAEpH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAC;gBACxG,OAAO;oBACH,IAAI,EAAE,wFAAwF;iBACjG,CAAC,CAAC,wBAAwB;aAC9B;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,kDAAkD;YAElD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW;gBAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU;aACnC,CAAC,CACL,CAAC;YAEF,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,EAAE;gBAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4HAA4H,CAAC,CAAC;aACpJ;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aACrC;YAED,qBAAqB;YAErB,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;YAGhF;;eAEG;YACH,MAAM,uBAAuB,GAAG,KAAK,CAAC,iBAAiB,CAA0B,CAAC;YAClF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,uBAAuB,CAAC,wCAAwC,CAAC,CAAA;aAAE;YAExJ,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6QAA6Q,CAAC,CAAC;aAAE;YAClT,+CAA+C;YAC/C,yDAAyD;YACzD,8CAA8C;YAC9C,8DAA8D;YAC9D,6BAA6B;YAC7B,UAAU;YACV,gDAAgD;YAChD,yCAAyC;YACzC,SAAS;YACT,uEAAuE;YACvE,iHAAiH;YAEjH,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI;YAEJ,IAAI,MAAM,GAAwC,SAAS,CAAC;YAC5D,6DAA6D;YAE7D;;;;;;;;;;;;eAYG;YACH,kDAAkD;YAClD,sHAAsH;YACtH,wDAAwD;YACxD,2BAA2B;YAC3B,qGAAqG;YACrG,6CAA6C;YAC7C,wBAAwB;YACxB,uCAAuC;YACvC,iHAAiH;YACjH,wBAAwB;YACxB,0DAA0D;YAC1D,gNAAgN;YAChN,iBAAiB;YACjB,aAAa;YACb,UAAU;YACV,UAAU;YACV,qEAAqE;YACrE,0EAA0E;YAC1E,wEAAwE;YACxE,iCAAiC;YACjC,UAAU;YACV,wCAAwC;YACxC,+DAA+D;YAC/D,UAAU;YACV,wEAAwE;YACxE,qBAAqB;YACrB,IAAI;YACJ,+BAA+B;YAC/B,qBAAqB;YACrB,0BAA0B;YAC1B,qCAAqC;YACrC,IAAI;YAEJ,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;iBAC5F;gBAED,MAAM,eAAe,GAAc,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAE9E,MAAM,UAAU,GAAyB;oBACrC,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE;wBACJ,iBAAiB,EAAE,6CAA6C,CAAC,EAAE,mBAAmB,EAAE,CAAC;wBACzF,KAAK,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC;wBACjC,UAAU,EAAE;4BACR,qBAAqB,EAAE;gCACnB,IAAI,EAAE,IAAI,CAAC,2BAA2B,IAAI,yBAAyB,CAAC,GAAG;6BAC1E;yBACJ;qBACJ;iBACJ,CAAC;gBAEF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAElD,mFAAmF;gBACnF,wEAAwE;gBAExE,kCAAkC;gBAClC,MAAM,aAAa,GAA0B;oBACzC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAe,EAAE,qCAAqC;iBAC5F,CAAC;gBAEF,iDAAiD;gBACjD,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAE9E,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,IAAI;oBACA,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBACnC,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,IAAI,WAAW,CAAC;oBAEpD,+EAA+E;oBAC/E,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;wBAClE,4CAA4C;wBAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,yEAAyE,uBAAuB,gCAAgC,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBAC5P,QAAQ,GAAG,uBAAuB,CAAC;qBACtC;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;qBAClL;iBACJ;gBACD,MAAM,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC,0BAA0B;aACjD,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YACrD,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAEzG,kEAAkE;YAClE,6EAA6E;YAC7E,wDAAwD;YAExD,+DAA+D;YAC/D,MAAM,QAAQ,GAA4B,MAAM,CAAC;YAEjD,2GAA2G;YAE3G,6EAA6E;YAC7E,MAAM,aAAa,GAAmB,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzC;aACJ;YAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,uFAAuF,CAAC,CAAC;iBAAE;gBAC5H,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;iBAAE;gBAC3I,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAClC;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC9B;YAED,OAAO;gBACH,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACpE,CAAC;SAEL;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAES,KAAK,CAAC,wCAAwC,CAAC,EACrD,YAAY,GAGf;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,GAAG,CAAC;QACrE,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,mFAAmF,gBAAgB,wCAAwC,CAAC,CAAC;aAChK;YAED,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,gBAAgB,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0KAA0K,CAAC,CAAC;aAAE;YACvN,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,iCAAiC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9H,IAAI,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mNAAmN,CAAC,CAAC;aAAE;YACvP,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;aAAE;YAC3H,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;aAAE;YAErI,MAAM,KAAK,GAAG,4BAA4B,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE;gBACP,kEAAkE;gBAClE,8BAA8B;gBAC9B,sEAAsE;gBACtE,6CAA6C;gBAC7C,kEAAkE;gBAClE,kEAAkE;gBAClE,wCAAwC;gBACxC,MAAM,kBAAkB,GACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;gBACxE,wCAAwC;gBACxC,MAAM,iBAAiB,GAAuB,EAAE,CAAC;gBACjD,MAAM,qBAAqB,GAA2B,EAAE,CAAC;gBACzD,KAAK,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAA+B,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;qBAAE;oBACjG,IAAI,CAAC,QAAQ,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBAAE;oBACzG,IAAI,IAAI,CAAC,YAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE;wBAC5D,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;qBACtH;oBACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxC;gBAED,6DAA6D;gBAC7D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,qFAAqF;gBACrF,6DAA6D;gBAC7D,oEAAoE;gBAEpE,MAAM,iBAAiB,GAA0B;oBAC7C,GAAG,EAAE,UAAU,CAAC,EAAE;oBAClB,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,iBAAiB;qBAC3B;iBACJ,CAAC;gBACF,MAAM,qBAAqB,GAA0B;oBACjD,GAAG,EAAE,UAAU,CAAC,QAAQ;oBACxB,sBAAsB;oBACtB,OAAO,EAAE;wBACL,oDAAoD;wBACpD,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACjD,KAAK,EAAE,qBAAqB;qBAC/B;iBACJ,CAAC;gBAEF,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;aACrD;iBAAM;gBACH,wDAAwD;gBACxD,OAAO,CAAC;wBACJ,GAAG,EAAE,OAAO;wBACZ,gCAAgC;wBAChC,OAAO,EAAE;4BACL,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;4BACrC,KAAK,EAAE;gCACH;oCACI,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI;iCAChB,CAAC,+CAA+C;gCAChE,uBAAuB;6BAC1B;yBACJ;qBACJ,CAAC,CAAC;aACN;SAGJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,IAAsB;QAC9C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;aAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAE7E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAClF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,eAAe,CAAC,CAAC;aAAE;YAEpF,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,eAAe,CAAC,CAAC;aAAE;YAE3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,0DAA0D,CAAC,CAAC;gBAC/E,OAAO,SAAS,CAAC,CAAC,wBAAwB;aAC7C;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5C;;;;;;;;;;;;eAYG;YACH,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;iBAAE;gBAC/G,MAAM,UAAU,GAAyB;oBACrC,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE;wBACJ,iBAAiB,EAAE,kBAAkB;qBACxC;iBACJ,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACf,OAAO,QAAQ,CAAC,IAAI,CAAC;iBACxB;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;iBAE9H;gBACD,oDAAoD;gBACpD,uBAAuB;gBACvB,6CAA6C;gBAC7C,MAAM;gBACN,uDAAuD;gBACvD,yBAAyB;gBACzB,qCAAqC;gBACrC,WAAW;gBACX,gFAAgF;gBAChF,IAAI;YACR,CAAC,CAAA;YAED,IAAI,MAAM,GAAuB,SAAS,CAAC;YAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,mBAAmB,EAAE,CAAC;gBACtB,IAAI;oBACA,QAAQ,CAAC,CAAC,kHAAkH;oBAC5H,sBAAsB;oBACtB,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,IAAI,KAAK,YAAY,KAAK,EAAE;wBACxB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;wBACnC,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,IAAI,WAAW,CAAC;wBAEpD,mHAAmH;wBACnH,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;4BAClE,IAAI,QAAQ,KAAK,uBAAuB,EAAE;gCACtC,+CAA+C;gCAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kFAAkF,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;6BAChU;iCAAM;gCACH,4CAA4C;gCAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kCAAkC,uBAAuB,gCAAgC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gCACpU,QAAQ,GAAG,uBAAuB,CAAC;6BACtC;4BACD,sFAAsF;yBACzF;6BAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,uCAAuC,EAAE,CAAC,EAAE;4BAC5E,sDAAsD;4BACtD,QAAQ,CAAC,CAAC,oFAAoF;4BAC9F,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;4BAE3I,8CAA8C;4BAC9C,4DAA4D;4BAC5D,6DAA6D;4BAC7D,mGAAmG;4BACnG,gCAAgC;4BAChC,0FAA0F;4BAC1F,yCAAyC;4BACzC,qGAAqG;4BACrG,0HAA0H;4BAC1H,0CAA0C;4BAC1C,4CAA4C;4BAC5C,iGAAiG;4BACjG,uDAAuD;4BACvD,4CAA4C;4BAC5C,gBAAgB;4BAChB,mBAAmB;4BACnB,wCAAwC;4BACxC,6bAA6b;4BAC7b,YAAY;4BACZ,QAAQ;4BACR,WAAW;4BACX,uVAAuV;4BACvV,IAAI;4BACJ,sCAAsC;yBACzC;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC5K;qBACJ;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,4MAA4M,CAAC,CAAC;qBAC3P;iBACJ;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACd,MAAM,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,0BAA0B;iBACtE;aACJ,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YAErD,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB,CAAC,EACxB,eAAe,EAOlB;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,qBAAqB,GAA2B,EAAE,CAAC;YAEvD,kBAAkB;YAClB,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;aAC5F;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uEAAuE,CAAC,CAAC;aACjG;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;aAAE;YAEhH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,oDAAoD;YACnG,IAAI,CAAC,UAAU,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAC7G,qBAAqB;YAErB,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAgB,CAAC;YACpG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAC;iBAAE;gBAClG,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,iBAAiB,wCAAwC,CAAC,CAAC;aAAE;YAEpH,iEAAiE;YACjE,sDAAsD;YACtD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;gBAC5C,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;gBAC/H,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uDAAuD,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,wCAAwC,CAAC,CAAC;aAC9M;YACD,qBAAqB,GAAG,mBAAmB,CAAC,MAAgC,CAAC;YAC7E,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;aAAE;YAEzK,OAAO,qBAAqB,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,YAAY,CAAC,GAAyD;QACjF,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACzC,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;aAAE;YAE1H,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,kHAAkH;YAElH,sBAAsB;YACtB,8CAA8C;YAC9C,8DAA8D;YAC9D,kCAAkC;YAClC,MAAM;YAEN,0CAA0C;YAC1C,6DAA6D;YAC7D,oCAAoC;YACpC,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAK,CAAC,0BAA0B,EAAE;oBAC1D,IAAI,CAAC,QAAQ,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,oJAAoJ,CAAC,CAAC;qBACzK;oBACD,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjD,IAAI,IAAI,EAAE;wBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACH,IAAI,8BAA8B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BACrD,IAAI,OAAO,EAAE;gCAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,QAAQ,0GAA0G,CAAC,CAAC;6BAAE;yBAChL;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,8EAA8E,QAAQ,iJAAiJ,CAAC,CAAC;yBAC1P;qBACJ;iBACJ;gBAED,iBAAiB;gBAEjB,uOAAuO;gBACvO,6CAA6C;gBAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;gBACpD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC9C,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE;wBAClE,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBAC7M;yBAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;wBACjF,MAAM,IAAI,KAAK,CAAC,mLAAmL,CAAC,CAAC;qBACxM;yBAAM;wBACH,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,MAA4B,CAAC;qBAClF;iBACJ;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC5C,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU;qBAC5C,CAAC,CAAC;oBACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE;wBAC9D,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBACzM;yBAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE;wBAC7E,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;qBACpM;yBAAM;wBACH,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,MAA4B,CAAC;qBAC9E;iBACJ;YACL,CAAC,CAAC;YAEF,4DAA4D;YAE5D,MAAM,sBAAsB,CAAC;gBACzB,KAAK,EAAE,OAAO;gBACd,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,GAAG;gBACf,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE,UAAU;gBACjB,gBAAgB,EAAE,mBAAmB,EAAE;gBACvC,EAAE;aACL,CAAC,CAAC;YAEH,iEAAiE;SACpE;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IAEL,CAAC;CAEJ;AAED,oDAAoD;AACpD,UAAU,CAAC,GAAG,EAAE;IACZ,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,eAAe,CAAC;QACtB,SAAS,EAAE,qBAAqB,CAAC,IAAI;QACrC,mBAAmB,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAqB,CAAC,IAAI,EAAE;gBAC1D,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACvC,UAAU,EAAE,GAA2B;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aACnC;iBAAM;gBACH,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC,CAAC,CAAC;AAGH,MAAM,UAAU,mCAAmC,CAAC,EAChD,qBAAqB,EAGxB;IACG,MAAM,EAAE,GAAG,IAAI,mCAAmC,CAAC,IAAI,GAAG,CAAC;IAC3D,IAAI;QACA,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;SAAE;QACxF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC9D,0BAA0B;QAC1B,kEAAkE;QAClE,kEAAkE;QAClE,sBAAsB;QACtB,IAAI;QACJ,OAAO,qCAAqC,qBAAqB,+aAA+a,CAAC;KACpf;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;KACf;YAAS;QACN,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;SAAE;KACnD;AACL,CAAC"}
@@ -1,4 +1,12 @@
1
- import { Content, FunctionCall, FunctionCallPart, FunctionResponsePart } from "@google/generative-ai";
1
+ /**
2
+ * @module gemini-helpers.mts
3
+ *
4
+ * ## MIGRATION to @google/genai
5
+ *
6
+ * See migration notes in agent-witness-gemini.mts.
7
+ */
8
+ import { FunctionCallPart, FunctionResponsePart } from "./gemini-types.mjs";
9
+ import { Content, FunctionCall } from "@google/genai";
2
10
  import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
3
11
  import { APIFunctionInfo } from "../../../api/api-types.mjs";
4
12
  import { PromptInfo } from "../agent-types.mjs";
@@ -20,7 +28,6 @@ export declare function geminiFunctionCallToAPIFunctionInfo({ functionCall, }: {
20
28
  /**
21
29
  * Takes 0 or more entries and combines them into a single {@link Content}
22
30
  * object that Gemini API expects for `systemInstruction` when using the fn
23
- * {@link GoogleGenerativeAI.getGenerativeModel} (@see {@link ModelParams}).
24
31
  *
25
32
  * @param entries for system instruction, probably from {@link AgentWitnessGemini_V1.systemPromptParts}
26
33
  * @returns undefined if no entries, else single Gemini API Content object with role === "user" and combined parts from {@link systemPromptEntries}
@@ -46,7 +53,7 @@ export declare function isFunctionCallRequestComment({ ibGib }: {
46
53
  *
47
54
  * @param {object} arg - Arguments object.
48
55
  * @param {FunctionInfoIbGib_V1} arg.functionInfoIbGib - The FunctionInfoIbGib_V1 instance containing function call details.
49
- * @returns {{ call: FunctionCallPart; response: FunctionResponsePart }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
56
+ * @returns {{ call: Part; response: Part }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
50
57
  * @throws {Error} If there's an error during the process, such as missing function name or arguments.
51
58
  */
52
59
  export declare function getFunctionCallAndResponseParts({ functionInfoIbGib, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-helpers.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/gemini-helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAoB,oBAAoB,EAAY,MAAM,uBAAuB,CAAC;AAIlI,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAqC,UAAU,EAAG,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAwC,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAInF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAe9D;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,gBAAgB,CAE7E;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,EAChD,YAAY,GACf,EAAE;IACC,YAAY,EAAE,YAAY,CAAA;CAC7B,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAUvC;AAED;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,CAAC,EAC1D,mBAAmB,GACtB,EAAE;IACC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;CAChD,GAAG,OAAO,GAAG,SAAS,CAqBtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CA0CpF;AAGD;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,iBAAiB,GACpB,EAAE;IACC,iBAAiB,EAAE,oBAAoB,CAAC;CAC3C,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CA8C7D"}
1
+ {"version":3,"file":"gemini-helpers.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/gemini-helpers.mts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAG,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAqC,UAAU,EAAG,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAwC,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAInF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAe9D;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,gBAAgB,CAE7E;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,EAChD,YAAY,GACf,EAAE;IACC,YAAY,EAAE,YAAY,CAAA;CAC7B,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAWvC;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,CAAC,EAC1D,mBAAmB,GACtB,EAAE;IACC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;CAChD,GAAG,OAAO,GAAG,SAAS,CAwBtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CA0CpF;AAGD;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,iBAAiB,GACpB,EAAE;IACC,iBAAiB,EAAE,oBAAoB,CAAC;CAC3C,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CA8C7D"}
@@ -38,6 +38,9 @@ export function isPromptInfoGemini(info) {
38
38
  */
39
39
  export function geminiFunctionCallToAPIFunctionInfo({ functionCall, }) {
40
40
  const lc = `[${geminiFunctionCallToAPIFunctionInfo.name}]`;
41
+ if (!functionCall.name) {
42
+ throw new Error(`(UNEXPECTED) functionCall.name is falsy? (E: b2c638cf22f88493d823e7e9915fd625)`);
43
+ }
41
44
  const functionInfo = getAllFunctionInfos().get(functionCall.name);
42
45
  if (!functionInfo) {
43
46
  throw new Error(`${lc} no APIFunctionInfo found matching name: ${functionCall.name} (E: 7c5c7c17988a666a86e72299630c7f25)`);
@@ -50,7 +53,6 @@ export function geminiFunctionCallToAPIFunctionInfo({ functionCall, }) {
50
53
  /**
51
54
  * Takes 0 or more entries and combines them into a single {@link Content}
52
55
  * object that Gemini API expects for `systemInstruction` when using the fn
53
- * {@link GoogleGenerativeAI.getGenerativeModel} (@see {@link ModelParams}).
54
56
  *
55
57
  * @param entries for system instruction, probably from {@link AgentWitnessGemini_V1.systemPromptParts}
56
58
  * @returns undefined if no entries, else single Gemini API Content object with role === "user" and combined parts from {@link systemPromptEntries}
@@ -71,7 +73,9 @@ export function systemPromptEntriesToSystemInstructionContent({ systemPromptEntr
71
73
  }
72
74
  const sysInstructionContent = {
73
75
  role: "user",
74
- parts: systemPromptEntries.flatMap(entry => entry.content.parts),
76
+ parts: systemPromptEntries
77
+ .filter(entry => !!entry.content.parts)
78
+ .flatMap(entry => entry.content.parts),
75
79
  };
76
80
  if (logalot) {
77
81
  console.log(`${lc} sysInstructionContent: ${pretty(sysInstructionContent)} (I: 011e5b865c23eb0b640df3f464ac2525)`);
@@ -159,7 +163,7 @@ export function isFunctionCallRequestComment({ ibGib }) {
159
163
  *
160
164
  * @param {object} arg - Arguments object.
161
165
  * @param {FunctionInfoIbGib_V1} arg.functionInfoIbGib - The FunctionInfoIbGib_V1 instance containing function call details.
162
- * @returns {{ call: FunctionCallPart; response: FunctionResponsePart }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
166
+ * @returns {{ call: Part; response: Part }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
163
167
  * @throws {Error} If there's an error during the process, such as missing function name or arguments.
164
168
  */
165
169
  export function getFunctionCallAndResponseParts({ functionInfoIbGib, }) {