From 73875a5c87be05ee080034e9c85cbe09b68a0d7b Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Wed, 8 Jan 2025 05:52:39 +0000 Subject: [PATCH] format --- agents/vanilla_agents/lib/bundle.cjs.js.map | 2 +- agents/vanilla_agents/lib/bundle.cjs.min.js.map | 2 +- agents/vanilla_agents/lib/bundle.esm.js.map | 2 +- agents/vanilla_agents/lib/bundle.esm.min.js.map | 2 +- agents/vanilla_agents/lib/bundle.umd.js.map | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agents/vanilla_agents/lib/bundle.cjs.js.map b/agents/vanilla_agents/lib/bundle.cjs.js.map index 773e6e45..aa9d988a 100644 --- a/agents/vanilla_agents/lib/bundle.cjs.js.map +++ b/agents/vanilla_agents/lib/bundle.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.cjs.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])){\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["assert","isObject","arrayValidate","isNamedInputs","sleep","graphDataLatestVersion","GraphAI"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.cjs.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])) {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["assert","isObject","arrayValidate","isNamedInputs","sleep","graphDataLatestVersion","GraphAI"],"mappings":"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"} \ No newline at end of file diff --git a/agents/vanilla_agents/lib/bundle.cjs.min.js.map b/agents/vanilla_agents/lib/bundle.cjs.min.js.map index 83ddcf7a..25ae197a 100644 --- a/agents/vanilla_agents/lib/bundle.cjs.min.js.map +++ b/agents/vanilla_agents/lib/bundle.cjs.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.cjs.min.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])){\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["stringSplitterAgent","async","params","namedInputs","assert","source","text","chunkSize","overlap","Math","floor","count","length","contents","Array","fill","undefined","map","_","i","startIndex","substring","stringSplitterAgentInfo","name","agent","mock","inputs","type","properties","description","required","output","samples","result","category","author","repository","license","processTemplate","template","match","input","replace","isArray","item","isObject","Object","keys","reduce","tmp","key","stringTemplateAgent","console","warn","sampleNamedInput","message1","message2","stringTemplateAgentInfo","apple","lemon","row","version","nodes","ai","isResult","prompt","jsonParserAgent","data","JSON","stringify","parse","sample_object","json_str","md_json1","join","md_json2","md_json3","jsonParserAgentInfo","anyOf","stringCaseVariantsAgent","suffix","normalizedArray","trim","toLowerCase","split","push","normalized","lowerCamelCase","word","index","charAt","toUpperCase","slice","snakeCase","kebabCase","stringCaseVariantsAgentInfo","pushAgent","extra_message","arrayValidate","items","array","forEach","pushAgentInfo","banana","cacheType","popAgent","pop","popAgentInfo","array2","shiftAgent","shift","shiftAgentInfo","arrayFlatAgent","depth","flat","arrayFlatAgentInfo","arrayJoinAgent","separator","arrayJoinAgentInfo","dotProductAgent","matrix","vector","Error","vector0","dotProduct","value","dotProductAgentInfo","sortByValuesAgent","values","direction","assendant","sort","a","b","sortByValuesAgentInfo","echoAgent","filterParams","echoAgentInfo","countingAgent","list","countingAgentInfo","copyMessageAgent","messages","message","copyMessageAgentInfo","copy2ArrayAgent","isNamedInputs","copy2ArrayAgentInfo","mergeNodeIdAgent","debugInfo","nodeId","mergeNodeIdAgentInfo","test","streamMockAgent","token","streamTokenCallback","sleep","streamMockAgentInfo","stream","nestedAgent","log","forNestedGraph","agents","graphData","graphOptions","onLogCallback","taskManager","throwError","status","getStatus","concurrency","running","nestedGraphData","graphDataLatestVersion","nodeIds","graphAI","GraphAI","results","run","transactionLogs","error","onError","nestedAgentInfo","graph","namedKey","mapAgent","rows","limit","resultAll","mappedNodeId","graphs","injectValue","runs","Promise","all","logs","mapIndex","compositeResult","mapAgentInfo","node2","fruit","verb","__mapIndex","totalAgent","innerInput","totalAgentInfo","c","d","dataSumTemplateAgent","dataSumTemplateAgentInfo","applyFilter","object","arrayInputs","include","exclude","alter","inject","swap","inspect","propIds","excludeSet","Set","propId","has","mapping","from","equal","notEqual","propertyFilterAgent","target","testInputs","color","model","maker","range","propertyFilterAgentInfo","red","blue","isTesla","isGM","copyAgent","copyAgentInfo","vanillaFetchAgent","url","method","queryParams","headers","body","url0","URL","headers0","URLSearchParams","search","toString","fetchOptions","Headers","debug","response","fetch","ok","json","vanillaFetchAgentInfo","quaryParams","foo","sleeperAgent","duration","sleeperAgentInfo","compare","_array","operator","Number","compareAgent","ret","compareAgentInfo","true","false","images2messageAgent","imageType","detail","base64ImageData","image_url","getImageUrl","unshift","role","content","images2messageAgentInfo","stringEmbeddingsAgent","sources","apiKey","process","env","OPENAI_API_KEY","Authorization","jsonResponse","embedding","stringEmbeddingsAgentInfo"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.cjs.min.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])) {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["stringSplitterAgent","async","params","namedInputs","assert","source","text","chunkSize","overlap","Math","floor","count","length","contents","Array","fill","undefined","map","_","i","startIndex","substring","stringSplitterAgentInfo","name","agent","mock","inputs","type","properties","description","required","output","samples","result","category","author","repository","license","processTemplate","template","match","input","replace","isArray","item","isObject","Object","keys","reduce","tmp","key","stringTemplateAgent","console","warn","sampleNamedInput","message1","message2","stringTemplateAgentInfo","apple","lemon","row","version","nodes","ai","isResult","prompt","jsonParserAgent","data","JSON","stringify","parse","sample_object","json_str","md_json1","join","md_json2","md_json3","jsonParserAgentInfo","anyOf","stringCaseVariantsAgent","suffix","normalizedArray","trim","toLowerCase","split","push","normalized","lowerCamelCase","word","index","charAt","toUpperCase","slice","snakeCase","kebabCase","stringCaseVariantsAgentInfo","pushAgent","extra_message","arrayValidate","items","array","forEach","pushAgentInfo","banana","cacheType","popAgent","pop","popAgentInfo","array2","shiftAgent","shift","shiftAgentInfo","arrayFlatAgent","depth","flat","arrayFlatAgentInfo","arrayJoinAgent","separator","arrayJoinAgentInfo","dotProductAgent","matrix","vector","Error","vector0","dotProduct","value","dotProductAgentInfo","sortByValuesAgent","values","direction","assendant","sort","a","b","sortByValuesAgentInfo","echoAgent","filterParams","echoAgentInfo","countingAgent","list","countingAgentInfo","copyMessageAgent","messages","message","copyMessageAgentInfo","copy2ArrayAgent","isNamedInputs","copy2ArrayAgentInfo","mergeNodeIdAgent","debugInfo","nodeId","mergeNodeIdAgentInfo","test","streamMockAgent","token","streamTokenCallback","sleep","streamMockAgentInfo","stream","nestedAgent","log","forNestedGraph","agents","graphData","graphOptions","onLogCallback","taskManager","throwError","status","getStatus","concurrency","running","nestedGraphData","graphDataLatestVersion","nodeIds","graphAI","GraphAI","results","run","transactionLogs","error","onError","nestedAgentInfo","graph","namedKey","mapAgent","rows","limit","resultAll","mappedNodeId","graphs","injectValue","runs","Promise","all","logs","mapIndex","compositeResult","mapAgentInfo","node2","fruit","verb","__mapIndex","totalAgent","innerInput","totalAgentInfo","c","d","dataSumTemplateAgent","dataSumTemplateAgentInfo","applyFilter","object","arrayInputs","include","exclude","alter","inject","swap","inspect","propIds","excludeSet","Set","propId","has","mapping","from","equal","notEqual","propertyFilterAgent","target","testInputs","color","model","maker","range","propertyFilterAgentInfo","red","blue","isTesla","isGM","copyAgent","copyAgentInfo","vanillaFetchAgent","url","method","queryParams","headers","body","url0","URL","headers0","URLSearchParams","search","toString","fetchOptions","Headers","debug","response","fetch","ok","json","vanillaFetchAgentInfo","quaryParams","foo","sleeperAgent","duration","sleeperAgentInfo","compare","_array","operator","Number","compareAgent","ret","compareAgentInfo","true","false","images2messageAgent","imageType","detail","base64ImageData","image_url","getImageUrl","unshift","role","content","images2messageAgentInfo","stringEmbeddingsAgent","sources","apiKey","process","env","OPENAI_API_KEY","Authorization","jsonResponse","embedding","stringEmbeddingsAgentInfo"],"mappings":"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"} \ No newline at end of file diff --git a/agents/vanilla_agents/lib/bundle.esm.js.map b/agents/vanilla_agents/lib/bundle.esm.js.map index 6e116e4e..d8d515ad 100644 --- a/agents/vanilla_agents/lib/bundle.esm.js.map +++ b/agents/vanilla_agents/lib/bundle.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.esm.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../../agent_utils/lib/index.js","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayValidate = exports.isNamedInputs = exports.sample2GraphData = void 0;\nconst graphai_1 = require(\"graphai\");\nconst sample2GraphData = (sample, agentName) => {\n const nodes = {};\n const inputs = (() => {\n if (Array.isArray(sample.inputs)) {\n Array.from(sample.inputs.keys()).forEach((key) => {\n nodes[\"sampleInput\" + key] = {\n value: sample.inputs[key],\n };\n });\n return Object.keys(nodes).map((k) => \":\" + k);\n }\n nodes[\"sampleInput\"] = {\n value: sample.inputs,\n };\n return Object.keys(sample.inputs).reduce((tmp, key) => {\n tmp[key] = `:sampleInput.` + key;\n return tmp;\n }, {});\n })();\n nodes[\"node\"] = {\n isResult: true,\n agent: agentName,\n params: sample.params,\n inputs: inputs,\n graph: sample.graph,\n };\n const graphData = {\n version: 0.5,\n nodes,\n };\n return graphData;\n};\nexports.sample2GraphData = sample2GraphData;\nconst isNamedInputs = (namedInputs) => {\n return Object.keys(namedInputs || {}).length > 0;\n};\nexports.isNamedInputs = isNamedInputs;\nconst arrayValidate = (agentName, namedInputs, extra_message = \"\") => {\n (0, graphai_1.assert)((0, exports.isNamedInputs)(namedInputs), `${agentName}: namedInputs is UNDEFINED!` + extra_message);\n (0, graphai_1.assert)(!!namedInputs.array, `${agentName}: namedInputs.array is UNDEFINED!` + extra_message);\n (0, graphai_1.assert)(Array.isArray(namedInputs.array), `${agentName}: namedInputs.array is not Array.` + extra_message);\n};\nexports.arrayValidate = arrayValidate;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])){\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["arrayValidate","isNamedInputs"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.esm.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../../agent_utils/lib/index.js","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayValidate = exports.isNamedInputs = exports.sample2GraphData = void 0;\nconst graphai_1 = require(\"graphai\");\nconst sample2GraphData = (sample, agentName) => {\n const nodes = {};\n const inputs = (() => {\n if (Array.isArray(sample.inputs)) {\n Array.from(sample.inputs.keys()).forEach((key) => {\n nodes[\"sampleInput\" + key] = {\n value: sample.inputs[key],\n };\n });\n return Object.keys(nodes).map((k) => \":\" + k);\n }\n nodes[\"sampleInput\"] = {\n value: sample.inputs,\n };\n return Object.keys(sample.inputs).reduce((tmp, key) => {\n tmp[key] = `:sampleInput.` + key;\n return tmp;\n }, {});\n })();\n nodes[\"node\"] = {\n isResult: true,\n agent: agentName,\n params: sample.params,\n inputs: inputs,\n graph: sample.graph,\n };\n const graphData = {\n version: 0.5,\n nodes,\n };\n return graphData;\n};\nexports.sample2GraphData = sample2GraphData;\nconst isNamedInputs = (namedInputs) => {\n return Object.keys(namedInputs || {}).length > 0;\n};\nexports.isNamedInputs = isNamedInputs;\nconst arrayValidate = (agentName, namedInputs, extra_message = \"\") => {\n (0, graphai_1.assert)((0, exports.isNamedInputs)(namedInputs), `${agentName}: namedInputs is UNDEFINED!` + extra_message);\n (0, graphai_1.assert)(!!namedInputs.array, `${agentName}: namedInputs.array is UNDEFINED!` + extra_message);\n (0, graphai_1.assert)(Array.isArray(namedInputs.array), `${agentName}: namedInputs.array is not Array.` + extra_message);\n};\nexports.arrayValidate = arrayValidate;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])) {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["arrayValidate","isNamedInputs"],"mappings":"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"} \ No newline at end of file diff --git a/agents/vanilla_agents/lib/bundle.esm.min.js.map b/agents/vanilla_agents/lib/bundle.esm.min.js.map index 3a61fed0..60618adc 100644 --- a/agents/vanilla_agents/lib/bundle.esm.min.js.map +++ b/agents/vanilla_agents/lib/bundle.esm.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.esm.min.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])){\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["stringSplitterAgent","async","params","namedInputs","assert","source","text","chunkSize","overlap","Math","floor","count","length","contents","Array","fill","undefined","map","_","i","startIndex","substring","stringSplitterAgentInfo","name","agent","mock","inputs","type","properties","description","required","output","samples","result","category","author","repository","license","processTemplate","template","match","input","replace","isArray","item","isObject","Object","keys","reduce","tmp","key","stringTemplateAgent","console","warn","sampleNamedInput","message1","message2","stringTemplateAgentInfo","apple","lemon","row","version","nodes","ai","isResult","prompt","jsonParserAgent","data","JSON","stringify","parse","sample_object","json_str","md_json1","join","md_json2","md_json3","jsonParserAgentInfo","anyOf","stringCaseVariantsAgent","suffix","normalizedArray","trim","toLowerCase","split","push","normalized","lowerCamelCase","word","index","charAt","toUpperCase","slice","snakeCase","kebabCase","stringCaseVariantsAgentInfo","pushAgent","extra_message","arrayValidate","items","array","forEach","pushAgentInfo","banana","cacheType","popAgent","pop","popAgentInfo","array2","shiftAgent","shift","shiftAgentInfo","arrayFlatAgent","depth","flat","arrayFlatAgentInfo","arrayJoinAgent","separator","arrayJoinAgentInfo","dotProductAgent","matrix","vector","Error","vector0","dotProduct","value","dotProductAgentInfo","sortByValuesAgent","values","direction","assendant","sort","a","b","sortByValuesAgentInfo","echoAgent","filterParams","echoAgentInfo","countingAgent","list","countingAgentInfo","copyMessageAgent","messages","message","copyMessageAgentInfo","copy2ArrayAgent","isNamedInputs","copy2ArrayAgentInfo","mergeNodeIdAgent","debugInfo","nodeId","mergeNodeIdAgentInfo","test","streamMockAgent","token","streamTokenCallback","sleep","streamMockAgentInfo","stream","nestedAgent","log","forNestedGraph","agents","graphData","graphOptions","onLogCallback","taskManager","throwError","status","getStatus","concurrency","running","nestedGraphData","graphDataLatestVersion","nodeIds","graphAI","GraphAI","results","run","transactionLogs","error","onError","nestedAgentInfo","graph","namedKey","mapAgent","rows","limit","resultAll","mappedNodeId","graphs","injectValue","runs","Promise","all","logs","mapIndex","compositeResult","mapAgentInfo","node2","fruit","verb","__mapIndex","totalAgent","innerInput","totalAgentInfo","c","d","dataSumTemplateAgent","dataSumTemplateAgentInfo","applyFilter","object","arrayInputs","include","exclude","alter","inject","swap","inspect","propIds","excludeSet","Set","propId","has","mapping","from","equal","notEqual","propertyFilterAgent","target","testInputs","color","model","maker","range","propertyFilterAgentInfo","red","blue","isTesla","isGM","copyAgent","copyAgentInfo","vanillaFetchAgent","url","method","queryParams","headers","body","url0","URL","headers0","URLSearchParams","search","toString","fetchOptions","Headers","debug","response","fetch","ok","json","vanillaFetchAgentInfo","quaryParams","foo","sleeperAgent","duration","sleeperAgentInfo","compare","_array","operator","Number","compareAgent","ret","compareAgentInfo","true","false","images2messageAgent","imageType","detail","base64ImageData","image_url","getImageUrl","unshift","role","content","images2messageAgentInfo","stringEmbeddingsAgent","sources","apiKey","process","env","OPENAI_API_KEY","Authorization","jsonResponse","embedding","stringEmbeddingsAgentInfo"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.esm.min.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])) {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["stringSplitterAgent","async","params","namedInputs","assert","source","text","chunkSize","overlap","Math","floor","count","length","contents","Array","fill","undefined","map","_","i","startIndex","substring","stringSplitterAgentInfo","name","agent","mock","inputs","type","properties","description","required","output","samples","result","category","author","repository","license","processTemplate","template","match","input","replace","isArray","item","isObject","Object","keys","reduce","tmp","key","stringTemplateAgent","console","warn","sampleNamedInput","message1","message2","stringTemplateAgentInfo","apple","lemon","row","version","nodes","ai","isResult","prompt","jsonParserAgent","data","JSON","stringify","parse","sample_object","json_str","md_json1","join","md_json2","md_json3","jsonParserAgentInfo","anyOf","stringCaseVariantsAgent","suffix","normalizedArray","trim","toLowerCase","split","push","normalized","lowerCamelCase","word","index","charAt","toUpperCase","slice","snakeCase","kebabCase","stringCaseVariantsAgentInfo","pushAgent","extra_message","arrayValidate","items","array","forEach","pushAgentInfo","banana","cacheType","popAgent","pop","popAgentInfo","array2","shiftAgent","shift","shiftAgentInfo","arrayFlatAgent","depth","flat","arrayFlatAgentInfo","arrayJoinAgent","separator","arrayJoinAgentInfo","dotProductAgent","matrix","vector","Error","vector0","dotProduct","value","dotProductAgentInfo","sortByValuesAgent","values","direction","assendant","sort","a","b","sortByValuesAgentInfo","echoAgent","filterParams","echoAgentInfo","countingAgent","list","countingAgentInfo","copyMessageAgent","messages","message","copyMessageAgentInfo","copy2ArrayAgent","isNamedInputs","copy2ArrayAgentInfo","mergeNodeIdAgent","debugInfo","nodeId","mergeNodeIdAgentInfo","test","streamMockAgent","token","streamTokenCallback","sleep","streamMockAgentInfo","stream","nestedAgent","log","forNestedGraph","agents","graphData","graphOptions","onLogCallback","taskManager","throwError","status","getStatus","concurrency","running","nestedGraphData","graphDataLatestVersion","nodeIds","graphAI","GraphAI","results","run","transactionLogs","error","onError","nestedAgentInfo","graph","namedKey","mapAgent","rows","limit","resultAll","mappedNodeId","graphs","injectValue","runs","Promise","all","logs","mapIndex","compositeResult","mapAgentInfo","node2","fruit","verb","__mapIndex","totalAgent","innerInput","totalAgentInfo","c","d","dataSumTemplateAgent","dataSumTemplateAgentInfo","applyFilter","object","arrayInputs","include","exclude","alter","inject","swap","inspect","propIds","excludeSet","Set","propId","has","mapping","from","equal","notEqual","propertyFilterAgent","target","testInputs","color","model","maker","range","propertyFilterAgentInfo","red","blue","isTesla","isGM","copyAgent","copyAgentInfo","vanillaFetchAgent","url","method","queryParams","headers","body","url0","URL","headers0","URLSearchParams","search","toString","fetchOptions","Headers","debug","response","fetch","ok","json","vanillaFetchAgentInfo","quaryParams","foo","sleeperAgent","duration","sleeperAgentInfo","compare","_array","operator","Number","compareAgent","ret","compareAgentInfo","true","false","images2messageAgent","imageType","detail","base64ImageData","image_url","getImageUrl","unshift","role","content","images2messageAgentInfo","stringEmbeddingsAgent","sources","apiKey","process","env","OPENAI_API_KEY","Authorization","jsonResponse","embedding","stringEmbeddingsAgentInfo"],"mappings":"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"} \ No newline at end of file diff --git a/agents/vanilla_agents/lib/bundle.umd.js.map b/agents/vanilla_agents/lib/bundle.umd.js.map index f6977b94..4af23639 100644 --- a/agents/vanilla_agents/lib/bundle.umd.js.map +++ b/agents/vanilla_agents/lib/bundle.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.umd.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])){\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["assert","isObject","arrayValidate","isNamedInputs","sleep","graphDataLatestVersion","GraphAI"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.umd.js","sources":["../src/string_agents/string_splitter_agent.ts","../src/string_agents/string_template_agent.ts","../src/string_agents/json_parser_agent.ts","../src/string_agents/string_case_variants_agent.ts","../src/array_agents/push_agent.ts","../src/array_agents/pop_agent.ts","../src/array_agents/shift_agent.ts","../src/array_agents/array_flat_agent.ts","../src/array_agents/array_join_agent.ts","../src/matrix_agents/dot_product_agent.ts","../src/matrix_agents/sort_by_values_agent.ts","../src/test_agents/echo_agent.ts","../src/test_agents/counting_agent.ts","../src/test_agents/copy_message_agent.ts","../src/test_agents/copy2array_agent.ts","../src/test_agents/merge_node_id_agent.ts","../src/test_agents/stream_mock_agent.ts","../src/graph_agents/nested_agent.ts","../src/graph_agents/map_agent.ts","../src/data_agents/total_agent.ts","../src/data_agents/data_sum_template_agent.ts","../src/data_agents/property_filter_agent.ts","../src/data_agents/copy_agent.ts","../src/service_agents/vanilla_fetch_agent.ts","../src/sleeper_agents/sleeper_agent.ts","../src/compare_agents/compare_agent.ts","../src/images_agents/image_to_message_agent.ts","../src/embedding_agent.ts"],"sourcesContent":["import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent strip one long string into chunks using following parameters\n//\n// chunkSize: number; // default is 2048\n// overlap: number; // default is 1/8th of chunkSize.\n//\n// see example\n// tests/agents/test_string_agent.ts\n//\nconst defaultChunkSize = 2048;\n\nexport const stringSplitterAgent: AgentFunction<\n {\n chunkSize?: number;\n overlap?: number;\n },\n {\n contents: Array;\n count: number;\n chunkSize: number;\n overlap: number;\n },\n {\n text: string;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"stringSplitterAgent: namedInputs is UNDEFINED!\");\n const source = namedInputs.text;\n const chunkSize = params.chunkSize ?? defaultChunkSize;\n const overlap = params.overlap ?? Math.floor(chunkSize / 8);\n const count = Math.floor(source.length / (chunkSize - overlap)) + 1;\n const contents = new Array(count).fill(undefined).map((_, i) => {\n const startIndex = i * (chunkSize - overlap);\n return source.substring(startIndex, startIndex + chunkSize);\n });\n\n return { contents, count, chunkSize, overlap };\n};\n\n// for test and document\nconst sampleInput = {\n text: \"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes ... the ones who see things differently -- they're not fond of rules, and they have no respect for the status quo. ... You can quote them, disagree with them, glorify or vilify them, but the only thing you can't do is ignore them because they change things. ... They push the human race forward, and while some may see them as the crazy ones, we see genius, because the people who are crazy enough to think that they can change the world, are the ones who do.\",\n};\n\nconst sampleParams = { chunkSize: 64 };\nconst sampleResult = {\n contents: [\n \"Here's to the crazy ones, the misfits, the rebels, the troublema\",\n \"roublemakers, the round pegs in the square holes ... the ones wh\",\n \" ones who see things differently -- they're not fond of rules, a\",\n \"rules, and they have no respect for the status quo. ... You can \",\n \"You can quote them, disagree with them, glorify or vilify them, \",\n \"y them, but the only thing you can't do is ignore them because t\",\n \"ecause they change things. ... They push the human race forward,\",\n \"forward, and while some may see them as the crazy ones, we see g\",\n \"we see genius, because the people who are crazy enough to think \",\n \"o think that they can change the world, are the ones who do.\",\n \" do.\",\n ],\n count: 11,\n chunkSize: 64,\n overlap: 8,\n};\n\nconst stringSplitterAgentInfo: AgentFunctionInfo = {\n name: \"stringSplitterAgent\",\n agent: stringSplitterAgent,\n mock: stringSplitterAgent,\n inputs: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"text to be chuncked\",\n },\n },\n required: [\"text\"],\n },\n output: {\n type: \"object\",\n properties: {\n contents: {\n type: \"array\",\n description: \"the array of text chunks\",\n },\n count: {\n type: \"number\",\n description: \"the number of chunks\",\n },\n chunkSize: {\n type: \"number\",\n description: \"the chunk size\",\n },\n overlap: {\n type: \"number\",\n description: \"the overlap size\",\n },\n },\n },\n samples: [\n {\n inputs: sampleInput,\n params: sampleParams,\n result: sampleResult,\n },\n ],\n description: \"This agent strip one long string into chunks using following parameters\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringSplitterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, isObject } from \"graphai\";\n\ntype StringTemplate = string | Record;\ntype StringTemplateObject = StringTemplate | StringTemplate[] | Record;\n\nconst processTemplate: any = (template: StringTemplateObject, match: string, input: string) => {\n if (typeof template === \"string\") {\n if (template === match) {\n return input;\n }\n return template.replace(match, input);\n } else if (Array.isArray(template)) {\n return template.map((item: StringTemplate) => processTemplate(item, match, input));\n }\n\n if (isObject(template)) {\n return Object.keys(template).reduce((tmp: any, key: string) => {\n tmp[key] = processTemplate(template[key], match, input);\n return tmp;\n }, {});\n }\n return template;\n};\n\nexport const stringTemplateAgent: AgentFunction<\n {\n template: StringTemplateObject;\n },\n StringTemplateObject,\n Record\n> = async ({ params, namedInputs }) => {\n if (params.template === undefined) {\n if (namedInputs.text) {\n return namedInputs.text;\n }\n console.warn(\"warning: stringTemplateAgent no template\");\n }\n return Object.keys(namedInputs).reduce((template, key) => {\n return processTemplate(template, \"${\" + key + \"}\", namedInputs[key]);\n }, params.template);\n};\n\nconst sampleNamedInput = { message1: \"hello\", message2: \"test\" };\n\n// for test and document\nconst stringTemplateAgentInfo: AgentFunctionInfo = {\n name: \"stringTemplateAgent\",\n agent: stringTemplateAgent,\n mock: stringTemplateAgent,\n samples: [\n // named\n {\n inputs: sampleNamedInput,\n params: { template: \"${message1}: ${message2}\" },\n result: \"hello: test\",\n },\n {\n inputs: sampleNamedInput,\n params: { template: [\"${message1}: ${message2}\", \"${message2}: ${message1}\"] },\n result: [\"hello: test\", \"test: hello\"],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: \"${message2}\" } },\n result: { apple: \"hello\", lemon: \"test\" },\n },\n {\n inputs: sampleNamedInput,\n params: { template: [{ apple: \"${message1}\", lemon: \"${message2}\" }] },\n result: [{ apple: \"hello\", lemon: \"test\" }],\n },\n {\n inputs: sampleNamedInput,\n params: { template: { apple: \"${message1}\", lemon: [\"${message2}\"] } },\n result: { apple: \"hello\", lemon: [\"test\"] },\n },\n // graphData\n {\n inputs: { agent: \"openAiAgent\", row: \"hello world\", params: { text: \"message\" } },\n params: {\n template: {\n version: 0.5,\n nodes: {\n ai: {\n agent: \"${agent}\",\n isResult: true,\n params: \"${params}\",\n inputs: { prompt: \"${row}\" },\n },\n },\n },\n },\n result: {\n nodes: {\n ai: {\n agent: \"openAiAgent\",\n inputs: {\n prompt: \"hello world\",\n },\n isResult: true,\n params: { text: \"message\" },\n },\n },\n version: 0.5,\n },\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const jsonParserAgent: AgentFunction<\n null,\n unknown,\n {\n text: string;\n data: unknown;\n }\n> = async ({ namedInputs }) => {\n const { text, data } = namedInputs;\n\n if (data) {\n return JSON.stringify(data, null, 2);\n }\n const match = (\"\\n\" + text).match(/\\n```[a-zA-z]*([\\s\\S]*?)\\n```/);\n if (match) {\n return JSON.parse(match[1]);\n }\n return JSON.parse(text);\n};\n\nconst sample_object = { apple: \"red\", lemon: \"yellow\" };\n\nconst json_str = JSON.stringify(sample_object);\nconst md_json1 = [\"```\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json2 = [\"```json\", json_str, \"```\"].join(\"\\n\");\n\nconst md_json3 = [\"```JSON\", json_str, \"```\"].join(\"\\n\");\n\nconst jsonParserAgentInfo: AgentFunctionInfo = {\n name: \"jsonParserAgent\",\n agent: jsonParserAgent,\n mock: jsonParserAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n type: \"string\",\n },\n samples: [\n {\n inputs: { data: sample_object },\n params: {},\n result: JSON.stringify(sample_object, null, 2),\n },\n {\n inputs: { text: JSON.stringify(sample_object, null, 2) },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json1 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json2 },\n params: {},\n result: sample_object,\n },\n {\n inputs: { text: md_json3 },\n params: {},\n result: sample_object,\n },\n ],\n description: \"Template agent\",\n category: [\"string\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default jsonParserAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const stringCaseVariantsAgent: AgentFunction<\n { suffix?: string },\n { lowerCamelCase: string; snakeCase: string; kebabCase: string; normalized: string },\n { text: string }\n> = async ({ namedInputs, params }) => {\n const { suffix } = params;\n const normalizedArray = namedInputs.text\n .trim()\n .replace(/[\\s-_]+/g, \" \")\n .toLowerCase()\n .split(\" \");\n if (suffix && normalizedArray[normalizedArray.length - 1] !== suffix) {\n normalizedArray.push(suffix);\n }\n const normalized = normalizedArray.join(\" \");\n\n const lowerCamelCase = normalizedArray\n .map((word, index) => {\n if (index === 0) return word;\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n\n const snakeCase = normalized.replace(/\\s+/g, \"_\");\n const kebabCase = normalized.replace(/\\s+/g, \"-\");\n\n return { lowerCamelCase, snakeCase, kebabCase, normalized };\n};\n\nconst stringCaseVariantsAgentInfo: AgentFunctionInfo = {\n name: \"stringCaseVariantsAgent\",\n agent: stringCaseVariantsAgent,\n mock: stringCaseVariantsAgent,\n samples: [\n {\n inputs: { text: \"this is a pen\" },\n params: {},\n result: {\n kebabCase: \"this-is-a-pen\",\n lowerCamelCase: \"thisIsAPen\",\n normalized: \"this is a pen\",\n snakeCase: \"this_is_a_pen\",\n },\n },\n {\n inputs: { text: \"string case variants\" },\n params: { suffix: \"agent\" },\n result: {\n kebabCase: \"string-case-variants-agent\",\n lowerCamelCase: \"stringCaseVariantsAgent\",\n normalized: \"string case variants agent\",\n snakeCase: \"string_case_variants_agent\",\n },\n },\n ],\n description: \"Format String Cases agent\",\n category: [\"string\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringCaseVariantsAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const pushAgent: AgentFunction }, { array: Array; item?: unknown; items: Array }> = async ({\n namedInputs,\n}) => {\n const extra_message = \" Set inputs: { array: :arrayNodeId, item: :itemNodeId }\";\n arrayValidate(\"pushAgent\", namedInputs, extra_message);\n const { item, items } = namedInputs;\n assert(!!(item || items), \"pushAgent: namedInputs.item is UNDEFINED!\" + extra_message);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n if (item) {\n array.push(item);\n } else {\n items.forEach((item) => {\n array.push(item);\n });\n }\n return {\n array,\n };\n};\n\nconst pushAgentInfo: AgentFunctionInfo = {\n name: \"pushAgent\",\n agent: pushAgent,\n mock: pushAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to push an item to\",\n },\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n items: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item push into the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2], item: 3 },\n params: {},\n result: { array: [1, 2, 3] },\n },\n {\n inputs: { array: [{ apple: 1 }], item: { lemon: 2 } },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }] },\n },\n {\n inputs: { array: [{ apple: 1 }], items: [{ lemon: 2 }, { banana: 3 }] },\n params: {},\n result: { array: [{ apple: 1 }, { lemon: 2 }, { banana: 3 }] },\n },\n ],\n description: \"push Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default pushAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const popAgent: AgentFunction; item: unknown }, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"popAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.pop();\n return { array, item };\n};\n\nconst popAgentInfo: AgentFunctionInfo = {\n name: \"popAgent\",\n agent: popAgent,\n mock: popAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to pop an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item popped from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"a\", \"b\"],\n item: \"c\",\n },\n },\n {\n inputs: {\n array: [1, 2, 3],\n array2: [\"a\", \"b\", \"c\"],\n },\n params: {},\n result: {\n array: [1, 2],\n item: 3,\n },\n },\n ],\n description: \"Pop Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default popAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const shiftAgent: AgentFunction, Record, { array: Array }> = async ({ namedInputs }) => {\n arrayValidate(\"shiftAgent\", namedInputs);\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n const item = array.shift();\n return { array, item };\n};\n\nconst shiftAgentInfo: AgentFunctionInfo = {\n name: \"shiftAgent\",\n agent: shiftAgent,\n mock: shiftAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to shift an item from\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n item: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n description: \"the item shifted from the array\",\n },\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: {\n array: [2, 3],\n item: 1,\n },\n },\n {\n inputs: { array: [\"a\", \"b\", \"c\"] },\n params: {},\n result: {\n array: [\"b\", \"c\"],\n item: \"a\",\n },\n },\n ],\n description: \"shift Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default shiftAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayFlatAgent: AgentFunction<{ depth?: number }, { array: Array }, { array: Array }> = async ({ namedInputs, params }) => {\n arrayValidate(\"arrayFlatAgent\", namedInputs);\n const depth = params.depth ?? 1;\n\n const array = namedInputs.array.map((item: any) => item); // shallow copy\n return { array: array.flat(depth) };\n};\n\nconst arrayFlatAgentInfo: AgentFunctionInfo = {\n name: \"arrayFlatAgent\",\n agent: arrayFlatAgent,\n mock: arrayFlatAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"flat array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the remaining array\",\n },\n },\n },\n params: {\n type: \"object\",\n properties: {\n depth: {\n type: \"number\",\n description: \"array depth\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n array: [1, 2, [3]],\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: { depth: 2 },\n result: {\n array: [1, 2, 3],\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n array: [\"a\", \"b\", \"c\"],\n },\n },\n ],\n description: \"Array Flat Agent\",\n category: [\"array\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n cacheType: \"pureAgent\",\n license: \"MIT\",\n};\nexport default arrayFlatAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const arrayJoinAgent: AgentFunction<{ separator?: string; flat?: number }, { text: string }, { array: Array }> = async ({\n namedInputs,\n params,\n}) => {\n arrayValidate(\"arrayJoinAgent\", namedInputs);\n const separator = params.separator ?? \"\";\n const { flat } = params;\n\n const text = flat ? namedInputs.array.flat(flat).join(separator) : namedInputs.array.join(separator);\n return { text };\n};\n\nconst arrayJoinAgentInfo: AgentFunctionInfo = {\n name: \"arrayJoinAgent\",\n agent: arrayJoinAgent,\n mock: arrayJoinAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"array join\",\n },\n },\n required: [\"array\"],\n },\n params: {\n type: \"object\",\n properties: {\n separator: {\n type: \"string\",\n description: \"array join separator\",\n },\n flat: {\n type: \"number\",\n description: \"array flat depth\",\n },\n },\n },\n output: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description: \"joined text\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [[1], [2], [3]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[1], [2], [[3]]] },\n params: {},\n result: {\n text: \"123\",\n },\n },\n {\n inputs: { array: [[\"a\"], [\"b\"], [\"c\"]] },\n params: {},\n result: {\n text: \"abc\",\n },\n },\n //\n {\n inputs: { array: [[1], [2], [3]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\" },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[1]], [[2], [3]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2|3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 1 },\n result: {\n text: \"1|2,3\",\n },\n },\n {\n inputs: { array: [[[[1]], [[2], [3]]]] },\n params: { separator: \"|\", flat: 2 },\n result: {\n text: \"1|2|3\",\n },\n },\n ],\n description: \"Array Join Agent\",\n category: [\"array\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default arrayJoinAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent calculates the dot product of an array of vectors (A[]) and a vector (B),\n// typically used to calculate cosine similarity of embedding vectors.\n// Inputs:\n// matrix: Two dimentional array of numbers.\n// vector: One dimentional array of numbers.\n// Outputs:\n// { contents: Array } // array of docProduct of each vector (A[]) and vector B\nexport const dotProductAgent: AgentFunction, Array, { matrix: Array>; vector: Array }> = async ({\n namedInputs,\n}) => {\n assert(!!namedInputs, \"dotProductAgent: namedInputs is UNDEFINED!\");\n const matrix = namedInputs.matrix as Array>;\n const vector = namedInputs.vector as Array;\n if (matrix[0].length != vector.length) {\n throw new Error(`dotProduct: Length of vectors do not match. ${matrix[0].length}, ${vector.length}`);\n }\n const contents = matrix.map((vector0) => {\n return vector0.reduce((dotProduct: number, value, index) => {\n return dotProduct + value * vector[index];\n }, 0);\n });\n return contents;\n};\n\nconst dotProductAgentInfo: AgentFunctionInfo = {\n name: \"dotProductAgent\",\n agent: dotProductAgent,\n mock: dotProductAgent,\n inputs: {\n type: \"object\",\n properties: {\n matrix: {\n type: \"array\",\n description: \"two dimentional matrix\",\n items: {\n type: \"array\",\n items: {\n type: \"number\",\n },\n },\n },\n vector: {\n type: \"array\",\n description: \"the vector\",\n items: {\n type: \"number\",\n },\n },\n },\n required: [\"matrix\", \"vector\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n matrix: [\n [1, 2],\n [3, 4],\n [5, 6],\n ],\n vector: [3, 2],\n },\n params: {},\n result: [7, 17, 27],\n },\n {\n inputs: {\n matrix: [\n [1, 2],\n [2, 3],\n ],\n vector: [1, 2],\n },\n params: {},\n result: [5, 8],\n },\n ],\n description: \"dotProduct Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dotProductAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\n\n// This agent returned a sorted array of one array (A) based on another array (B).\n// The default sorting order is \"decendant\".\n//\n// Parameters:\n// acendant: Specifies if the sorting order should be acendant. The default is \"false\" (decendant).\n// Inputs:\n// array: Array; // array to be sorted\n// values: Array; // array of numbers for sorting\n//\nexport const sortByValuesAgent: AgentFunction<\n {\n assendant?: boolean;\n },\n Array,\n {\n array: Array;\n values: Array;\n }\n> = async ({ params, namedInputs }) => {\n assert(!!namedInputs, \"sortByValue: namedInputs is UNDEFINED!\");\n assert(!!namedInputs.array, \"sortByValue: namedInputs.array is UNDEFINED!\");\n assert(!!namedInputs.values, \"sortByValue: namedInputs.values is UNDEFINED!\");\n\n const direction = (params?.assendant ?? false) ? -1 : 1;\n const array: Array = namedInputs.array;\n const values: Array = namedInputs.values;\n const joined = array.map((item, index) => {\n return { item, value: values[index] };\n });\n const contents = joined\n .sort((a, b) => {\n return (b.value - a.value) * direction;\n })\n .map((a) => {\n return a.item;\n });\n return contents;\n};\n\nconst sortByValuesAgentInfo: AgentFunctionInfo = {\n name: \"sortByValuesAgent\",\n agent: sortByValuesAgent,\n mock: sortByValuesAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to sort\",\n },\n values: {\n type: \"array\",\n description: \"values associated with items in the array\",\n },\n },\n required: [\"array\", \"values\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {},\n result: [\"lemon\", \"orange\", \"apple\", \"banana\"],\n },\n {\n inputs: {\n array: [\"banana\", \"orange\", \"lemon\", \"apple\"],\n values: [2, 5, 6, 4],\n },\n params: {\n assendant: true,\n },\n result: [\"banana\", \"apple\", \"orange\", \"lemon\"],\n },\n ],\n description: \"sortByValues Agent\",\n category: [\"matrix\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sortByValuesAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const echoAgent: AgentFunction = async ({ params, filterParams }) => {\n if (params.filterParams) {\n return filterParams;\n }\n return params;\n};\n\n// for test and document\nconst echoAgentInfo: AgentFunctionInfo = {\n name: \"echoAgent\",\n agent: echoAgent,\n mock: echoAgent,\n samples: [\n {\n inputs: {},\n params: { text: \"this is test\" },\n result: { text: \"this is test\" },\n },\n {\n inputs: {},\n params: {\n text: \"If you add filterParams option, it will respond to filterParams\",\n filterParams: true,\n },\n result: {},\n },\n ],\n description: \"Echo agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default echoAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const countingAgent: AgentFunction<{ count: number }, { list: number[] }> = async ({ params }) => {\n return {\n list: new Array(params.count).fill(undefined).map((_, i) => {\n return i;\n }),\n };\n};\n\n// for test and document\nconst countingAgentInfo: AgentFunctionInfo = {\n name: \"countingAgent\",\n agent: countingAgent,\n mock: countingAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4 },\n result: { list: [0, 1, 2, 3] },\n },\n ],\n description: \"Counting agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default countingAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const copyMessageAgent: AgentFunction<{ count: number; message: string }, { messages: string[] }> = async ({ params }) => {\n return {\n messages: new Array(params.count).fill(undefined).map(() => {\n return params.message;\n }),\n };\n};\n\n// for test and document\nconst copyMessageAgentInfo: AgentFunctionInfo = {\n name: \"copyMessageAgent\",\n agent: copyMessageAgent,\n mock: copyMessageAgent,\n samples: [\n {\n inputs: {},\n params: { count: 4, message: \"hello\" },\n result: { messages: [\"hello\", \"hello\", \"hello\", \"hello\"] },\n },\n ],\n description: \"CopyMessage agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copyMessageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copy2ArrayAgent: AgentFunction<{ count: number }> = async ({ namedInputs, params }) => {\n assert(isNamedInputs(namedInputs), \"copy2ArrayAgent: namedInputs is UNDEFINED!\");\n const input = namedInputs.item ? namedInputs.item : namedInputs;\n return new Array(params.count).fill(undefined).map(() => {\n return input;\n });\n};\n\n// for test and document\nconst copy2ArrayAgentInfo: AgentFunctionInfo = {\n name: \"copy2ArrayAgent\",\n agent: copy2ArrayAgent,\n mock: copy2ArrayAgent,\n samples: [\n {\n inputs: { item: { message: \"hello\" } },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { message: \"hello\" },\n params: { count: 10 },\n result: [\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n { message: \"hello\" },\n ],\n },\n {\n inputs: { item: \"hello\" },\n params: { count: 10 },\n result: [\"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\", \"hello\"],\n },\n ],\n description: \"Copy2Array agent\",\n category: [\"test\"],\n cacheType: \"pureAgent\",\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default copy2ArrayAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\nexport const mergeNodeIdAgent: AgentFunction, { array: Record[] }> = async ({\n debugInfo: { nodeId },\n namedInputs,\n}) => {\n arrayValidate(\"mergeNodeIdAgent\", namedInputs);\n\n const dataSet = namedInputs.array;\n\n return dataSet.reduce(\n (tmp, input) => {\n return { ...tmp, ...input };\n },\n { [nodeId]: \"hello\" },\n );\n};\n\n// for test and document\nconst mergeNodeIdAgentInfo: AgentFunctionInfo = {\n name: \"mergeNodeIdAgent\",\n agent: mergeNodeIdAgent,\n mock: mergeNodeIdAgent,\n samples: [\n {\n inputs: { array: [{ message: \"hello\" }] },\n params: {},\n result: {\n message: \"hello\",\n test: \"hello\",\n },\n },\n ],\n description: \"merge node id agent\",\n category: [\"test\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\n\nexport default mergeNodeIdAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const streamMockAgent: AgentFunction = async ({ params, filterParams, namedInputs }) => {\n const message = params.message ?? namedInputs.message ?? \"\";\n\n for await (const token of message.split(\"\")) {\n if (filterParams.streamTokenCallback) {\n filterParams.streamTokenCallback(token);\n }\n await sleep(params.sleep || 100);\n }\n\n return { message };\n};\n\n// for test and document\nconst streamMockAgentInfo: AgentFunctionInfo = {\n name: \"streamMockAgent\",\n agent: streamMockAgent,\n mock: streamMockAgent,\n inputs: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n description: \"streaming message\",\n },\n },\n },\n {\n type: \"array\",\n },\n ],\n },\n samples: [\n {\n inputs: {},\n params: { message: \"this is params test\" },\n result: { message: \"this is params test\" },\n },\n {\n inputs: { message: \"this is named inputs test\" },\n params: {},\n result: { message: \"this is named inputs test\" },\n },\n ],\n description: \"Stream mock agent\",\n category: [\"test\"],\n author: \"Isamu Arimoto\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n stream: true,\n};\n\nexport default streamMockAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, StaticNodeData, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const nestedAgent: AgentFunction<{ throwError?: boolean }> = async ({ namedInputs, log, debugInfo, params, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n const throwError = params.throwError ?? false;\n if (taskManager) {\n const status = taskManager.getStatus(false);\n assert(status.concurrency > status.running, `nestedAgent: Concurrency is too low: ${status.concurrency}`);\n }\n assert(!!graphData, \"nestedAgent: graph is required\");\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n if (nodeIds.length > 0) {\n nodeIds.forEach((nodeId) => {\n if (nestedGraphData.nodes[nodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[nodeId] = { value: namedInputs[nodeId] };\n } else {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n (nestedGraphData.nodes[nodeId] as StaticNodeData)[\"value\"] = namedInputs[nodeId];\n }\n });\n }\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n\n const results = await graphAI.run(false);\n log?.push(...graphAI.transactionLogs());\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst nestedAgentInfo: AgentFunctionInfo = {\n name: \"nestedAgent\",\n agent: nestedAgent,\n mock: nestedAgent,\n samples: [\n {\n inputs: {\n message: \"hello\",\n },\n params: {},\n result: {\n test: [\"hello\"],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"messages\" },\n inputs: { messages: [\":message\"] },\n isResult: true,\n },\n },\n },\n },\n ],\n description: \"nested Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default nestedAgentInfo;\n","import { GraphAI, AgentFunction, AgentFunctionInfo, assert, graphDataLatestVersion } from \"graphai\";\n\nexport const mapAgent: AgentFunction<\n {\n limit?: number;\n resultAll?: boolean;\n compositeResult?: boolean;\n throwError?: boolean;\n },\n Record\n> = async ({ params, namedInputs, log, debugInfo, forNestedGraph }) => {\n assert(!!forNestedGraph, \"Please update graphai to 0.5.19 or higher\");\n\n const { agents, graphData, graphOptions, onLogCallback } = forNestedGraph;\n const { taskManager } = graphOptions;\n\n if (taskManager) {\n const status = taskManager.getStatus();\n assert(status.concurrency > status.running, `mapAgent: Concurrency is too low: ${status.concurrency}`);\n }\n\n assert(!!namedInputs.rows, \"mapAgent: rows property is required in namedInput\");\n assert(!!graphData, \"mapAgent: graph is required\");\n\n const rows = namedInputs.rows.map((item: any) => item);\n if (params.limit && params.limit < rows.length) {\n rows.length = params.limit; // trim\n }\n const resultAll = params.resultAll ?? false;\n const throwError = params.throwError ?? false;\n\n const { nodes } = graphData;\n const nestedGraphData = { ...graphData, nodes: { ...nodes }, version: graphDataLatestVersion }; // deep enough copy\n\n const nodeIds = Object.keys(namedInputs);\n nestedGraphData.nodes[\"__mapIndex\"] = {};\n nodeIds.forEach((nodeId) => {\n const mappedNodeId = nodeId === \"rows\" ? \"row\" : nodeId;\n if (nestedGraphData.nodes[mappedNodeId] === undefined) {\n // If the input node does not exist, automatically create a static node\n nestedGraphData.nodes[mappedNodeId] = { value: namedInputs[nodeId] };\n } else if (!(\"agent\" in nestedGraphData.nodes[mappedNodeId])) {\n // Otherwise, inject the proper data here (instead of calling injectTo method later)\n nestedGraphData.nodes[mappedNodeId][\"value\"] = namedInputs[nodeId];\n }\n });\n\n try {\n if (nestedGraphData.version === undefined && debugInfo.version) {\n nestedGraphData.version = debugInfo.version;\n }\n const graphs: Array = rows.map((row: any, index: number) => {\n const graphAI = new GraphAI(nestedGraphData, agents || {}, graphOptions);\n graphAI.injectValue(\"row\", row, \"__mapAgent_inputs__\");\n graphAI.injectValue(\"__mapIndex\", index, \"__mapAgent_inputs__\");\n // for backward compatibility. Remove 'if' later\n if (onLogCallback) {\n graphAI.onLogCallback = onLogCallback;\n }\n return graphAI;\n });\n\n const runs = graphs.map((graph) => {\n return graph.run(resultAll);\n });\n const results = await Promise.all(runs);\n const nodeIds = Object.keys(results[0]);\n // assert(nodeIds.length > 0, \"mapAgent: no return values (missing isResult)\");\n\n if (log) {\n const logs = graphs.map((graph, index) => {\n return graph.transactionLogs().map((log) => {\n log.mapIndex = index;\n return log;\n });\n });\n log.push(...logs.flat());\n }\n\n if (params.compositeResult) {\n const compositeResult = nodeIds.reduce((tmp: Record>, nodeId) => {\n tmp[nodeId] = results.map((result) => {\n return result[nodeId];\n });\n return tmp;\n }, {});\n return compositeResult;\n }\n return results;\n } catch (error) {\n if (error instanceof Error && !throwError) {\n return {\n onError: {\n message: error.message,\n error,\n },\n };\n }\n throw error;\n }\n};\n\nconst mapAgentInfo: AgentFunctionInfo = {\n name: \"mapAgent\",\n agent: mapAgent,\n mock: mapAgent,\n samples: [\n {\n inputs: {\n rows: [1, 2],\n },\n params: {},\n result: [{ test: [1] }, { test: [2] }],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${word}.\",\n },\n inputs: { word: \":row\" },\n isResult: true,\n },\n },\n },\n result: [\n { node2: \"I love apple.\" },\n { node2: \"I love orange.\" },\n { node2: \"I love banana.\" },\n { node2: \"I love lemon.\" },\n { node2: \"I love melon.\" },\n { node2: \"I love pineapple.\" },\n { node2: \"I love tomato.\" },\n ],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${item}.\",\n },\n inputs: { item: \":row.fruit\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"I love apple.\" }, { node2: \"I love orange.\" }],\n },\n {\n inputs: {\n rows: [{ fruit: \"apple\" }, { fruit: \"orange\" }],\n name: \"You\",\n verb: \"like\",\n },\n params: {},\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"${name} ${verb} ${fruit}.\",\n },\n inputs: { fruit: \":row.fruit\", name: \":name\", verb: \":verb\" },\n isResult: true,\n },\n },\n },\n result: [{ node2: \"You like apple.\" }, { node2: \"You like orange.\" }],\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n test: [1],\n row: 1,\n },\n {\n __mapIndex: 1,\n test: [2],\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n },\n result: [\n {\n __mapIndex: 0,\n map: [\n {\n test: 1,\n },\n {\n test: 1,\n },\n ],\n row: 1,\n test: 1,\n },\n {\n __mapIndex: 1,\n map: [\n {\n test: 2,\n },\n {\n test: 2,\n },\n ],\n test: 2,\n row: 2,\n },\n ],\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"row\" },\n inputs: { row: \":row\" },\n },\n },\n },\n },\n },\n },\n },\n\n // old response\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n isResult: true,\n },\n },\n },\n },\n {\n inputs: {\n rows: [\"apple\", \"orange\", \"banana\", \"lemon\", \"melon\", \"pineapple\", \"tomato\"],\n },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n node2: {\n agent: \"stringTemplateAgent\",\n params: {\n template: \"I love ${row}.\",\n },\n inputs: { row: \":row\" },\n isResult: true,\n },\n },\n },\n result: {\n node2: [\"I love apple.\", \"I love orange.\", \"I love banana.\", \"I love lemon.\", \"I love melon.\", \"I love pineapple.\", \"I love tomato.\"],\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n test: [[1], [2]],\n __mapIndex: [0, 1],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n {\n inputs: {\n rows: [1, 2],\n },\n params: {\n resultAll: true,\n compositeResult: true,\n },\n result: {\n __mapIndex: [0, 1],\n test: [[1], [2]],\n map: [\n {\n test: [[[1]], [[1]]],\n },\n {\n test: [[[2]], [[2]]],\n },\n ],\n row: [1, 2],\n },\n graph: {\n nodes: {\n test: {\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n map: {\n agent: \"mapAgent\",\n inputs: { rows: [\":test\", \":test\"] },\n params: {\n compositeResult: true,\n },\n graph: {\n nodes: {\n test: {\n isResult: true,\n agent: \"copyAgent\",\n params: { namedKey: \"rows\" },\n inputs: { rows: [\":row\"] },\n },\n },\n },\n },\n },\n },\n },\n ],\n description: \"Map Agent\",\n category: [\"graph\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default mapAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const totalAgent: AgentFunction, Record, { array: Record[] }> = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"totalAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"totalAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((result, input) => {\n const inputArray = Array.isArray(input) ? input : [input];\n inputArray.forEach((innerInput) => {\n Object.keys(innerInput).forEach((key) => {\n const value = innerInput[key];\n if (result[key]) {\n result[key] += value;\n } else {\n result[key] = value;\n }\n });\n });\n return result;\n }, {});\n};\n\n//\nconst totalAgentInfo: AgentFunctionInfo = {\n name: \"totalAgent\",\n agent: totalAgent,\n mock: totalAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: { array: [[{ a: 1, b: -1 }, { c: 10 }], [{ a: 2, b: -1 }], [{ a: 3, b: -2 }, { d: -10 }]] },\n params: {},\n result: { a: 6, b: -4, c: 10, d: -10 },\n },\n {\n inputs: { array: [{ a: 1 }] },\n params: {},\n result: { a: 1 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }] },\n params: {},\n result: { a: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2 }, { a: 3 }] },\n params: {},\n result: { a: 6 },\n },\n {\n inputs: {\n array: [\n { a: 1, b: 1 },\n { a: 2, b: 2 },\n { a: 3, b: 0 },\n ],\n },\n params: {},\n result: { a: 6, b: 3 },\n },\n {\n inputs: { array: [{ a: 1 }, { a: 2, b: 2 }, { a: 3, b: 0 }] },\n params: {},\n result: { a: 6, b: 2 },\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default totalAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const dataSumTemplateAgent: AgentFunction = async ({ namedInputs }) => {\n assert(isNamedInputs(namedInputs), \"dataSumTemplateAgent: namedInputs is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n assert(!!namedInputs?.array, \"dataSumTemplateAgent: namedInputs.array is UNDEFINED! Set inputs: { array: :arrayNodeId }\");\n\n return namedInputs.array.reduce((tmp, input) => {\n return tmp + input;\n }, 0);\n};\n\nconst dataSumTemplateAgentInfo: AgentFunctionInfo = {\n name: \"dataSumTemplateAgent\",\n agent: dataSumTemplateAgent,\n mock: dataSumTemplateAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of numbers to calculate the sum of\",\n items: {\n type: \"integer\",\n },\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"number\",\n },\n samples: [\n {\n inputs: { array: [1] },\n params: {},\n result: 1,\n },\n {\n inputs: { array: [1, 2] },\n params: {},\n result: 3,\n },\n {\n inputs: { array: [1, 2, 3] },\n params: {},\n result: 6,\n },\n ],\n description: \"Returns the sum of input values\",\n category: [\"data\"],\n author: \"Satoshi Nakajima\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default dataSumTemplateAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nconst applyFilter = (\n object: any,\n index: number,\n arrayInputs: any,\n include: Array | undefined,\n exclude: Array | undefined,\n alter: Record> | undefined,\n inject: Array> | undefined,\n swap: Record | undefined,\n inspect: Array> | undefined,\n) => {\n const propIds = include ? include : Object.keys(object);\n const excludeSet = new Set(exclude ?? []);\n const result = propIds.reduce((tmp: Record, propId) => {\n if (!excludeSet.has(propId)) {\n const mapping = alter && alter[propId];\n if (mapping && mapping[object[propId]]) {\n tmp[propId] = mapping[object[propId]];\n } else {\n tmp[propId] = object[propId];\n }\n }\n return tmp;\n }, {});\n\n if (inject) {\n inject.forEach((item) => {\n if (item.index === undefined || item.index === index) {\n result[item.propId] = arrayInputs[item.from];\n }\n });\n }\n if (inspect) {\n inspect.forEach((item) => {\n const value = arrayInputs[item.from ?? 1]; // default is arrayInputs[1]\n if (item.equal) {\n result[item.propId] = item.equal === value;\n } else if (item.notEqual) {\n result[item.propId] = item.notEqual !== value;\n }\n });\n }\n if (swap) {\n Object.keys(swap).forEach((key) => {\n const tmp = result[key];\n result[key] = result[swap[key]];\n result[swap[key]] = tmp;\n });\n }\n return result;\n};\n\nexport const propertyFilterAgent: AgentFunction<{\n include?: Array;\n exclude?: Array;\n alter?: Record>;\n inject?: Array>;\n inspect?: Array>;\n swap?: Record;\n}> = async ({ namedInputs, params }) => {\n const { include, exclude, alter, inject, swap, inspect } = params;\n const { array, item } = namedInputs;\n if (array) {\n // This is advanced usage, including \"inject\" and \"inspect\", which uses\n // array[1], array[2], ...\n const [target] = array; // Extract the first one\n if (Array.isArray(target)) {\n return target.map((item, index) => applyFilter(item, index, array, include, exclude, alter, inject, swap, inspect));\n }\n return applyFilter(target, 0, array, include, exclude, alter, inject, swap, inspect);\n } else if (item) {\n return applyFilter(item, 0, [], include, exclude, alter, inject, swap, inspect);\n }\n return false;\n};\n\nconst testInputs = {\n array: [\n [\n { color: \"red\", model: \"Model 3\", type: \"EV\", maker: \"Tesla\", range: 300 },\n { color: \"blue\", model: \"Model Y\", type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n \"Tesla Motors\",\n ],\n};\n\nconst propertyFilterAgentInfo: AgentFunctionInfo = {\n name: \"propertyFilterAgent\",\n agent: propertyFilterAgent,\n mock: propertyFilterAgent,\n inputs: {\n type: \"object\",\n },\n output: {\n type: \"any\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array to apply filter\",\n },\n item: {\n type: \"object\",\n description: \"the object to apply filter\",\n },\n },\n },\n samples: [\n {\n inputs: { array: [testInputs.array[0][0]] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { include: [\"color\", \"model\"] },\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: testInputs,\n params: { include: [\"color\", \"model\"] },\n result: [\n { color: \"red\", model: \"Model 3\" },\n { color: \"blue\", model: \"Model Y\" },\n ],\n },\n {\n inputs: testInputs,\n params: { exclude: [\"color\", \"model\"] },\n result: [\n { type: \"EV\", maker: \"Tesla\", range: 300 },\n { type: \"EV\", maker: \"Tesla\", range: 400 },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { exclude: [\"color\", \"model\"] },\n result: { type: \"EV\", maker: \"Tesla\", range: 300 },\n },\n {\n inputs: testInputs,\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: [\n {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n {\n color: \"red\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { alter: { color: { red: \"blue\", blue: \"red\" } } },\n result: {\n color: \"blue\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { swap: { maker: \"model\" } },\n result: [\n {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model Y\",\n range: 400,\n },\n ],\n },\n {\n inputs: { item: testInputs.array[0][0] },\n params: { swap: { maker: \"model\" } },\n result: {\n color: \"red\",\n model: \"Tesla\",\n type: \"EV\",\n maker: \"Model 3\",\n range: 300,\n },\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: { inject: [{ propId: \"maker\", from: 1, index: 0 }] },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla Motors\",\n range: 300,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n },\n ],\n },\n {\n inputs: testInputs,\n params: {\n inspect: [\n { propId: \"isTesla\", equal: \"Tesla Motors\" }, // from: 1 is implied\n { propId: \"isGM\", notEqual: \"Tesla Motors\", from: 1 },\n ],\n },\n result: [\n {\n color: \"red\",\n model: \"Model 3\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 300,\n isTesla: true,\n isGM: false,\n },\n {\n color: \"blue\",\n model: \"Model Y\",\n type: \"EV\",\n maker: \"Tesla\",\n range: 400,\n isTesla: true,\n isGM: false,\n },\n ],\n },\n ],\n description: \"Filter properties based on property name either with 'include', 'exclude', 'alter', 'swap', 'inject', 'inspect'\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default propertyFilterAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { isNamedInputs } from \"@graphai/agent_utils\";\n\nexport const copyAgent: AgentFunction<{\n namedKey?: string;\n}> = async ({ namedInputs, params }) => {\n const { namedKey } = params;\n assert(isNamedInputs(namedInputs), \"copyAgent: namedInputs is UNDEFINED!\");\n if (namedKey) {\n return namedInputs[namedKey];\n }\n return namedInputs;\n};\n\nconst copyAgentInfo: AgentFunctionInfo = {\n name: \"copyAgent\",\n agent: copyAgent,\n mock: copyAgent,\n inputs: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n output: {\n anyOf: [{ type: \"string\" }, { type: \"integer\" }, { type: \"object\" }, { type: \"array\" }],\n },\n samples: [\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: {},\n result: { color: \"red\", model: \"Model 3\" },\n },\n {\n inputs: { array: [\"Hello World\", \"Discarded\"] },\n params: {},\n result: { array: [\"Hello World\", \"Discarded\"] },\n },\n {\n inputs: { color: \"red\", model: \"Model 3\" },\n params: { namedKey: \"color\" },\n result: \"red\",\n },\n ],\n description: \"Returns namedInputs\",\n category: [\"data\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default copyAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\nexport const vanillaFetchAgent: AgentFunction<{ debug?: boolean; type?: string; throwError?: boolean }, any, any> = async ({ namedInputs, params }) => {\n const { url, method, queryParams, headers, body } = namedInputs;\n const throwError = params.throwError ?? false;\n\n const url0 = new URL(url);\n const headers0 = headers ? { ...headers } : {};\n\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n url0.search = params.toString();\n }\n\n if (body) {\n headers0[\"Content-Type\"] = \"application/json\";\n }\n\n const fetchOptions: RequestInit = {\n method: (method ?? body) ? \"POST\" : \"GET\",\n headers: new Headers(headers0),\n body: body ? JSON.stringify(body) : undefined,\n };\n\n if (params?.debug) {\n return {\n url: url0.toString(),\n method: fetchOptions.method,\n headers: headers0,\n body: fetchOptions.body,\n };\n }\n\n const response = await fetch(url0.toString(), fetchOptions);\n\n if (!response.ok) {\n const status = response.status;\n const type = params?.type ?? \"json\";\n const error = type === \"json\" ? await response.json() : await response.text();\n if (throwError) {\n throw new Error(`HTTP error: ${status}`);\n }\n return {\n onError: {\n message: `HTTP error: ${status}`,\n status,\n error,\n },\n };\n }\n\n const result = await (async () => {\n const type = params?.type ?? \"json\";\n if (type === \"json\") {\n return await response.json();\n } else if (type === \"text\") {\n return response.text();\n }\n throw new Error(`Unknown Type! ${type}`);\n })();\n\n return result;\n};\n\nconst vanillaFetchAgentInfo: AgentFunctionInfo = {\n name: \"vanillaFetchAgent\",\n agent: vanillaFetchAgent,\n mock: vanillaFetchAgent,\n inputs: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n description: \"baseurl\",\n },\n method: {\n type: \"string\",\n description: \"HTTP method\",\n },\n headers: {\n type: \"object\",\n description: \"HTTP headers\",\n },\n quaryParams: {\n type: \"object\",\n description: \"Query parameters\",\n },\n body: {\n anyOf: [{ type: \"string\" }, { type: \"object\" }],\n description: \"body\",\n },\n },\n required: [\"url\"],\n },\n output: {\n type: \"array\",\n },\n samples: [\n {\n inputs: { url: \"https://www.google.com\", queryParams: { foo: \"bar\" }, headers: { \"x-myHeader\": \"secret\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"GET\",\n url: \"https://www.google.com/?foo=bar\",\n headers: {\n \"x-myHeader\": \"secret\",\n },\n body: undefined,\n },\n },\n {\n inputs: { url: \"https://www.google.com\", body: { foo: \"bar\" } },\n params: {\n debug: true,\n },\n result: {\n method: \"POST\",\n url: \"https://www.google.com/\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ foo: \"bar\" }),\n },\n },\n ],\n description: \"Retrieves JSON data from the specified URL\",\n category: [\"service\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default vanillaFetchAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, sleep } from \"graphai\";\n\nexport const sleeperAgent: AgentFunction<{ duration?: number }> = async ({ params, namedInputs }) => {\n await sleep(params?.duration ?? 10);\n return namedInputs;\n};\n\nconst sleeperAgentInfo: AgentFunctionInfo = {\n name: \"sleeperAgent\",\n agent: sleeperAgent,\n mock: sleeperAgent,\n samples: [\n {\n inputs: {},\n params: { duration: 1 },\n result: {},\n },\n {\n inputs: { array: [{ a: 1 }, { b: 2 }] },\n params: { duration: 1 },\n result: {\n array: [{ a: 1 }, { b: 2 }],\n },\n },\n ],\n description: \"sleeper Agent\",\n category: [\"sleeper\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default sleeperAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\ntype CompareDataItem = string | number | boolean | CompareData;\ntype CompareData = CompareDataItem[];\n\nconst compare = (_array: CompareData): boolean => {\n if (_array.length !== 3) {\n throw new Error(`compare inputs length must must be 3`);\n }\n const array = _array.map((value) => {\n if (Array.isArray(value)) {\n return compare(value);\n }\n return value;\n });\n const [a, operator, b] = array;\n if (operator === \"==\") {\n return a === b;\n }\n if (operator === \"!=\") {\n return a !== b;\n }\n if (operator === \">\") {\n return Number(a) > Number(b);\n }\n if (operator === \">=\") {\n return Number(a) >= Number(b);\n }\n if (operator === \"<\") {\n return Number(a) < Number(b);\n }\n if (operator === \"<=\") {\n return Number(a) <= Number(b);\n }\n if (operator === \"||\") {\n return !!a || !!b;\n }\n if (operator === \"&&\") {\n return !!a && !!b;\n }\n if (operator === \"XOR\") {\n return !!a === !b;\n }\n throw new Error(`unknown compare operator`);\n};\n\nexport const compareAgent: AgentFunction = async ({ namedInputs, params }) => {\n const ret = compare(namedInputs.array);\n if (params?.value) {\n return params?.value[ret ? \"true\" : \"false\"] ?? ret;\n }\n return ret;\n};\n\nconst compareAgentInfo: AgentFunctionInfo = {\n name: \"compareAgent\",\n agent: compareAgent,\n mock: compareAgent,\n inputs: {},\n output: {},\n samples: [\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"a\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abca\"] },\n params: { value: { true: \"a\", false: \"b\" } },\n result: \"b\",\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abc\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"abc\", \"==\", \"abcd\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abc\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"abc\", \"!=\", \"abcd\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">\", \"15\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">\", 15] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \">=\", \"5\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \">=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 10\n inputs: { array: [\"10\", \">=\", \"19\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \">=\", 5] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \">=\", 19] },\n params: {},\n result: false,\n },\n //\n\n {\n inputs: { array: [\"10\", \"<\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<\", \"15\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<\", 15] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"5\"] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [\"10\", \"<=\", \"10\"] },\n params: {},\n result: true,\n },\n {\n // 20\n inputs: { array: [\"10\", \"<=\", \"19\"] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 5] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [10, \"<=\", 10] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [10, \"<=\", 19] },\n params: {},\n result: true,\n },\n\n {\n inputs: { array: [true, \"||\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"||\", false] },\n params: {},\n result: false,\n },\n\n {\n inputs: { array: [true, \"&&\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"&&\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [true, \"XOR\", false] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", true] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [false, \"XOR\", false] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [true, \"XOR\", true] },\n params: {},\n result: false,\n },\n //\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"||\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: true,\n },\n {\n inputs: { array: [[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"aaa\", \"==\", \"bbb\"]] },\n params: {},\n result: false,\n },\n {\n inputs: { array: [[[\"aaa\", \"==\", \"aaa\"], \"&&\", [\"bbb\", \"==\", \"bbb\"]], \"||\", [\"aaa\", \"&&\", \"bbb\"]] },\n params: {},\n result: true,\n },\n ],\n description: \"compare\",\n category: [\"compare\"],\n author: \"Receptron\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default compareAgentInfo;\n","import { AgentFunction, AgentFunctionInfo, assert } from \"graphai\";\nimport { arrayValidate } from \"@graphai/agent_utils\";\n\n// https://platform.openai.com/docs/guides/vision\nconst getImageUrl = (data: string, imageType: string, detail?: string) => {\n if (imageType === \"http\") {\n return {\n url: data,\n };\n }\n const dataUrl = `data:image/${imageType};base64,${data}`;\n return {\n url: dataUrl,\n detail: detail ?? \"auto\",\n };\n};\n\ntype Content = { type: string; image_url: { url: string; detail?: string } } | { type: string; text: string };\n\nexport const images2messageAgent: AgentFunction<\n {\n imageType: string;\n detail?: string;\n },\n {\n message: {\n role: \"user\";\n content: Content[];\n };\n },\n {\n array: string[];\n prompt?: string;\n }\n> = async ({ namedInputs, params }) => {\n const { imageType, detail } = params;\n const { array, prompt } = namedInputs;\n arrayValidate(\"images2messageAgent\", namedInputs);\n assert(!!imageType, \"images2messageAgent: params.imageType is UNDEFINED! Set Type: png, jpg...\");\n\n const contents: Content[] = array.map((base64ImageData) => {\n const image_url = getImageUrl(base64ImageData, imageType, detail);\n return {\n type: \"image_url\",\n image_url,\n };\n });\n\n if (prompt) {\n contents.unshift({ type: \"text\", text: prompt });\n }\n\n return {\n message: {\n role: \"user\",\n content: contents,\n },\n };\n};\n\nconst images2messageAgentInfo: AgentFunctionInfo = {\n name: \"images2messageAgent\",\n agent: images2messageAgent,\n mock: images2messageAgent,\n inputs: {\n type: \"object\",\n properties: {\n array: {\n type: \"array\",\n description: \"the array of base64 image data\",\n },\n prompt: {\n type: \"string\",\n description: \"prompt message\",\n },\n },\n required: [\"array\"],\n },\n output: {\n type: \"object\",\n },\n samples: [\n {\n inputs: { array: [\"abcabc\", \"122123\"] },\n params: { imageType: \"png\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"auto\",\n url: \"data:image/png;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"abcabc\", \"122123\"], prompt: \"hello\" },\n params: { imageType: \"jpg\", detail: \"high\" },\n result: {\n message: {\n content: [\n {\n type: \"text\",\n text: \"hello\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,abcabc\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n detail: \"high\",\n url: \"data:image/jpg;base64,122123\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n {\n inputs: { array: [\"http://example.com/1.jpg\", \"http://example.com/2.jpg\"] },\n params: { imageType: \"http\" },\n result: {\n message: {\n content: [\n {\n image_url: {\n url: \"http://example.com/1.jpg\",\n },\n type: \"image_url\",\n },\n {\n image_url: {\n url: \"http://example.com/2.jpg\",\n },\n type: \"image_url\",\n },\n ],\n role: \"user\",\n },\n },\n },\n ],\n description: \"Returns the message data for llm include image\",\n category: [\"image\"],\n author: \"Receptron team\",\n repository: \"https://github.com/snakajima/graphai\",\n license: \"MIT\",\n};\nexport default images2messageAgentInfo;\n","import { AgentFunction, AgentFunctionInfo } from \"graphai\";\n\n// Type for OpenAI's Embedding API\ninterface EmbeddingResponse {\n object: string;\n model: string;\n usage: {\n prompt_tokens: number;\n total_tokens: number;\n };\n data: [\n {\n object: string;\n index: number;\n embedding: number[];\n },\n ];\n}\n\nconst defaultEmbeddingModel = \"text-embedding-3-small\";\nconst OpenAI_embedding_API = \"https://api.openai.com/v1/embeddings\";\n\n// This agent retrieves embedding vectors for an array of strings using OpenAI's API\n//\n// Parameters:\n// model: Specifies the model (default is \"text-embedding-3-small\")\n// NamedInputs:\n// array: Array\n// item: string,\n// Result:\n// contents: Array>\n//\nexport const stringEmbeddingsAgent: AgentFunction<\n {\n model?: string;\n },\n number[][],\n { array: Array; item: string }\n> = async ({ params, namedInputs }) => {\n const { array, item } = namedInputs;\n\n const sources = array ?? [item];\n const apiKey = process.env.OPENAI_API_KEY;\n if (!apiKey) {\n throw new Error(\"OPENAI_API_KEY key is not set in environment variables.\");\n }\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n };\n\n const response = await fetch(OpenAI_embedding_API, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify({\n input: sources,\n model: params?.model ?? defaultEmbeddingModel,\n }),\n });\n const jsonResponse: EmbeddingResponse = await response.json();\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const embeddings = jsonResponse.data.map((object) => {\n return object.embedding;\n });\n return embeddings;\n};\n\nconst stringEmbeddingsAgentInfo: AgentFunctionInfo = {\n name: \"stringEmbeddingsAgent\",\n agent: stringEmbeddingsAgent,\n mock: stringEmbeddingsAgent,\n samples: [],\n description: \"Embeddings Agent\",\n category: [\"embedding\"],\n author: \"Receptron team\",\n repository: \"https://github.com/receptron/graphai\",\n license: \"MIT\",\n};\nexport default stringEmbeddingsAgentInfo;\n"],"names":["assert","isObject","arrayValidate","isNamedInputs","sleep","graphDataLatestVersion","GraphAI"],"mappings":"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"} \ No newline at end of file