@ljoukov/llm 4.0.10 → 4.0.11

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/index.cjs CHANGED
@@ -4752,12 +4752,12 @@ function buildGeminiToolOutputMediaPart(item) {
4752
4752
  if (!parsed) {
4753
4753
  return null;
4754
4754
  }
4755
- return (0, import_genai2.createFunctionResponsePartFromBase64)(parsed.dataBase64, parsed.mimeType);
4755
+ return (0, import_genai2.createPartFromBase64)(parsed.dataBase64, parsed.mimeType);
4756
4756
  }
4757
4757
  if (item.type === "input_file") {
4758
4758
  const dataUrl = typeof item.file_url === "string" ? parseDataUrlPayload(item.file_url) : null;
4759
4759
  if (dataUrl) {
4760
- const part = (0, import_genai2.createFunctionResponsePartFromBase64)(dataUrl.dataBase64, dataUrl.mimeType);
4760
+ const part = (0, import_genai2.createPartFromBase64)(dataUrl.dataBase64, dataUrl.mimeType);
4761
4761
  const displayName = item.filename?.trim();
4762
4762
  if (displayName && part.inlineData) {
4763
4763
  part.inlineData.displayName = displayName;
@@ -4766,7 +4766,7 @@ function buildGeminiToolOutputMediaPart(item) {
4766
4766
  }
4767
4767
  const inferredMimeType = inferToolOutputMimeTypeFromFilename(item.filename);
4768
4768
  if (typeof item.file_data === "string" && item.file_data.trim().length > 0 && inferredMimeType) {
4769
- const part = (0, import_genai2.createFunctionResponsePartFromBase64)(item.file_data, inferredMimeType);
4769
+ const part = (0, import_genai2.createPartFromBase64)(item.file_data, inferredMimeType);
4770
4770
  const displayName = item.filename?.trim();
4771
4771
  if (displayName && part.inlineData) {
4772
4772
  part.inlineData.displayName = displayName;
@@ -4774,7 +4774,7 @@ function buildGeminiToolOutputMediaPart(item) {
4774
4774
  return part;
4775
4775
  }
4776
4776
  if (typeof item.file_url === "string" && item.file_url.trim().length > 0 && inferredMimeType) {
4777
- const part = (0, import_genai2.createFunctionResponsePartFromUri)(item.file_url, inferredMimeType);
4777
+ const part = (0, import_genai2.createPartFromUri)(item.file_url, inferredMimeType);
4778
4778
  const displayName = item.filename?.trim();
4779
4779
  if (displayName && part.fileData) {
4780
4780
  part.fileData.displayName = displayName;
@@ -4808,41 +4808,35 @@ function toGeminiToolOutputPlaceholder(item) {
4808
4808
  media: dataUrl || typeof item.file_data === "string" && item.file_data.trim().length > 0 ? "attached-inline-data" : typeof item.file_url === "string" && item.file_url.trim().length > 0 ? "attached-file-data" : void 0
4809
4809
  };
4810
4810
  }
4811
- function buildGeminiFunctionResponsePart(options) {
4811
+ function buildGeminiFunctionResponseParts(options) {
4812
4812
  const outputItems = toGeminiToolOutputItems(options.outputPayload);
4813
4813
  if (!outputItems) {
4814
4814
  const responsePayload2 = isPlainRecord(options.outputPayload) ? sanitiseLogValue(options.outputPayload) : { output: sanitiseLogValue(options.outputPayload) };
4815
4815
  if (options.callId) {
4816
- return (0, import_genai2.createPartFromFunctionResponse)(options.callId, options.toolName, responsePayload2);
4816
+ return [(0, import_genai2.createPartFromFunctionResponse)(options.callId, options.toolName, responsePayload2)];
4817
4817
  }
4818
- return {
4819
- functionResponse: {
4820
- name: options.toolName,
4821
- response: responsePayload2
4818
+ return [
4819
+ {
4820
+ functionResponse: {
4821
+ name: options.toolName,
4822
+ response: responsePayload2
4823
+ }
4822
4824
  }
4823
- };
4825
+ ];
4824
4826
  }
4825
4827
  const responseOutput = outputItems.map((item) => toGeminiToolOutputPlaceholder(item));
4826
- const responseMediaParts = outputItems.flatMap((item) => {
4828
+ const responseParts = outputItems.flatMap((item) => {
4827
4829
  const mediaPart = buildGeminiToolOutputMediaPart(item);
4828
4830
  return mediaPart ? [mediaPart] : [];
4829
4831
  });
4830
4832
  const responsePayload = { output: responseOutput };
4831
- if (options.callId) {
4832
- return (0, import_genai2.createPartFromFunctionResponse)(
4833
- options.callId,
4834
- options.toolName,
4835
- responsePayload,
4836
- responseMediaParts
4837
- );
4838
- }
4839
- return {
4833
+ const functionResponsePart = options.callId ? (0, import_genai2.createPartFromFunctionResponse)(options.callId, options.toolName, responsePayload) : {
4840
4834
  functionResponse: {
4841
4835
  name: options.toolName,
4842
- response: { output: responseOutput },
4843
- ...responseMediaParts.length > 0 ? { parts: responseMediaParts } : {}
4836
+ response: responsePayload
4844
4837
  }
4845
4838
  };
4839
+ return [functionResponsePart, ...responseParts];
4846
4840
  }
4847
4841
  function parseOpenAiToolArguments(raw) {
4848
4842
  const trimmed = raw.trim();
@@ -7670,7 +7664,7 @@ async function runToolLoop(request) {
7670
7664
  durationMs: result.durationMs
7671
7665
  });
7672
7666
  responseParts.push(
7673
- buildGeminiFunctionResponsePart({
7667
+ ...buildGeminiFunctionResponseParts({
7674
7668
  toolName: entry.toolName,
7675
7669
  callId: entry.call.id,
7676
7670
  outputPayload