@arcgis/ai-components 5.2.0-next.103 → 5.2.0-next.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/agent-utils/LLMAgent.js +40 -40
  2. package/dist/agent-utils/middlewares/trace.js +5 -5
  3. package/dist/cdn/{FXP5UIQU.js → 2NDBI2VA.js} +1 -1
  4. package/dist/cdn/{C4FEETBZ.js → 2W7LK4HA.js} +1 -1
  5. package/dist/cdn/{LAYVGCPL.js → 4RDNI22D.js} +3 -3
  6. package/dist/cdn/{Z5HWPSZN.js → 6FCU2KJP.js} +1 -1
  7. package/dist/cdn/{ICQCK5D3.js → 7BJ4JKLG.js} +1 -1
  8. package/dist/cdn/{TEPP7YPR.js → 7HS5KX3J.js} +1 -1
  9. package/dist/cdn/{G7OMHU2B.js → 7UUYJTKT.js} +1 -1
  10. package/dist/cdn/{B2JDVLA6.js → 7VYYQ7BT.js} +1 -1
  11. package/dist/cdn/{JCOA24UH.js → BXQ4I5HB.js} +1 -1
  12. package/dist/cdn/{IJVMUS2L.js → C7LGDNB3.js} +1 -1
  13. package/dist/cdn/{TCH5I5LS.js → CGJINV7H.js} +1 -1
  14. package/dist/cdn/{RVSTAUQS.js → D2SS763Z.js} +1 -1
  15. package/dist/cdn/{MY47B3CE.js → DKZYPPJV.js} +1 -1
  16. package/dist/cdn/{OX64WOEL.js → G6CR7JVM.js} +1 -1
  17. package/dist/cdn/{5XZLS7UO.js → GL7BPKBN.js} +1 -1
  18. package/dist/cdn/{D5UFYQHN.js → HKOGIZDQ.js} +2 -2
  19. package/dist/cdn/{BE7BRJZD.js → NYJYRCGA.js} +1 -1
  20. package/dist/cdn/{6YYPVU7H.js → P4GFYBBO.js} +1 -1
  21. package/dist/cdn/{HHUQXL3R.js → PYGX4HN7.js} +1 -1
  22. package/dist/cdn/RFVZ7KCG.js +66 -0
  23. package/dist/cdn/{WJXXOKGA.js → ROQGPAR5.js} +1 -1
  24. package/dist/cdn/SWH6ZHD4.js +18 -0
  25. package/dist/cdn/{TMVF2W5N.js → W4JQDITQ.js} +1 -1
  26. package/dist/cdn/agent-utils/index.js +1 -1
  27. package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
  28. package/dist/cdn/index.js +1 -1
  29. package/dist/chunks/arcgisKnowledgeGraph.js +1 -1
  30. package/dist/chunks/dataExplorationGraph.js +30 -30
  31. package/dist/chunks/generateLayerDescriptions.js +15 -15
  32. package/dist/components/arcgis-assistant/customElement.d.ts +23 -3
  33. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
  34. package/dist/docs/api.json +1 -1
  35. package/dist/docs/docs.json +1 -1
  36. package/dist/docs/vscode.html-custom-data.json +1 -1
  37. package/dist/docs/web-types.json +1 -1
  38. package/package.json +6 -6
  39. package/dist/cdn/5FL5BTTX.js +0 -66
  40. package/dist/cdn/UHNVDALX.js +0 -18
@@ -32,7 +32,7 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
32
32
  ]))`;continue}else if(n[u]==="$"){o+=`($|(?=[\r
33
33
  ]))`;continue}}if(s.s&&n[u]==="."){o+=a?`${n[u]}\r
34
34
  `:`[${n[u]}\r
35
- ]`;continue}o+=n[u],n[u]==="\\"?i=!0:a&&n[u]==="]"?a=!1:!a&&n[u]==="["&&(a=!0)}try{let u=new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return o};function Rn(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===E.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((s,n)=>({...s,[n]:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}}),{}),additionalProperties:!1};let r={type:"object",additionalProperties:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===E.ZodString&&t.keyType._def.checks?.length){let s=Object.entries(Cn(t.keyType._def,e)).reduce((n,[o,i])=>o==="type"?n:{...n,[o]:i},{});return{...r,propertyNames:s}}else if(t.keyType?._def.typeName===E.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function wu(t,e){if(e.mapStrategy==="record")return Rn(t,e);let r=C(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},s=C(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,s],minItems:2,maxItems:2}}}function Pu(t){let e=t.values,s=Object.keys(t.values).filter(o=>typeof e[e[o]]!="number").map(o=>e[o]),n=Array.from(new Set(s.map(o=>typeof o)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:s}}function Ou(){return{not:{}}}function ku(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ns={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Tu(t,e){if(e.target==="openApi3")return vu(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(s=>s._def.typeName in Ns&&(!s._def.checks||!s._def.checks.length))){let s=r.reduce((n,o)=>{let i=Ns[o._def.typeName];return i&&!n.includes(i)?[...n,i]:n},[]);return{type:s.length>1?s:s[0]}}else if(r.every(s=>s._def.typeName==="ZodLiteral"&&!s.description)){let s=r.reduce((n,o)=>{let i=typeof o._def.value;switch(i){case"string":case"number":case"boolean":return[...n,i];case"bigint":return[...n,"integer"];case"object":if(o._def.value===null)return[...n,"null"];default:return n}},[]);if(s.length===r.length){let n=s.filter((o,i,a)=>a.indexOf(o)===i);return{type:n.length>1?n:n[0],enum:r.reduce((o,i)=>o.includes(i._def.value)?o:[...o,i._def.value],[])}}}else if(r.every(s=>s._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((s,n)=>[...s,...n._def.values.filter(o=>!s.includes(o))],[])};return vu(t,e)}var vu=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((s,n)=>C(s._def,{...e,currentPath:[...e.currentPath,"anyOf",`${n}`]})).filter(s=>!!s&&(!e.strictUnions||typeof s=="object"&&Object.keys(s).length>0));return r.length?{anyOf:r}:void 0};function Cu(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:Ns[t.innerType._def.typeName],nullable:!0}:{type:[Ns[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=C(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let s=C(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return s&&{anyOf:[s,{type:"null"}]}}function Ru(t,e){let r={type:"number"};if(!t.checks)return r;for(let s of t.checks)switch(s.kind){case"int":r.type="integer",jo(r,"type",s.message,e);break;case"min":e.target==="jsonSchema7"?s.inclusive?M(r,"minimum",s.value,s.message,e):M(r,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(r.exclusiveMinimum=!0),M(r,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?M(r,"maximum",s.value,s.message,e):M(r,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(r.exclusiveMaximum=!0),M(r,"maximum",s.value,s.message,e));break;case"multipleOf":M(r,"multipleOf",s.value,s.message,e);break}return r}function Ap(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":C(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":C(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Eu(t,e){let r={type:"object",...Object.entries(t.shape()).reduce((s,[n,o])=>{if(o===void 0||o._def===void 0)return s;let i=[...e.currentPath,"properties",n],a=C(o._def,{...e,currentPath:i,propertyPath:i});if(a===void 0)return s;if(e.openaiStrictMode&&o.isOptional()&&!o.isNullable()&&typeof o._def?.defaultValue>"u")throw new Error(`Zod field at \`${i.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...s.properties,[n]:a},required:o.isOptional()&&!e.openaiStrictMode?s.required:[...s.required,n]}},{properties:{},required:[]}),additionalProperties:Ap(t,e)};return r.required.length||delete r.required,r}var Su=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return C(t.innerType._def,{...e,currentPath:e.currentPath},r);let s=C(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return s?{anyOf:[{not:{}},s]}:{}};var $u=(t,e,r)=>{if(e.pipeStrategy==="input")return C(t.in._def,e,r);if(e.pipeStrategy==="output")return C(t.out._def,e,r);let s=C(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=C(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",s?"1":"0"]});return{allOf:[s,n].filter(o=>o!==void 0)}};function Mu(t,e,r){return C(t.type._def,e,r)}function Nu(t,e){let s={type:"array",uniqueItems:!0,items:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&M(s,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&M(s,"maxItems",t.maxSize.value,t.maxSize.message,e),s}function zu(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,s)=>C(r._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((r,s)=>s===void 0?r:[...r,s],[]),additionalItems:C(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,s)=>C(r._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((r,s)=>s===void 0?r:[...r,s],[])}}function Uu(){return{not:{}}}function ju(){return{}}var Du=(t,e,r)=>C(t.innerType._def,e,r);function C(t,e,r=!1){let s=e.seen.get(t);if(e.override){let o=e.override?.(t,e,s,r);if(o!==au)return o}if(s&&!r){let o=Ip(s,e);if(o!==void 0)return"$ref"in o&&e.seenRefs.add(o.$ref),o}let n={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,n);try{let o=wp(t,t.typeName,e,r);return o&&Pp(t,e,o),n.jsonSchema=o,o}finally{r&&s&&e.seen.set(t,s)}}var Ip=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":let r=t.path.slice(e.basePath.length+1).map((s,n)=>n===0?s:bp(s)).join("_");return r!==e.name&&e.nameStrategy==="duplicate-ref"&&(e.definitions[r]=t.def),{$ref:[...e.basePath,e.definitionPath,r].join("/")};case"relative":return{$ref:xp(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((s,n)=>e.currentPath[n]===s)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Lu="_x_",bp=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Lu))return t;let e=Lu;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},xp=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")},wp=(t,e,r,s)=>{switch(e){case E.ZodString:return Cn(t,r);case E.ZodNumber:return Ru(t,r);case E.ZodObject:return Eu(t,r);case E.ZodBigInt:return du(t,r);case E.ZodBoolean:return fu();case E.ZodDate:return Do(t,r);case E.ZodUndefined:return Uu();case E.ZodNull:return ku(r);case E.ZodArray:return mu(t,r);case E.ZodUnion:case E.ZodDiscriminatedUnion:return Tu(t,r);case E.ZodIntersection:return Iu(t,r);case E.ZodTuple:return zu(t,r);case E.ZodRecord:return Rn(t,r);case E.ZodLiteral:return bu(t,r);case E.ZodEnum:return Au(t);case E.ZodNativeEnum:return Pu(t);case E.ZodNullable:return Cu(t,r,s);case E.ZodOptional:return Su(t,r,s);case E.ZodMap:return wu(t,r);case E.ZodSet:return Nu(t,r);case E.ZodLazy:return C(t.getter()._def,r,s);case E.ZodPromise:return Mu(t,r,s);case E.ZodNaN:case E.ZodNever:return Ou();case E.ZodEffects:return yu(t,r,s);case E.ZodAny:return pu();case E.ZodUnknown:return ju();case E.ZodDefault:return gu(t,r,s);case E.ZodBranded:return hu(t,r,s);case E.ZodReadonly:return Du(t,r,s);case E.ZodCatch:return _u(t,r,s);case E.ZodPipeline:return $u(t,r,s);case E.ZodFunction:case E.ZodVoid:case E.ZodSymbol:return;default:return(n=>{})(e)}},Pp=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Ko=(t,e)=>{let r=cu(e),s=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,n=C(t._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1)??{},o=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;o!==void 0&&(n.title=o);let i=(()=>{if(lu(r.definitions))return;let c={},u=new Set;for(let h=0;h<500;h++){let f=Object.entries(r.definitions).filter(([g])=>!u.has(g));if(f.length===0)break;for(let[g,y]of f)c[g]=C(Ms(y),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},u.add(g)}return c})(),a=s===void 0?i?{...n,[r.definitionPath]:i}:n:r.nameStrategy==="duplicate-ref"?{...n,...i||r.seenRefs.size?{[r.definitionPath]:{...i,...r.seenRefs.size?{[s]:n}:void 0}}:void 0}:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,s].join("/"),[r.definitionPath]:{...i,[s]:n}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),a};function Ku(t){if(t.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${t.type?`'${t.type}'`:"undefined"}`);let e=structuredClone(t);return De(e,[],e)}function Fo(t){if(typeof t=="boolean")return!1;if(t.type==="null")return!0;for(let e of t.oneOf??[])if(Fo(e))return!0;for(let e of t.anyOf??[])if(Fo(e))return!0;return!1}function De(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!zt(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);let s=t.$defs;if(zt(s))for(let[g,y]of Object.entries(s))De(y,[...e,"$defs",g],r);let n=t.definitions;if(zt(n))for(let[g,y]of Object.entries(n))De(y,[...e,"definitions",g],r);t.type==="object"&&!("additionalProperties"in t)&&(t.additionalProperties=!1);let i=t.required??[],a=t.properties;if(zt(a)){for(let[g,y]of Object.entries(a))if(!Fo(y)&&!i.includes(g))throw new Error(`Zod field at \`${[...e,"properties",g].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(a),t.properties=Object.fromEntries(Object.entries(a).map(([g,y])=>[g,De(y,[...e,"properties",g],r)]))}let c=t.items;zt(c)&&(t.items=De(c,[...e,"items"],r));let u=t.anyOf;Array.isArray(u)&&(t.anyOf=u.map((g,y)=>De(g,[...e,"anyOf",String(y)],r)));let h=t.allOf;if(Array.isArray(h))if(h.length===1){let g=De(h[0],[...e,"allOf","0"],r);Object.assign(t,g),delete t.allOf}else t.allOf=h.map((g,y)=>De(g,[...e,"allOf",String(y)],r));t.default===null&&delete t.default;let f=t.$ref;if(f&&kp(t,1)){if(typeof f!="string")throw new TypeError(`Received non-string $ref - ${f}; path=${e.join("/")}`);let g=Op(r,f);if(typeof g=="boolean")throw new Error(`Expected \`$ref: ${f}\` to resolve to an object schema but got boolean`);if(!zt(g))throw new Error(`Expected \`$ref: ${f}\` to resolve to an object but got ${JSON.stringify(g)}`);return Object.assign(t,{...g,...t}),delete t.$ref,De(t,e,r)}return t}function Op(t,e){if(!e.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(e)}; Does not start with #/`);let r=e.slice(2).split("/"),s=t;for(let n of r){if(!zt(s))throw new Error(`encountered non-object entry while resolving ${e} - ${JSON.stringify(s)}`);let o=s[n];if(o===void 0)throw new Error(`Key ${n} not found while resolving ${e}`);s=o}return s}function zt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function kp(t,e){let r=0;for(let s in t)if(r++,r>e)return!0;return!1}function vp(t,e){return Ko(t,{openaiStrictMode:!0,name:e.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function Tp(t){return Ku(mi(t,{target:"draft-7",override:({zodSchema:e,jsonSchema:r})=>{let s=e._zod.def;if(s.type==="union"&&"discriminator"in s&&Array.isArray(r.oneOf)){if(r.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");r.anyOf=r.oneOf,delete r.oneOf}}}))}function Cp(t){return"_zod"in t}function Fu(t,e,r){return ca({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:Cp(t)?Tp(t):vp(t,{name:e})}},s=>t.parse(JSON.parse(s)))}var Bu=["jsonSchema","functionCalling","jsonMode"];function qu(t,e){if(typeof e<"u"&&!Bu.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${Bu.join(", ")}`);let r=!t.startsWith("gpt-3")&&!t.startsWith("gpt-4-")&&t!=="gpt-4";if(r&&!e)return"jsonSchema";if(!r&&e==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${t}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return e??"functionCalling"}function Rp(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Wu(t,e,r){if(fi(t))return Fu(t,e,r);if(di(t))return Rp({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:Lt(t,{cycles:"ref",reused:"ref",override(s){s.jsonSchema.title=e}})}},s=>pi(t,JSON.parse(s)));throw new Error("Unsupported schema response format")}function Hu(t,e){if(e&&typeof e=="object"&&"images"in e&&Array.isArray(e.images)){let r=e.images.filter(s=>typeof s?.image_url?.url=="string").map(s=>({type:"image",url:s.image_url.url}));return[{type:"text",text:t},...r]}return t}var Zu={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var En="**REDACTED**";function ss(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var Ut=class extends xi{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let s={...r};return"headers"in s&&(s.headers=En),"authorization"in s&&(s.authorization=En),s})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let s={...r};return"headers"in s&&(s.headers=En),"authorization"in s&&(s.authorization=En),s})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=Oi({baseURL:t?.configuration?.baseURL??(re("OPENAI_API_BASE")||re("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??re("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??re("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.8")}_getReasoningParams(t){if(!Ne(this.model))return;let e;return this.reasoning!==void 0&&(e={...e,...this.reasoning}),t?.reasoning!==void 0&&(e={...e,...t.reasoning}),t?.reasoningEffort!==void 0&&e?.effort===void 0&&(e={...e,effort:t.reasoningEffort}),e}_getResponseFormat(t){return t&&t.type==="json_schema"&&t.json_schema.schema&&as(t.json_schema.schema)?Wu(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e=Ue({baseURL:this.clientConfig.baseURL}),r={...this.clientConfig,baseURL:e,timeout:this.timeout,maxRetries:0};r.baseURL||delete r.baseURL,r.defaultHeaders=je(r.defaultHeaders),this.client=new T(r)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return Mt(t)?ou(t.metadata.customTool):Ws(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:Ja(t,e)}bindTools(t,e){let r;return e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:t.map(s=>{if(rs(s)||Mt(s))return s;if(Ya(s))return s.extras.providerToolDefinition;let n=this._convertChatOpenAIToolToCompletionsTool(s,{strict:r});return Vs(s)&&s.extras?.defer_loading===!0?{...n,defer_loading:!0}:n}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,s=0;this.model==="gpt-3.5-turbo-0301"?(r=4,s=-1):(r=3,s=1);let n=await Promise.all(t.map(async o=>{let[i,a]=await Promise.all([this.getNumTokens(o.content),this.getNumTokens(ze(o))]),c=o.name!==void 0?s+await this.getNumTokens(o.name):0,u=i+r+a+c,h=o;if(h._getType()==="function"&&(u-=2),h.additional_kwargs?.function_call&&(u+=3),h?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(h.additional_kwargs.function_call?.name)),h.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(h.additional_kwargs.function_call?.arguments)))}catch(f){console.error("Error parsing function arguments",f,JSON.stringify(h.additional_kwargs.function_call)),u+=await this.getNumTokens(h.additional_kwargs.function_call?.arguments)}return e+=u,u}));return e+=3,{totalCount:e,countPerMessage:n}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let s=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let n=Ga(e);s+=await this.getNumTokens(n),s+=9}return e&&t.find(n=>n._getType()==="system")&&(s-=4),r==="none"?s+=1:typeof r=="object"&&(s+=await this.getNumTokens(r.name)+4),s}async moderateContent(t,e){let r=this._getClientOptions(e?.options),s={input:t,model:e?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(s,r)}catch(n){throw ce(n)}})}get profile(){return Zu[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,s,{schema:n,name:o,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=qu(this.model,e?.method);if(a==="jsonMode"){s=Vn(n);let c=Lt(n);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:o??"extract",...c}}})}else if(a==="jsonSchema"){let c=Lt(n),u={name:o??"extract",description:hi(c),schema:as(n)?n:c,strict:e?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),as(n)||Hn(n)){let h=Vn(n);s=_i.from(async f=>"parsed"in f.additional_kwargs?f.additional_kwargs.parsed:h.invoke(f.content))}else s=new yi}else{let c=o??"extract",u=Lt(n),h;as(n)||Hn(n)?h={name:c,description:u.description,parameters:u}:typeof n.name=="string"&&typeof n.parameters=="object"&&n.parameters!=null?(h=n,c=n.name):(c=n.title??c,h={name:c,description:n.description??"",parameters:n}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:h}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...e?.strict!==void 0?{strict:e.strict}:{}}),s=Ai(n,c)}return Ii(r,s,i)}};var zs={providerName:"ChatOpenAI",fromStandardTextBlock(t){return{type:"text",text:t.text}},fromStandardImageBlock(t){if(t.source_type==="url")return{type:"image_url",image_url:{url:t.url,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};if(t.source_type==="base64")return{type:"image_url",image_url:{url:`data:${t.mime_type??""};base64,${t.data}`,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(t){if(t.source_type==="url"){let e=qn({dataUrl:t.url});if(!e)throw new Error(`URL audio blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);let r=e.mime_type||t.mime_type||"",s;try{s=Bn(r)}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(s.type!=="audio"||s.subtype!=="wav"&&s.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:s.subtype,data:e.data}}}if(t.source_type==="base64"){let e;try{e=Bn(t.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(e.type!=="audio"||e.subtype!=="wav"&&e.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:e.subtype,data:t.data}}}throw new Error(`Audio content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(t){if(t.source_type==="url"){let e=qn({dataUrl:t.url}),r=$t(t);if(!e)throw new Error(`URL file blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:t.url,filename:r}}}if(t.source_type==="base64"){let e=$t(t);return{type:"file",file:{file_data:`data:${t.mime_type??""};base64,${t.data}`,filename:e}}}if(t.source_type==="id")return{type:"file",file:{file_id:t.id}};throw new Error(`File content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)}},Sn=({message:t,rawResponse:e,includeRawResponse:r})=>{let s=t.tool_calls,n=t.reasoning_content;switch(t.role){case"assistant":{let o=[],i=[];for(let u of s??[])try{o.push(Hs(u,{returnId:!0}))}catch(h){i.push(Kt(u,h.message))}let a={function_call:t.function_call,tool_calls:s};r!==void 0&&(a.__raw_response=e),n!==void 0&&(a.reasoning_content=n);let c={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};return t.audio&&(a.audio=t.audio),new ae({content:Hu(t.content||"",e.choices?.[0]?.message),tool_calls:o,invalid_tool_calls:i,additional_kwargs:a,response_metadata:c,id:e.id})}default:return new qs(t.content||"",t.role??"unknown")}},$n=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:s})=>{let n=t.role??s,o=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(n==="user")return new li({content:o,response_metadata:a});if(n==="assistant"){let c=[];if(Array.isArray(t.tool_calls))for(let u of t.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new Dt({content:o,tool_call_chunks:c,additional_kwargs:i,id:e.id,response_metadata:a})}else return n==="system"?new Wn({content:o,response_metadata:a}):n==="developer"?new Wn({content:o,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):n==="function"?new ui({content:o,additional_kwargs:i,name:t.name,response_metadata:a}):n==="tool"?new oi({content:o,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new ai({content:o,role:n,response_metadata:a})},Bo=t=>{if(t.type==="image"){if(t.url)return{type:"image_url",image_url:{url:t.url}};if(t.data)return{type:"image_url",image_url:{url:`data:${t.mimeType};base64,${t.data}`}}}if(t.type==="audio"&&t.data){let e=ci(()=>{let[,r]=t.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:t.data.toString(),format:e}}}if(t.type==="file"){if(t.data){let e=$t(t);return{type:"file",file:{file_data:`data:${t.mimeType};base64,${t.data}`,filename:e}}}if(t.fileId)return{type:"file",file:{file_id:t.fileId}}}},qo=({message:t,model:e})=>{let r=ze(t);if(r==="system"&&Ne(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="assistant"){let n={role:"assistant",content:t.contentBlocks.filter(o=>o.type==="text")};return ae.isInstance(t)&&t.tool_calls?.length?n.tool_calls=t.tool_calls.map(Zn):t.additional_kwargs.tool_calls!=null&&(n.tool_calls=t.additional_kwargs.tool_calls),n}else{if(r==="tool"&&Fs.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(n=>n.type==="text").join("")}}function*s(n){for(let o of n){o.type==="text"&&(yield{type:"text",text:o.text});let i=Bo(o);i&&(yield i)}}return{role:"user",content:Array.from(s(t.contentBlocks))}},jt=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return qo({message:r});let s=ze(r);s==="system"&&Ne(e)&&(s="developer");let n=typeof r.content=="string"?r.content:r.content.flatMap(i=>Ls(i)?Ks(i,zs):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),o={role:s,content:n};return r.name!=null&&(o.name=r.name),r.additional_kwargs.function_call!=null&&(o.function_call=r.additional_kwargs.function_call),ae.isInstance(r)&&r.tool_calls?.length?o.tool_calls=r.tool_calls.map(Zn):(r.additional_kwargs.tool_calls!=null&&(o.tool_calls=r.additional_kwargs.tool_calls),Fs.isInstance(r)&&r.tool_call_id!=null&&(o.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[o,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:o});var Mn=class extends Ut{constructor(t,e){super(ss(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let s={};t?.stream_options!==void 0?s={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(s={stream_options:{include_usage:!0}});let n={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:vn(t?.tool_choice),response_format:this._getResponseFormat(t?.response_format),seed:t?.seed,...s,parallel_tool_calls:t?.parallel_tool_calls,...this.audio||t?.audio?{audio:this.audio||t?.audio}:{},...this.modalities||t?.modalities?{modalities:this.modalities||t?.modalities}:{},...this.modelKwargs,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,verbosity:t?.verbosity??this.verbosity};t?.prediction!==void 0&&(n.prediction=t.prediction),this.service_tier!==void 0&&(n.service_tier=this.service_tier),t?.service_tier!==void 0&&(n.service_tier=t.service_tier);let o=this._getReasoningParams(t);return o!==void 0&&o.effort!==void 0&&(n.reasoning_effort=o.effort),Ne(n.model)?n.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:n.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,n}async _generate(t,e,r){e.signal?.throwIfAborted();let s={},n=this.invocationParams(e),o=jt({messages:t,model:this.model});if(n.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let y of i){y.message.response_metadata={...y.generationInfo,...y.message.response_metadata};let I=y.generationInfo?.completion??0;a[I]===void 0?a[I]=y:a[I]=a[I].concat(y)}let c=Object.entries(a).sort(([y],[I])=>parseInt(y,10)-parseInt(I,10)).map(([y,I])=>I),{functions:u,function_call:h}=this.invocationParams(e),f=await this._getEstimatedTokenCountFromPrompt(t,u,h),g=await this._getNumTokensFromGenerations(c);return s.input_tokens=f,s.output_tokens=g,s.total_tokens=f+g,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}else{let i=await this.completionWithRetry({...n,stream:!1,messages:o},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:c,total_tokens:u,prompt_tokens_details:h,completion_tokens_details:f}=i?.usage??{};a&&(s.output_tokens=(s.output_tokens??0)+a),c&&(s.input_tokens=(s.input_tokens??0)+c),u&&(s.total_tokens=(s.total_tokens??0)+u),(h?.audio_tokens!==null||h?.cached_tokens!==null)&&(s.input_token_details={...h?.audio_tokens!==null&&{audio:h?.audio_tokens},...h?.cached_tokens!==null&&{cache_read:h?.cached_tokens}}),(f?.audio_tokens!==null||f?.reasoning_tokens!==null)&&(s.output_token_details={...f?.audio_tokens!==null&&{audio:f?.audio_tokens},...f?.reasoning_tokens!==null&&{reasoning:f?.reasoning_tokens}});let g=[];for(let y of i?.choices??[]){let I={text:y.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(y.message??{role:"assistant"},i)};I.generationInfo={...y.finish_reason?{finish_reason:y.finish_reason}:{},...y.logprobs?{logprobs:y.logprobs}:{}},Bs(I.message)&&(I.message.usage_metadata=s),I.message=new ae(Object.fromEntries(Object.entries(I.message).filter(([x])=>!x.startsWith("lc_")))),g.push(I)}return{generations:g,llmOutput:{tokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let s=jt({messages:t,model:this.model}),n={...this.invocationParams(e,{streaming:!0}),messages:s,stream:!0},o=await this.completionWithRetry(n,e),i=this.streamUsage??e.streamUsage;yield*Zs(async function*(c,u){for await(let h of c){if(u?.aborted)return;yield h}}(o,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let s=jt({messages:t,model:this.model}),n={...this.invocationParams(e,{streaming:!0}),messages:s,stream:!0},o,i=await this.completionWithRetry(n,e),a;for await(let c of i){if(e.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(a=c.usage),!u)continue;let{delta:h}=u;if(!h)continue;let f=this._convertCompletionsDeltaToBaseMessageChunk(h,c,o);o=h.role??o;let g={prompt:e.promptIndex??0,completion:u.index??0};if(typeof f.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let y={...g};u.finish_reason!=null&&(y.finish_reason=u.finish_reason,y.system_fingerprint=c.system_fingerprint,y.model_name=c.model,y.service_tier=c.service_tier),this.logprobs&&(y.logprobs=u.logprobs);let I=new is({message:f,text:f.content,generationInfo:y});yield I,await r?.handleLLMNewToken(I.text??"",g,void 0,void 0,void 0,{chunk:I})}if(a){let c={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens}},u={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},h=new is({message:new Dt({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield h,await r?.handleLLMNewToken(h.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:h})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...s}=e??{},n=this._getClientOptions(s),o=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return o&&!t.stream?await this.client.chat.completions.parse(t,n):await this.client.chat.completions.create(t,n)}catch(i){throw ce(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return $n({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return Sn({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var Nn="__openai_function_call_ids__",zn="__openai_custom_tool_call_ids__";function el(t){return t.type==="url_citation"?{type:"citation",source:"url_citation",url:t.url,title:t.title,startIndex:t.start_index,endIndex:t.end_index}:t.type==="file_citation"?{type:"citation",source:"file_citation",title:t.filename,startIndex:t.index,file_id:t.file_id}:t.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:t.filename,startIndex:t.start_index,endIndex:t.end_index,file_id:t.file_id,container_id:t.container_id}:t.type==="file_path"?{type:"citation",source:"file_path",startIndex:t.index,file_id:t.file_id}:{type:"non_standard",value:t}}function Sp(t){if(t.type==="url_citation"||t.type==="file_citation"||t.type==="container_file_citation"||t.type==="file_path")return t;if(t.type==="citation"){let e=t;if(e.source==="url_citation")return{type:"url_citation",url:e.url??"",title:e.title??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_citation")return{type:"file_citation",file_id:e.file_id??"",filename:e.title??"",index:e.startIndex??0};if(e.source==="container_file_citation")return{type:"container_file_citation",file_id:e.file_id??"",filename:e.title??"",container_id:e.container_id??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_path")return{type:"file_path",file_id:e.file_id??"",index:e.startIndex??0}}return t.type==="non_standard"?t.value:t}var ns=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},Us=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],s=[],n=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let c={...a};return delete c.parsed_arguments,c}return a}),o={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:n,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(c=>c.type==="output_text"?("parsed"in c&&c.parsed!=null&&(i.parsed=c.parsed),{type:"text",text:c.text,annotations:c.annotations.map(el),...a.phase!==null?{phase:a.phase}:{}}):c.type==="refusal"?(i.refusal=c.refusal,[]):c));else if(a.type==="function_call"){let c={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(Hs(c,{returnId:!0}))}catch(u){let h;typeof u=="object"&&u!=null&&"message"in u&&typeof u.message=="string"&&(h=u.message),s.push(Kt(c,h))}i[Nn]??={},a.id&&(i[Nn][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let c=a.summary?.map(u=>u.text).filter(Boolean).join("");c&&e.push({type:"reasoning",reasoning:c})}else if(a.type==="custom_tool_call"){let c=eu(a);c?(r.push(c),i[zn]??={},a.id&&a.call_id&&(i[zn][a.call_id]=a.id)):s.push(Kt(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let c=tu(a);c?r.push(c):s.push(Kt(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new ae({id:t.id,content:e,tool_calls:r,invalid_tool_calls:s,usage_metadata:ns(t.usage),additional_kwargs:i,response_metadata:o})},Wo=t=>{let e=(t.summary.length>1?t.summary.reduce((r,s)=>{let n=r[r.length-1];return n.index===s.index?n.text+=s.text:r.push(s),r},[{...t.summary[0]}]):t.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([s])=>s!=="index")));return{...t,summary:e}},Un=t=>{let e=[],r={},s,n=[],o={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[el(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let c="phase"in t.item?t.item.phase:void 0;c&&e.push({type:"text",text:"",phase:c,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")n.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[Nn]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")n.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[zn]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")n.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,o.id=t.response.id,o.model_name=t.response.model,o.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let c=Us(t.response);if(s=ns(t.response.usage),t.response.text?.format?.type==="json_schema"&&c.text)try{i.parsed??=JSON.parse(c.text)}catch{}for(let[u,h]of Object.entries(t.response))u!=="id"&&(u==="output"?o[u]=c.response_metadata.output:o[u]=h)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")n.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,c,u]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:c,status:u}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let c=t.item.summary?t.item.summary.map((h,f)=>({...h,index:f})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...c?{summary:c}:{}};let u=t.item.summary?.map(h=>h.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new is({text:e.map(c=>c.text).join(""),message:new Dt({id:a,content:e,tool_call_chunks:n,usage_metadata:s,additional_kwargs:i,response_metadata:o}),generationInfo:r})},Ho=t=>{let e=ae.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let s=he(()=>{try{let p=ze(t);return p==="system"||p==="developer"||p==="assistant"||p==="user"?p:"assistant"}catch{return"assistant"}}),n=p=>s==="assistant"?{type:"output_text",text:p,annotations:[]}:{type:"input_text",text:p},o,i=new Set,a=new Set,c=new Map,u=new Map;function*h(){if(!o)return;let p=o.content;(typeof p=="string"&&p.length>0||Array.isArray(p)&&p.length>0)&&(yield o),o=void 0}let f=(p,A)=>{o||(o={type:"message",role:s,content:[],...A?{phase:A}:{}}),typeof o.content=="string"?o.content=o.content.length>0?[n(o.content),...p]:[...p]:o.content.push(...p)},g=p=>{if(typeof p=="string")return p;try{return JSON.stringify(p??{})}catch{return"{}"}},y=p=>{let A=he(()=>{let O=p.metadata?.detail;return O==="low"||O==="high"||O==="auto"?O:"auto"});if(p.fileId)return{type:"input_image",detail:A,file_id:p.fileId};if(p.url)return{type:"input_image",detail:A,image_url:p.url};if(p.data){let O=typeof p.data=="string"?p.data:Buffer.from(p.data).toString("base64");return{type:"input_image",detail:A,image_url:`data:${p.mimeType??"image/png"};base64,${O}`}}},I=p=>{if(p.fileId){let A=On(p);return{type:"input_file",file_id:p.fileId,...A?{filename:A}:{}}}if(p.url){let A=On(p);return{...A?{filename:A}:{},type:"input_file",file_url:p.url}}if(p.data){let A=$t(p),O=typeof p.data=="string"?p.data:Buffer.from(p.data).toString("base64");return{type:"input_file",file_data:`data:${p.mimeType??"application/octet-stream"};base64,${O}`,filename:A}}},x=p=>{let A=he(()=>{if(Array.isArray(p.summary)){let z=p.summary?.map(N=>N?.text).filter(N=>typeof N=="string")??[];if(z.length>0)return z}return p.reasoning?[p.reasoning]:[]}),O=A.length>0?A.map(z=>({type:"summary_text",text:z})):[{type:"summary_text",text:""}];return{type:"reasoning",...p.id?{id:p.id}:{},summary:O}},_=p=>({type:"function_call",name:p.name??"",call_id:p.id??"",arguments:g(p.args)}),v=p=>{let A=g(p.output),O=p.status==="success"?"completed":p.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:p.toolCallId??"",output:A,...O?{status:O}:{}}};for(let p of t.contentBlocks)if(p.type==="text"){let A=he(()=>{if("extras"in p&&typeof p.extras=="object"&&p.extras!==null&&"phase"in p.extras)return p.extras.phase});f([n(p.text)],A)}else if(p.type!=="invalid_tool_call"){if(p.type==="reasoning")yield*h(),yield x(p);else if(p.type==="tool_call"){yield*h();let A=p.id??"";A&&(i.add(A),c.delete(A)),yield _(p)}else if(p.type==="tool_call_chunk"){if(p.id){let A=c.get(p.id)??{name:p.name,args:[]};p.name&&(A.name=p.name),p.args&&A.args.push(p.args),c.set(p.id,A)}}else if(p.type==="server_tool_call"){yield*h();let A=p.id??"";A&&(a.add(A),u.delete(A)),yield _(p)}else if(p.type==="server_tool_call_chunk"){if(p.id){let A=u.get(p.id)??{name:p.name,args:[]};p.name&&(A.name=p.name),p.args&&A.args.push(p.args),u.set(p.id,A)}}else if(p.type==="server_tool_call_result")yield*h(),yield v(p);else if(p.type!=="audio")if(p.type==="file"){let A=I(p);A&&f([A])}else if(p.type==="image"){let A=y(p);A&&f([A])}else if(p.type==="video"){let A=I(p);A&&f([A])}else p.type==="text-plain"?p.text&&f([n(p.text)]):p.type==="non_standard"&&e&&(yield*h(),yield p.value)}yield*h();for(let[p,A]of c){if(!p||i.has(p))continue;let O=A.args.join("");!A.name&&!O||(yield{type:"function_call",call_id:p,name:A.name??"",arguments:O})}for(let[p,A]of u){if(!p||a.has(p))continue;let O=A.args.join("");!A.name&&!O||(yield{type:"function_call",call_id:p,name:A.name??"",arguments:O})}}return Array.from(r())},os=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(s=>{let n=s.response_metadata;if(n?.output_version==="v1")return Ho(s);let o=s.additional_kwargs,i=ze(s);if(i==="system"&&Ne(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=s;if(o?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let u=a.content.find(g=>g.type==="input_image");if(u)return u;let h=a.content.find(g=>g.type==="computer_screenshot");if(h)return h;let f=a.content.find(g=>g.type==="image_url");if(f)return{type:"input_image",image_url:typeof f.image_url=="string"?f.image_url:f.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let c=Array.isArray(a.content)&&a.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:c?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&n?.output!=null&&Array.isArray(n?.output)&&n?.output.length>0&&n?.output.every(x=>"type"in x))return n?.output;let a=[],c=o?.reasoning,u=!!c?.encrypted_content;if(c&&(!e||u)){let x=Wo(c);a.push(x)}let{content:h}=s;if(o?.refusal&&(typeof h=="string"&&(h=[{type:"output_text",text:h,annotations:[]}]),h=[...h,{type:"refusal",refusal:o.refusal}]),typeof h=="string"||h.length>0){let x={type:"message",role:"assistant",...s.id&&!e&&s.id.startsWith("msg_")?{id:s.id}:{},content:he(()=>typeof h=="string"?h:h.flatMap(_=>{if(_.type==="text"){let v=_;return{type:"output_text",text:v.text,annotations:(v.annotations??[]).map(Sp)}}return _.type==="output_text"||_.type==="refusal"?_:[]})),phase:he(()=>{if(Array.isArray(h))return h.find(_=>"phase"in _&&typeof _.phase=="string")?.phase})};a.push(x)}let f=o?.[Nn],g=o?.[zn];ae.isInstance(s)&&s.tool_calls?.length?a.push(...s.tool_calls.map(x=>su(x,g)?{type:"custom_tool_call",id:"call_id"in x&&typeof x.call_id=="string"?x.call_id:g?.[x.id??""]??"",call_id:x.id??"",input:x.args.input,name:x.name}:ru(x)?{type:"computer_call",id:x.call_id,call_id:x.id??"",action:x.args.action}:{type:"function_call",name:x.name,arguments:JSON.stringify(x.args),call_id:x.id,...e?{}:{id:f?.[x.id]}})):o?.tool_calls&&a.push(...o.tool_calls.map(x=>({type:"function_call",name:x.function.name,call_id:x.id,arguments:x.function.arguments,...e?{}:{id:f?.[x.id]}})));let y=n?.output?.length?n?.output:o.tool_outputs,I=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(y!=null){let x=y?.filter(_=>I.includes(_.type));x.length>0&&a.push(...x)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof s.content=="string")return{type:"message",role:i,content:s.content};let a=[],c=s.content.flatMap(u=>{if(u.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Ls(u)){if(u.type==="file"){let h=On(u);if(u.source_type==="url")return{type:"input_file",file_url:u.url,...h?{filename:h}:{}};if(u.source_type==="id")return{type:"input_file",file_id:u.id,...h?{filename:h}:{}};if(u.source_type==="base64")return{type:"input_file",file_data:`data:${u.mime_type??""};base64,${u.data}`,filename:$t(u)}}return Ks(u,zs)}return u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:he(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:he(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]});return c.length>0&&a.push({type:"message",role:i,content:c}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*Zo(t,e={}){let r=e.streamUsage??!0,s=e.provider??"openai",n=new Map,o=new Map,i=0,a=!1,c,u,h,f,g=new Set,y=(_,v)=>{let p=o.get(_);if(p!==void 0)return{index:p,isNew:!1};let A=i++;return o.set(_,A),n.set(A,{...v}),{index:A,isNew:!0}},I=function*(){a||(a=!0,yield{event:"message-start",id:c})},x=function*(_){if(g.has(_))return;let v=n.get(_);v&&(g.add(_),yield{event:"content-block-finish",index:_,content:bi(v)})};for await(let _ of t){if(_.type==="response.created"){c=_.response.id,yield*I(),yield{event:"provider",provider:s,name:"response.created",payload:{model:_.response.model,id:_.response.id}};continue}if(_.type==="response.output_text.delta"){yield*I();let{index:v,isNew:p}=y(`text:${_.output_index}:${_.content_index}`,{type:"text",text:""});p&&(yield{event:"content-block-start",index:v,content:{type:"text",text:""}});let A=n.get(v);A.text=(A.text??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"text-delta",text:_.delta}};continue}if(_.type==="response.reasoning_summary_text.delta"){yield*I();let{index:v,isNew:p}=y(`reasoning:${_.output_index}:${_.summary_index}`,{type:"reasoning",reasoning:""});p&&(yield{event:"content-block-start",index:v,content:{type:"reasoning",reasoning:""}});let A=n.get(v);A.reasoning=(A.reasoning??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"reasoning-delta",reasoning:_.delta}};continue}if(_.type==="response.output_item.added"&&(_.item.type==="function_call"||_.item.type==="custom_tool_call")){yield*I();let v=`tool:${_.output_index}`,p=_.item.type==="custom_tool_call",A=_.item.type==="function_call"?_.item.arguments??"":_.item.input??"",{index:O,isNew:z}=y(v,{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:A,index:_.output_index,...p?{isCustomTool:!0}:{}});if(z&&(yield{event:"content-block-start",index:O,content:{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:A,index:_.output_index}}),A){let N=n.get(O);yield{event:"content-block-delta",index:O,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...N.id!=null?{id:N.id}:{},...N.name!=null?{name:N.name}:{},args:N.args}}}}continue}if(_.type==="response.function_call_arguments.delta"||_.type==="response.custom_tool_call_input.delta"){yield*I();let{index:v,isNew:p}=y(`tool:${_.output_index}`,{type:"tool_call_chunk",args:"",index:_.output_index,..._.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});p&&(yield{event:"content-block-start",index:v,content:{type:"tool_call_chunk",args:"",index:_.output_index}});let A=n.get(v);A.args=(A.args??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...A.id!=null?{id:A.id}:{},...A.name!=null?{name:A.name}:{},args:A.args}}};continue}if(_.type==="response.output_item.done"&&(_.item.type==="function_call"||_.item.type==="custom_tool_call")){yield*I();let v=`tool:${_.output_index}`,p=_.item.type==="function_call"?_.item.arguments??"":_.item.input??"",{index:A,isNew:O}=y(v,{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:p,index:_.output_index});if(O)yield{event:"content-block-start",index:A,content:{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:p,index:_.output_index}};else{let z=n.get(A);z.args=p,z.id=_.item.call_id,z.name=_.item.name}yield*x(A);continue}if(_.type==="response.completed"||_.type==="response.incomplete"){yield*I(),c=_.response.id,h=$p(_.response.status,_.type),f={model_provider:s,id:_.response.id,model:_.response.model,status:_.response.status},r&&_.response.usage&&(u=ns(_.response.usage),yield{event:"usage",usage:u});continue}_.type!=="response.image_generation_call.partial_image"&&(yield*I(),yield{event:"provider",provider:s,name:_.type,payload:_})}a||(yield{event:"message-start"});for(let[_]of n)g.has(_)||(yield*x(_));yield{event:"message-finish",reason:h,...u?{usage:u}:{},...f?{responseMetadata:f}:{}}}function $p(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var jn=class extends Ut{constructor(t,e){super(ss(t,e))}invocationParams(t){let e;t?.strict!==void 0&&(e=t.strict),e===void 0&&this.supportsStrictToolCalling!==void 0&&(e=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:t?.previous_response_id,truncation:t?.truncation,include:t?.include,tools:t?.tools?.length?this._reduceChatOpenAITools(t.tools,{stream:this.streaming,strict:e}):void 0,tool_choice:Qa(t?.tool_choice)?t?.tool_choice:(()=>{let n=vn(t?.tool_choice);if(typeof n=="object"&&"type"in n){if(n.type==="function")return{type:"function",name:n.function.name};if(n.type==="allowed_tools")return{type:"allowed_tools",mode:n.allowed_tools.mode,tools:n.allowed_tools.tools};if(n.type==="custom")return{type:"custom",name:n.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let n=this._getResponseFormat(t?.response_format);return n?.type==="json_schema"?n.json_schema.schema!=null?{format:{type:"json_schema",schema:n.json_schema.schema,description:n.json_schema.description,name:n.json_schema.name,strict:n.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:n,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},s=this._getReasoningParams(t);return s!==void 0&&(r.reasoning=s),r}async _generate(t,e,r){e.signal?.throwIfAborted();let s=this.invocationParams(e);if(s.stream){let n=this._streamResponseChunks(t,e,r),o;for await(let i of n)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},o=o?.concat(i)??i;return{generations:o?[o]:[],llmOutput:{estimatedTokenUsage:o?.message?.usage_metadata}}}else{let n=await this.completionWithRetry({input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...s,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:n.output_text,message:Us(n)}],llmOutput:{id:n.id,estimatedTokenUsage:n.usage?{promptTokens:n.usage.input_tokens,completionTokens:n.usage.output_tokens,totalTokens:n.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let s=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),n=this.streamUsage??e.streamUsage;yield*Zo(async function*(i,a){for await(let c of i){if(a?.aborted)return;yield c}}(s,e.signal),{streamUsage:n??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let s=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let n of s){if(e.signal?.aborted)return;let o=Un(n);o!=null&&(yield o,await r?.handleLLMNewToken(o.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:o}))}}catch(n){throw ce(n)}}async completionWithRetry(t,e){let{maxRetries:r,...s}=e??{},n=this._getClientOptions(s);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,n):await this.client.responses.create(t,n)}catch(o){throw ce(o)}})}_reduceChatOpenAITools(t,e){let r=[];for(let s of t)if(rs(s))s.type==="image_generation"&&e?.stream&&(s.partial_images=1),r.push(s);else if(Mt(s)){let n=s.metadata.customTool;r.push({type:"custom",name:n.name,description:n.description,format:n.format})}else if(Ws(s)){let n={};for(let[o,i]of Object.entries(s))o!=="type"&&o!=="function"&&(n[o]=i);r.push({type:"function",name:s.function.name,parameters:s.function.parameters,description:s.function.description,strict:e?.strict??null,...n})}else Tn(s)&&r.push(nu(s));return r}};var Dn=class tl extends Ut{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(e,r){let s=ss(e,r);super(s),this.fields=s,this.useResponsesApi=s?.useResponsesApi??!1,this.responses=s?.responses??new jn(s),this.completions=s?.completions??new Mn(s)}_useResponsesApi(e){let r=e?.tools?.some(rs),s=e?.previous_response_id!=null||e?.text!=null||e?.truncation!=null||e?.include!=null||e?.reasoning?.summary!=null||this.reasoning?.summary!=null,n=e?.tools?.some(Tn)||e?.tools?.some(Mt);return this.useResponsesApi||r||s||n||Ha(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,s){return this._useResponsesApi(r)?this.responses._generate(e,r,s):this.completions._generate(e,r,s)}async*_streamChatModelEvents(e,r,s){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),s);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),s)}async*_streamResponseChunks(e,r,s){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),s);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),s)}withConfig(e){let r=new tl(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var Ln=class extends gi{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(t){let e={maxConcurrency:2,...t};super(e);let r=e?.apiKey??e?.openAIApiKey??re("OPENAI_API_KEY");this.organization=e?.configuration?.organization??re("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelName=this.model,this.batchSize=e?.batchSize??this.batchSize,this.stripNewLines=e?.stripNewLines??this.stripNewLines,this.timeout=e?.timeout,this.dimensions=e?.dimensions,this.encodingFormat=e?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration}}async embedDocuments(t){let e=Gn(this.stripNewLines?t.map(o=>o.replace(/\n/g," ")):t,this.batchSize),r=e.map(o=>{let i={model:this.model,input:o};return this.dimensions&&(i.dimensions=this.dimensions),this.encodingFormat&&(i.encoding_format=this.encodingFormat),this.embeddingWithRetry(i)}),s=await Promise.all(r),n=[];for(let o=0;o<s.length;o+=1){let i=e[o],{data:a}=s[o];for(let c=0;c<i.length;c+=1)n.push(a[c].embedding)}return n}async embedQuery(t){let e={model:this.model,input:this.stripNewLines?t.replace(/\n/g," "):t};this.dimensions&&(e.dimensions=this.dimensions),this.encodingFormat&&(e.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(e);return r[0].embedding}async embeddingWithRetry(t){if(!this.client){let r=Ue({baseURL:this.clientConfig.baseURL}),s={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};s.baseURL||delete s.baseURL,s.defaultHeaders=je(s.defaultHeaders),this.client=new T(s)}let e={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(t,e)}catch(r){throw ce(r)}})}};var Up=b.object({type:b.literal("screenshot")}),jp=b.object({type:b.literal("click"),x:b.number(),y:b.number(),button:b.enum(["left","right","wheel","back","forward"]).default("left")}),Dp=b.object({type:b.literal("double_click"),x:b.number(),y:b.number(),button:b.enum(["left","right","wheel","back","forward"]).default("left")}),Lp=b.object({type:b.literal("drag"),path:b.array(b.object({x:b.number(),y:b.number()}))}),Kp=b.object({type:b.literal("keypress"),keys:b.array(b.string())}),Fp=b.object({type:b.literal("move"),x:b.number(),y:b.number()}),Bp=b.object({type:b.literal("scroll"),x:b.number(),y:b.number(),scroll_x:b.number(),scroll_y:b.number()}),qp=b.object({type:b.literal("type"),text:b.string()}),Wp=b.object({type:b.literal("wait"),duration:b.number().optional()}),Hp=b.union([Up,jp,Dp,Lp,Kp,Fp,Bp,qp,Wp]),aT=b.object({action:Hp});var Zp=b.object({type:b.literal("exec"),command:b.array(b.string()),env:b.record(b.string(),b.string()).optional(),working_directory:b.string().optional(),timeout_ms:b.number().optional(),user:b.string().optional()}),pT=b.union([Zp]);var hT=b.object({commands:b.array(b.string()).describe("Array of shell commands to execute"),timeout_ms:b.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:b.number().optional().describe("Optional maximum number of characters to return from each command")});var Vp=b.object({type:b.literal("create_file"),path:b.string(),diff:b.string()}),Jp=b.object({type:b.literal("update_file"),path:b.string(),diff:b.string()}),Gp=b.object({type:b.literal("delete_file"),path:b.string()}),AT=b.union([Vp,Jp,Gp]);var il={advanced:"gpt-5.6-sol",default:"gpt-5.6-terra",fast:"gpt-5.6-luna"},Xo={default:"text-embedding-ada-002"},Jo=new Map,Kn=null,em=()=>{let t=nl.getDefault().helperServices;if(!t?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return t.aiModels.url},al=async t=>{let e=em();Jo.size===0&&(Kn||(Kn=(async()=>{try{(await ol(`${e}/models`)).data.models.forEach(s=>Jo.set(s.name,s))}catch(s){throw Kn=null,s}})()),await Kn);let r=Jo.get(t);if(!r)throw new Error(`Model '${t}' is not available in the discovery service.`);return r.endpoint},tm=async(t="default")=>await al(il[t]),rm=async(t="default")=>await al(Xo[t]),ZC=ke.Root({agentExecutionContext:ke({default:Ti,reducer:ki}),currentIntent:ke({default:()=>"none",reducer:us}),routing:ke({default:()=>({mode:"auto"}),reducer:us}),lastExecutedAgent:ke({default:()=>"",reducer:us}),requiresFollowUp:ke({default:()=>!0,reducer:us}),stepCount:ke({default:()=>0,reducer:(t,e)=>e??t+1}),finalOutputMessage:ke({default:()=>"",reducer:vi})}),sm=t=>{if(!t||typeof t!="object"||!("services"in t))return!1;let e=t.services;return!!e&&typeof e=="object"&&"agentRegistry"in e},nm=t=>{let e=t?.configurable;return sm(e)?e:void 0},om=(t,e,r)=>{let s=t[e];return s?typeof s=="function"?s():Promise.resolve(s):new Promise((n,o)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},Yo=async t=>(await om(Object.assign({"./field_descriptions_prompt.md":()=>import("./ZU2FHVNK.js"),"./intent_prompt.md":()=>import("./BL273EGZ.js"),"./layer_descriptions_prompt.md":()=>import("./LK7ZIQW6.js")}),`./${t}.md`,2)).default,im=async t=>{let{agent:e,messages:r,config:s}=t;return{structuredResponse:(await e.invoke({messages:r},s)).structuredResponse}},am=t=>typeof t=="string"&&t.length>0?t:void 0,um=()=>ri(),lm=t=>typeof t!="string"||t.trim().length===0?"MapsSDK":`MapsSDK - ${t.trim()}`,cm=t=>{let e=t?.configurable;return{conversationId:am(e?.thread_id),abortSignal:t?.signal,requestId:um(),requestSource:lm(Qp.applicationName)}},pm=t=>{if(t==null||typeof t=="string"||t instanceof FormData||t instanceof HTMLFormElement)return t;if(t instanceof URLSearchParams)return t.toString();throw new TypeError(`Unsupported request body type: ${Object.prototype.toString.call(t)}`)},ul=async({config:t})=>{let e=nl.getDefault(),r=(await Yp.getCredential(`${e.url}/sharing`))?.token;return async(s,n)=>{let{conversationId:o,abortSignal:i,requestId:a,requestSource:c}=cm(t),u=new Headers(n?.headers);for(let f of[...u.keys()]){let g=f.toLowerCase();(g==="authorization"||g==="api-key"||g.startsWith("x-stainless-"))&&u.delete(f)}r&&r.length>0&&u.set("X-Esri-Authorization",`Bearer ${r}`),e.isPortal||(c&&c.length>0&&u.set("X-Esri-Request-Source",c),o&&o.length>0&&u.set("X-Esri-Conversation-Id",o),a.length>0&&u.set("X-Esri-Request-Id",a));let h=i&&n?.signal?AbortSignal.any([i,n.signal]):n?.signal??i;return(await ol(s instanceof Request?s.url:s.toString(),{body:pm(n?.body),headers:Object.fromEntries(u),responseType:"native",signal:h})).data}},Ds=async(t={})=>{let{modelTier:e="default",config:r}=t,s=il[e],n=await tm(e);return new Dn({modelName:s,apiKey:"dummy-key",configuration:{baseURL:n,fetch:await ul({config:r})}})},VC=async(t={})=>{let{tier:e="default",config:r}=t,s=Xo[e],n=await rm(e);return new Ln({modelName:s,apiKey:"dummy-key",configuration:{baseURL:n,fetch:await ul({config:r})},batchSize:2048,maxConcurrency:10})},mm=b.object({id:b.string().min(1),name:b.string().min(1),description:b.string().min(1)});b.array(mm);var rl=t=>JSON.stringify(t,null,2),dm=t=>{let e=t.map(s=>s.id),r=b.enum(e);return b.object({intent:r.nullable(),assignedTask:b.string().nullable(),requiresFollowUp:b.boolean()})},JC=async(t,e)=>{let r=nm(e);if(e?.signal?.aborted)return await st({text:"Run cancelled; skipping intent routing"},e),{...t,currentIntent:"none",finalOutputMessage:"Operation cancelled.",requiresFollowUp:!1};try{await st({text:"Asking LLM to route to an agent"},e);let s=r.services.agentRegistry?.list()??[],n=s.map(({agent:x})=>({id:x.id,name:x.name,description:x.description}));if(!n.length)return await st({text:"No agents registered; skipping intent detection"},e),{...t,currentIntent:"none",finalOutputMessage:"No agents registered; skipping intent detection."};let o=await Yo("intent_prompt"),i=rl(n),a=dm(n),c={registeredAgents:i,priorSteps:rl(t.agentExecutionContext.priorSteps),userRequest:t.agentExecutionContext.userRequest},u=await Jn.fromTemplate(o).format(c),h=Ci({model:await Ds({modelTier:"fast",config:e}),tools:[],systemPrompt:u,responseFormat:a,middleware:[Ri({model:await Ds({modelTier:"fast",config:e}),trigger:{tokens:4e3},keep:{messages:6}}),Ei({runLimit:2})]}),{structuredResponse:f}=await im({agent:h,messages:t.agentExecutionContext.messages,config:e}),g=a.parse(f??{intent:null,assignedTask:null,requiresFollowUp:!1}),y=g.intent??"none",I={...t,currentIntent:y,requiresFollowUp:g.requiresFollowUp,agentExecutionContext:{...t.agentExecutionContext,assignedTask:g.assignedTask??""}};if(y==="none"){let x=`I could not find an agent that can handle that request. I have access to the following agents: ${s.map(({agent:_})=>_.name).join(", ")}.
35
+ ]`;continue}o+=n[u],n[u]==="\\"?i=!0:a&&n[u]==="]"?a=!1:!a&&n[u]==="["&&(a=!0)}try{let u=new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return o};function Rn(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===E.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((s,n)=>({...s,[n]:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}}),{}),additionalProperties:!1};let r={type:"object",additionalProperties:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===E.ZodString&&t.keyType._def.checks?.length){let s=Object.entries(Cn(t.keyType._def,e)).reduce((n,[o,i])=>o==="type"?n:{...n,[o]:i},{});return{...r,propertyNames:s}}else if(t.keyType?._def.typeName===E.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function wu(t,e){if(e.mapStrategy==="record")return Rn(t,e);let r=C(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},s=C(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,s],minItems:2,maxItems:2}}}function Pu(t){let e=t.values,s=Object.keys(t.values).filter(o=>typeof e[e[o]]!="number").map(o=>e[o]),n=Array.from(new Set(s.map(o=>typeof o)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:s}}function Ou(){return{not:{}}}function ku(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ns={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Tu(t,e){if(e.target==="openApi3")return vu(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(s=>s._def.typeName in Ns&&(!s._def.checks||!s._def.checks.length))){let s=r.reduce((n,o)=>{let i=Ns[o._def.typeName];return i&&!n.includes(i)?[...n,i]:n},[]);return{type:s.length>1?s:s[0]}}else if(r.every(s=>s._def.typeName==="ZodLiteral"&&!s.description)){let s=r.reduce((n,o)=>{let i=typeof o._def.value;switch(i){case"string":case"number":case"boolean":return[...n,i];case"bigint":return[...n,"integer"];case"object":if(o._def.value===null)return[...n,"null"];default:return n}},[]);if(s.length===r.length){let n=s.filter((o,i,a)=>a.indexOf(o)===i);return{type:n.length>1?n:n[0],enum:r.reduce((o,i)=>o.includes(i._def.value)?o:[...o,i._def.value],[])}}}else if(r.every(s=>s._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((s,n)=>[...s,...n._def.values.filter(o=>!s.includes(o))],[])};return vu(t,e)}var vu=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((s,n)=>C(s._def,{...e,currentPath:[...e.currentPath,"anyOf",`${n}`]})).filter(s=>!!s&&(!e.strictUnions||typeof s=="object"&&Object.keys(s).length>0));return r.length?{anyOf:r}:void 0};function Cu(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:Ns[t.innerType._def.typeName],nullable:!0}:{type:[Ns[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=C(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let s=C(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return s&&{anyOf:[s,{type:"null"}]}}function Ru(t,e){let r={type:"number"};if(!t.checks)return r;for(let s of t.checks)switch(s.kind){case"int":r.type="integer",jo(r,"type",s.message,e);break;case"min":e.target==="jsonSchema7"?s.inclusive?M(r,"minimum",s.value,s.message,e):M(r,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(r.exclusiveMinimum=!0),M(r,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?M(r,"maximum",s.value,s.message,e):M(r,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(r.exclusiveMaximum=!0),M(r,"maximum",s.value,s.message,e));break;case"multipleOf":M(r,"multipleOf",s.value,s.message,e);break}return r}function Ap(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":C(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":C(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Eu(t,e){let r={type:"object",...Object.entries(t.shape()).reduce((s,[n,o])=>{if(o===void 0||o._def===void 0)return s;let i=[...e.currentPath,"properties",n],a=C(o._def,{...e,currentPath:i,propertyPath:i});if(a===void 0)return s;if(e.openaiStrictMode&&o.isOptional()&&!o.isNullable()&&typeof o._def?.defaultValue>"u")throw new Error(`Zod field at \`${i.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...s.properties,[n]:a},required:o.isOptional()&&!e.openaiStrictMode?s.required:[...s.required,n]}},{properties:{},required:[]}),additionalProperties:Ap(t,e)};return r.required.length||delete r.required,r}var Su=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return C(t.innerType._def,{...e,currentPath:e.currentPath},r);let s=C(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return s?{anyOf:[{not:{}},s]}:{}};var $u=(t,e,r)=>{if(e.pipeStrategy==="input")return C(t.in._def,e,r);if(e.pipeStrategy==="output")return C(t.out._def,e,r);let s=C(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=C(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",s?"1":"0"]});return{allOf:[s,n].filter(o=>o!==void 0)}};function Mu(t,e,r){return C(t.type._def,e,r)}function Nu(t,e){let s={type:"array",uniqueItems:!0,items:C(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&M(s,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&M(s,"maxItems",t.maxSize.value,t.maxSize.message,e),s}function zu(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,s)=>C(r._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((r,s)=>s===void 0?r:[...r,s],[]),additionalItems:C(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,s)=>C(r._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((r,s)=>s===void 0?r:[...r,s],[])}}function Uu(){return{not:{}}}function ju(){return{}}var Du=(t,e,r)=>C(t.innerType._def,e,r);function C(t,e,r=!1){let s=e.seen.get(t);if(e.override){let o=e.override?.(t,e,s,r);if(o!==au)return o}if(s&&!r){let o=Ip(s,e);if(o!==void 0)return"$ref"in o&&e.seenRefs.add(o.$ref),o}let n={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,n);try{let o=wp(t,t.typeName,e,r);return o&&Pp(t,e,o),n.jsonSchema=o,o}finally{r&&s&&e.seen.set(t,s)}}var Ip=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":let r=t.path.slice(e.basePath.length+1).map((s,n)=>n===0?s:bp(s)).join("_");return r!==e.name&&e.nameStrategy==="duplicate-ref"&&(e.definitions[r]=t.def),{$ref:[...e.basePath,e.definitionPath,r].join("/")};case"relative":return{$ref:xp(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((s,n)=>e.currentPath[n]===s)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Lu="_x_",bp=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Lu))return t;let e=Lu;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},xp=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")},wp=(t,e,r,s)=>{switch(e){case E.ZodString:return Cn(t,r);case E.ZodNumber:return Ru(t,r);case E.ZodObject:return Eu(t,r);case E.ZodBigInt:return du(t,r);case E.ZodBoolean:return fu();case E.ZodDate:return Do(t,r);case E.ZodUndefined:return Uu();case E.ZodNull:return ku(r);case E.ZodArray:return mu(t,r);case E.ZodUnion:case E.ZodDiscriminatedUnion:return Tu(t,r);case E.ZodIntersection:return Iu(t,r);case E.ZodTuple:return zu(t,r);case E.ZodRecord:return Rn(t,r);case E.ZodLiteral:return bu(t,r);case E.ZodEnum:return Au(t);case E.ZodNativeEnum:return Pu(t);case E.ZodNullable:return Cu(t,r,s);case E.ZodOptional:return Su(t,r,s);case E.ZodMap:return wu(t,r);case E.ZodSet:return Nu(t,r);case E.ZodLazy:return C(t.getter()._def,r,s);case E.ZodPromise:return Mu(t,r,s);case E.ZodNaN:case E.ZodNever:return Ou();case E.ZodEffects:return yu(t,r,s);case E.ZodAny:return pu();case E.ZodUnknown:return ju();case E.ZodDefault:return gu(t,r,s);case E.ZodBranded:return hu(t,r,s);case E.ZodReadonly:return Du(t,r,s);case E.ZodCatch:return _u(t,r,s);case E.ZodPipeline:return $u(t,r,s);case E.ZodFunction:case E.ZodVoid:case E.ZodSymbol:return;default:return(n=>{})(e)}},Pp=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Ko=(t,e)=>{let r=cu(e),s=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,n=C(t._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1)??{},o=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;o!==void 0&&(n.title=o);let i=(()=>{if(lu(r.definitions))return;let c={},u=new Set;for(let h=0;h<500;h++){let f=Object.entries(r.definitions).filter(([g])=>!u.has(g));if(f.length===0)break;for(let[g,y]of f)c[g]=C(Ms(y),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},u.add(g)}return c})(),a=s===void 0?i?{...n,[r.definitionPath]:i}:n:r.nameStrategy==="duplicate-ref"?{...n,...i||r.seenRefs.size?{[r.definitionPath]:{...i,...r.seenRefs.size?{[s]:n}:void 0}}:void 0}:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,s].join("/"),[r.definitionPath]:{...i,[s]:n}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),a};function Ku(t){if(t.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${t.type?`'${t.type}'`:"undefined"}`);let e=structuredClone(t);return De(e,[],e)}function Fo(t){if(typeof t=="boolean")return!1;if(t.type==="null")return!0;for(let e of t.oneOf??[])if(Fo(e))return!0;for(let e of t.anyOf??[])if(Fo(e))return!0;return!1}function De(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!zt(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);let s=t.$defs;if(zt(s))for(let[g,y]of Object.entries(s))De(y,[...e,"$defs",g],r);let n=t.definitions;if(zt(n))for(let[g,y]of Object.entries(n))De(y,[...e,"definitions",g],r);t.type==="object"&&!("additionalProperties"in t)&&(t.additionalProperties=!1);let i=t.required??[],a=t.properties;if(zt(a)){for(let[g,y]of Object.entries(a))if(!Fo(y)&&!i.includes(g))throw new Error(`Zod field at \`${[...e,"properties",g].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(a),t.properties=Object.fromEntries(Object.entries(a).map(([g,y])=>[g,De(y,[...e,"properties",g],r)]))}let c=t.items;zt(c)&&(t.items=De(c,[...e,"items"],r));let u=t.anyOf;Array.isArray(u)&&(t.anyOf=u.map((g,y)=>De(g,[...e,"anyOf",String(y)],r)));let h=t.allOf;if(Array.isArray(h))if(h.length===1){let g=De(h[0],[...e,"allOf","0"],r);Object.assign(t,g),delete t.allOf}else t.allOf=h.map((g,y)=>De(g,[...e,"allOf",String(y)],r));t.default===null&&delete t.default;let f=t.$ref;if(f&&kp(t,1)){if(typeof f!="string")throw new TypeError(`Received non-string $ref - ${f}; path=${e.join("/")}`);let g=Op(r,f);if(typeof g=="boolean")throw new Error(`Expected \`$ref: ${f}\` to resolve to an object schema but got boolean`);if(!zt(g))throw new Error(`Expected \`$ref: ${f}\` to resolve to an object but got ${JSON.stringify(g)}`);return Object.assign(t,{...g,...t}),delete t.$ref,De(t,e,r)}return t}function Op(t,e){if(!e.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(e)}; Does not start with #/`);let r=e.slice(2).split("/"),s=t;for(let n of r){if(!zt(s))throw new Error(`encountered non-object entry while resolving ${e} - ${JSON.stringify(s)}`);let o=s[n];if(o===void 0)throw new Error(`Key ${n} not found while resolving ${e}`);s=o}return s}function zt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function kp(t,e){let r=0;for(let s in t)if(r++,r>e)return!0;return!1}function vp(t,e){return Ko(t,{openaiStrictMode:!0,name:e.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function Tp(t){return Ku(mi(t,{target:"draft-7",override:({zodSchema:e,jsonSchema:r})=>{let s=e._zod.def;if(s.type==="union"&&"discriminator"in s&&Array.isArray(r.oneOf)){if(r.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");r.anyOf=r.oneOf,delete r.oneOf}}}))}function Cp(t){return"_zod"in t}function Fu(t,e,r){return ca({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:Cp(t)?Tp(t):vp(t,{name:e})}},s=>t.parse(JSON.parse(s)))}var Bu=["jsonSchema","functionCalling","jsonMode"];function qu(t,e){if(typeof e<"u"&&!Bu.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${Bu.join(", ")}`);let r=!t.startsWith("gpt-3")&&!t.startsWith("gpt-4-")&&t!=="gpt-4";if(r&&!e)return"jsonSchema";if(!r&&e==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${t}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return e??"functionCalling"}function Rp(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Wu(t,e,r){if(fi(t))return Fu(t,e,r);if(di(t))return Rp({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:Lt(t,{cycles:"ref",reused:"ref",override(s){s.jsonSchema.title=e}})}},s=>pi(t,JSON.parse(s)));throw new Error("Unsupported schema response format")}function Hu(t,e){if(e&&typeof e=="object"&&"images"in e&&Array.isArray(e.images)){let r=e.images.filter(s=>typeof s?.image_url?.url=="string").map(s=>({type:"image",url:s.image_url.url}));return[{type:"text",text:t},...r]}return t}var Zu={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var En="**REDACTED**";function ss(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var Ut=class extends xi{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let s={...r};return"headers"in s&&(s.headers=En),"authorization"in s&&(s.authorization=En),s})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let s={...r};return"headers"in s&&(s.headers=En),"authorization"in s&&(s.authorization=En),s})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=Oi({baseURL:t?.configuration?.baseURL??(re("OPENAI_API_BASE")||re("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??re("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??re("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.8")}_getReasoningParams(t){if(!Ne(this.model))return;let e;return this.reasoning!==void 0&&(e={...e,...this.reasoning}),t?.reasoning!==void 0&&(e={...e,...t.reasoning}),t?.reasoningEffort!==void 0&&e?.effort===void 0&&(e={...e,effort:t.reasoningEffort}),e}_getResponseFormat(t){return t&&t.type==="json_schema"&&t.json_schema.schema&&as(t.json_schema.schema)?Wu(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e=Ue({baseURL:this.clientConfig.baseURL}),r={...this.clientConfig,baseURL:e,timeout:this.timeout,maxRetries:0};r.baseURL||delete r.baseURL,r.defaultHeaders=je(r.defaultHeaders),this.client=new T(r)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return Mt(t)?ou(t.metadata.customTool):Ws(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:Ja(t,e)}bindTools(t,e){let r;return e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:t.map(s=>{if(rs(s)||Mt(s))return s;if(Ya(s))return s.extras.providerToolDefinition;let n=this._convertChatOpenAIToolToCompletionsTool(s,{strict:r});return Vs(s)&&s.extras?.defer_loading===!0?{...n,defer_loading:!0}:n}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,s=0;this.model==="gpt-3.5-turbo-0301"?(r=4,s=-1):(r=3,s=1);let n=await Promise.all(t.map(async o=>{let[i,a]=await Promise.all([this.getNumTokens(o.content),this.getNumTokens(ze(o))]),c=o.name!==void 0?s+await this.getNumTokens(o.name):0,u=i+r+a+c,h=o;if(h._getType()==="function"&&(u-=2),h.additional_kwargs?.function_call&&(u+=3),h?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(h.additional_kwargs.function_call?.name)),h.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(h.additional_kwargs.function_call?.arguments)))}catch(f){console.error("Error parsing function arguments",f,JSON.stringify(h.additional_kwargs.function_call)),u+=await this.getNumTokens(h.additional_kwargs.function_call?.arguments)}return e+=u,u}));return e+=3,{totalCount:e,countPerMessage:n}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let s=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let n=Ga(e);s+=await this.getNumTokens(n),s+=9}return e&&t.find(n=>n._getType()==="system")&&(s-=4),r==="none"?s+=1:typeof r=="object"&&(s+=await this.getNumTokens(r.name)+4),s}async moderateContent(t,e){let r=this._getClientOptions(e?.options),s={input:t,model:e?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(s,r)}catch(n){throw ce(n)}})}get profile(){return Zu[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,s,{schema:n,name:o,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=qu(this.model,e?.method);if(a==="jsonMode"){s=Vn(n);let c=Lt(n);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:o??"extract",...c}}})}else if(a==="jsonSchema"){let c=Lt(n),u={name:o??"extract",description:hi(c),schema:as(n)?n:c,strict:e?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),as(n)||Hn(n)){let h=Vn(n);s=_i.from(async f=>"parsed"in f.additional_kwargs?f.additional_kwargs.parsed:h.invoke(f.content))}else s=new yi}else{let c=o??"extract",u=Lt(n),h;as(n)||Hn(n)?h={name:c,description:u.description,parameters:u}:typeof n.name=="string"&&typeof n.parameters=="object"&&n.parameters!=null?(h=n,c=n.name):(c=n.title??c,h={name:c,description:n.description??"",parameters:n}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:h}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...e?.strict!==void 0?{strict:e.strict}:{}}),s=Ai(n,c)}return Ii(r,s,i)}};var zs={providerName:"ChatOpenAI",fromStandardTextBlock(t){return{type:"text",text:t.text}},fromStandardImageBlock(t){if(t.source_type==="url")return{type:"image_url",image_url:{url:t.url,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};if(t.source_type==="base64")return{type:"image_url",image_url:{url:`data:${t.mime_type??""};base64,${t.data}`,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(t){if(t.source_type==="url"){let e=qn({dataUrl:t.url});if(!e)throw new Error(`URL audio blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);let r=e.mime_type||t.mime_type||"",s;try{s=Bn(r)}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(s.type!=="audio"||s.subtype!=="wav"&&s.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:s.subtype,data:e.data}}}if(t.source_type==="base64"){let e;try{e=Bn(t.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(e.type!=="audio"||e.subtype!=="wav"&&e.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:e.subtype,data:t.data}}}throw new Error(`Audio content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(t){if(t.source_type==="url"){let e=qn({dataUrl:t.url}),r=$t(t);if(!e)throw new Error(`URL file blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:t.url,filename:r}}}if(t.source_type==="base64"){let e=$t(t);return{type:"file",file:{file_data:`data:${t.mime_type??""};base64,${t.data}`,filename:e}}}if(t.source_type==="id")return{type:"file",file:{file_id:t.id}};throw new Error(`File content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)}},Sn=({message:t,rawResponse:e,includeRawResponse:r})=>{let s=t.tool_calls,n=t.reasoning_content;switch(t.role){case"assistant":{let o=[],i=[];for(let u of s??[])try{o.push(Hs(u,{returnId:!0}))}catch(h){i.push(Kt(u,h.message))}let a={function_call:t.function_call,tool_calls:s};r!==void 0&&(a.__raw_response=e),n!==void 0&&(a.reasoning_content=n);let c={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};return t.audio&&(a.audio=t.audio),new ae({content:Hu(t.content||"",e.choices?.[0]?.message),tool_calls:o,invalid_tool_calls:i,additional_kwargs:a,response_metadata:c,id:e.id})}default:return new qs(t.content||"",t.role??"unknown")}},$n=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:s})=>{let n=t.role??s,o=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(n==="user")return new li({content:o,response_metadata:a});if(n==="assistant"){let c=[];if(Array.isArray(t.tool_calls))for(let u of t.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new Dt({content:o,tool_call_chunks:c,additional_kwargs:i,id:e.id,response_metadata:a})}else return n==="system"?new Wn({content:o,response_metadata:a}):n==="developer"?new Wn({content:o,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):n==="function"?new ui({content:o,additional_kwargs:i,name:t.name,response_metadata:a}):n==="tool"?new oi({content:o,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new ai({content:o,role:n,response_metadata:a})},Bo=t=>{if(t.type==="image"){if(t.url)return{type:"image_url",image_url:{url:t.url}};if(t.data)return{type:"image_url",image_url:{url:`data:${t.mimeType};base64,${t.data}`}}}if(t.type==="audio"&&t.data){let e=ci(()=>{let[,r]=t.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:t.data.toString(),format:e}}}if(t.type==="file"){if(t.data){let e=$t(t);return{type:"file",file:{file_data:`data:${t.mimeType};base64,${t.data}`,filename:e}}}if(t.fileId)return{type:"file",file:{file_id:t.fileId}}}},qo=({message:t,model:e})=>{let r=ze(t);if(r==="system"&&Ne(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="assistant"){let n={role:"assistant",content:t.contentBlocks.filter(o=>o.type==="text")};return ae.isInstance(t)&&t.tool_calls?.length?n.tool_calls=t.tool_calls.map(Zn):t.additional_kwargs.tool_calls!=null&&(n.tool_calls=t.additional_kwargs.tool_calls),n}else{if(r==="tool"&&Fs.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(n=>n.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(n=>n.type==="text").join("")}}function*s(n){for(let o of n){o.type==="text"&&(yield{type:"text",text:o.text});let i=Bo(o);i&&(yield i)}}return{role:"user",content:Array.from(s(t.contentBlocks))}},jt=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return qo({message:r});let s=ze(r);s==="system"&&Ne(e)&&(s="developer");let n=typeof r.content=="string"?r.content:r.content.flatMap(i=>Ls(i)?Ks(i,zs):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),o={role:s,content:n};return r.name!=null&&(o.name=r.name),r.additional_kwargs.function_call!=null&&(o.function_call=r.additional_kwargs.function_call),ae.isInstance(r)&&r.tool_calls?.length?o.tool_calls=r.tool_calls.map(Zn):(r.additional_kwargs.tool_calls!=null&&(o.tool_calls=r.additional_kwargs.tool_calls),Fs.isInstance(r)&&r.tool_call_id!=null&&(o.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[o,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:o});var Mn=class extends Ut{constructor(t,e){super(ss(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let s={};t?.stream_options!==void 0?s={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(s={stream_options:{include_usage:!0}});let n={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:vn(t?.tool_choice),response_format:this._getResponseFormat(t?.response_format),seed:t?.seed,...s,parallel_tool_calls:t?.parallel_tool_calls,...this.audio||t?.audio?{audio:this.audio||t?.audio}:{},...this.modalities||t?.modalities?{modalities:this.modalities||t?.modalities}:{},...this.modelKwargs,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,verbosity:t?.verbosity??this.verbosity};t?.prediction!==void 0&&(n.prediction=t.prediction),this.service_tier!==void 0&&(n.service_tier=this.service_tier),t?.service_tier!==void 0&&(n.service_tier=t.service_tier);let o=this._getReasoningParams(t);return o!==void 0&&o.effort!==void 0&&(n.reasoning_effort=o.effort),Ne(n.model)?n.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:n.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,n}async _generate(t,e,r){e.signal?.throwIfAborted();let s={},n=this.invocationParams(e),o=jt({messages:t,model:this.model});if(n.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let y of i){y.message.response_metadata={...y.generationInfo,...y.message.response_metadata};let I=y.generationInfo?.completion??0;a[I]===void 0?a[I]=y:a[I]=a[I].concat(y)}let c=Object.entries(a).sort(([y],[I])=>parseInt(y,10)-parseInt(I,10)).map(([y,I])=>I),{functions:u,function_call:h}=this.invocationParams(e),f=await this._getEstimatedTokenCountFromPrompt(t,u,h),g=await this._getNumTokensFromGenerations(c);return s.input_tokens=f,s.output_tokens=g,s.total_tokens=f+g,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}else{let i=await this.completionWithRetry({...n,stream:!1,messages:o},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:c,total_tokens:u,prompt_tokens_details:h,completion_tokens_details:f}=i?.usage??{};a&&(s.output_tokens=(s.output_tokens??0)+a),c&&(s.input_tokens=(s.input_tokens??0)+c),u&&(s.total_tokens=(s.total_tokens??0)+u),(h?.audio_tokens!==null||h?.cached_tokens!==null)&&(s.input_token_details={...h?.audio_tokens!==null&&{audio:h?.audio_tokens},...h?.cached_tokens!==null&&{cache_read:h?.cached_tokens}}),(f?.audio_tokens!==null||f?.reasoning_tokens!==null)&&(s.output_token_details={...f?.audio_tokens!==null&&{audio:f?.audio_tokens},...f?.reasoning_tokens!==null&&{reasoning:f?.reasoning_tokens}});let g=[];for(let y of i?.choices??[]){let I={text:y.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(y.message??{role:"assistant"},i)};I.generationInfo={...y.finish_reason?{finish_reason:y.finish_reason}:{},...y.logprobs?{logprobs:y.logprobs}:{}},Bs(I.message)&&(I.message.usage_metadata=s),I.message=new ae(Object.fromEntries(Object.entries(I.message).filter(([x])=>!x.startsWith("lc_")))),g.push(I)}return{generations:g,llmOutput:{tokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let s=jt({messages:t,model:this.model}),n={...this.invocationParams(e,{streaming:!0}),messages:s,stream:!0},o=await this.completionWithRetry(n,e),i=this.streamUsage??e.streamUsage;yield*Zs(async function*(c,u){for await(let h of c){if(u?.aborted)return;yield h}}(o,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let s=jt({messages:t,model:this.model}),n={...this.invocationParams(e,{streaming:!0}),messages:s,stream:!0},o,i=await this.completionWithRetry(n,e),a;for await(let c of i){if(e.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(a=c.usage),!u)continue;let{delta:h}=u;if(!h)continue;let f=this._convertCompletionsDeltaToBaseMessageChunk(h,c,o);o=h.role??o;let g={prompt:e.promptIndex??0,completion:u.index??0};if(typeof f.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let y={...g};u.finish_reason!=null&&(y.finish_reason=u.finish_reason,y.system_fingerprint=c.system_fingerprint,y.model_name=c.model,y.service_tier=c.service_tier),this.logprobs&&(y.logprobs=u.logprobs);let I=new is({message:f,text:f.content,generationInfo:y});yield I,await r?.handleLLMNewToken(I.text??"",g,void 0,void 0,void 0,{chunk:I})}if(a){let c={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens}},u={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},h=new is({message:new Dt({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield h,await r?.handleLLMNewToken(h.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:h})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...s}=e??{},n=this._getClientOptions(s),o=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return o&&!t.stream?await this.client.chat.completions.parse(t,n):await this.client.chat.completions.create(t,n)}catch(i){throw ce(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return $n({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return Sn({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var Nn="__openai_function_call_ids__",zn="__openai_custom_tool_call_ids__";function el(t){return t.type==="url_citation"?{type:"citation",source:"url_citation",url:t.url,title:t.title,startIndex:t.start_index,endIndex:t.end_index}:t.type==="file_citation"?{type:"citation",source:"file_citation",title:t.filename,startIndex:t.index,file_id:t.file_id}:t.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:t.filename,startIndex:t.start_index,endIndex:t.end_index,file_id:t.file_id,container_id:t.container_id}:t.type==="file_path"?{type:"citation",source:"file_path",startIndex:t.index,file_id:t.file_id}:{type:"non_standard",value:t}}function Sp(t){if(t.type==="url_citation"||t.type==="file_citation"||t.type==="container_file_citation"||t.type==="file_path")return t;if(t.type==="citation"){let e=t;if(e.source==="url_citation")return{type:"url_citation",url:e.url??"",title:e.title??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_citation")return{type:"file_citation",file_id:e.file_id??"",filename:e.title??"",index:e.startIndex??0};if(e.source==="container_file_citation")return{type:"container_file_citation",file_id:e.file_id??"",filename:e.title??"",container_id:e.container_id??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_path")return{type:"file_path",file_id:e.file_id??"",index:e.startIndex??0}}return t.type==="non_standard"?t.value:t}var ns=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},Us=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],s=[],n=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let c={...a};return delete c.parsed_arguments,c}return a}),o={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:n,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(c=>c.type==="output_text"?("parsed"in c&&c.parsed!=null&&(i.parsed=c.parsed),{type:"text",text:c.text,annotations:c.annotations.map(el),...a.phase!==null?{phase:a.phase}:{}}):c.type==="refusal"?(i.refusal=c.refusal,[]):c));else if(a.type==="function_call"){let c={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(Hs(c,{returnId:!0}))}catch(u){let h;typeof u=="object"&&u!=null&&"message"in u&&typeof u.message=="string"&&(h=u.message),s.push(Kt(c,h))}i[Nn]??={},a.id&&(i[Nn][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let c=a.summary?.map(u=>u.text).filter(Boolean).join("");c&&e.push({type:"reasoning",reasoning:c})}else if(a.type==="custom_tool_call"){let c=eu(a);c?(r.push(c),i[zn]??={},a.id&&a.call_id&&(i[zn][a.call_id]=a.id)):s.push(Kt(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let c=tu(a);c?r.push(c):s.push(Kt(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new ae({id:t.id,content:e,tool_calls:r,invalid_tool_calls:s,usage_metadata:ns(t.usage),additional_kwargs:i,response_metadata:o})},Wo=t=>{let e=(t.summary.length>1?t.summary.reduce((r,s)=>{let n=r[r.length-1];return n.index===s.index?n.text+=s.text:r.push(s),r},[{...t.summary[0]}]):t.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([s])=>s!=="index")));return{...t,summary:e}},Un=t=>{let e=[],r={},s,n=[],o={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[el(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let c="phase"in t.item?t.item.phase:void 0;c&&e.push({type:"text",text:"",phase:c,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")n.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[Nn]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")n.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[zn]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")n.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,o.id=t.response.id,o.model_name=t.response.model,o.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let c=Us(t.response);if(s=ns(t.response.usage),t.response.text?.format?.type==="json_schema"&&c.text)try{i.parsed??=JSON.parse(c.text)}catch{}for(let[u,h]of Object.entries(t.response))u!=="id"&&(u==="output"?o[u]=c.response_metadata.output:o[u]=h)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")n.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,c,u]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:c,status:u}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let c=t.item.summary?t.item.summary.map((h,f)=>({...h,index:f})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...c?{summary:c}:{}};let u=t.item.summary?.map(h=>h.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new is({text:e.map(c=>c.text).join(""),message:new Dt({id:a,content:e,tool_call_chunks:n,usage_metadata:s,additional_kwargs:i,response_metadata:o}),generationInfo:r})},Ho=t=>{let e=ae.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let s=he(()=>{try{let p=ze(t);return p==="system"||p==="developer"||p==="assistant"||p==="user"?p:"assistant"}catch{return"assistant"}}),n=p=>s==="assistant"?{type:"output_text",text:p,annotations:[]}:{type:"input_text",text:p},o,i=new Set,a=new Set,c=new Map,u=new Map;function*h(){if(!o)return;let p=o.content;(typeof p=="string"&&p.length>0||Array.isArray(p)&&p.length>0)&&(yield o),o=void 0}let f=(p,A)=>{o||(o={type:"message",role:s,content:[],...A?{phase:A}:{}}),typeof o.content=="string"?o.content=o.content.length>0?[n(o.content),...p]:[...p]:o.content.push(...p)},g=p=>{if(typeof p=="string")return p;try{return JSON.stringify(p??{})}catch{return"{}"}},y=p=>{let A=he(()=>{let O=p.metadata?.detail;return O==="low"||O==="high"||O==="auto"?O:"auto"});if(p.fileId)return{type:"input_image",detail:A,file_id:p.fileId};if(p.url)return{type:"input_image",detail:A,image_url:p.url};if(p.data){let O=typeof p.data=="string"?p.data:Buffer.from(p.data).toString("base64");return{type:"input_image",detail:A,image_url:`data:${p.mimeType??"image/png"};base64,${O}`}}},I=p=>{if(p.fileId){let A=On(p);return{type:"input_file",file_id:p.fileId,...A?{filename:A}:{}}}if(p.url){let A=On(p);return{...A?{filename:A}:{},type:"input_file",file_url:p.url}}if(p.data){let A=$t(p),O=typeof p.data=="string"?p.data:Buffer.from(p.data).toString("base64");return{type:"input_file",file_data:`data:${p.mimeType??"application/octet-stream"};base64,${O}`,filename:A}}},x=p=>{let A=he(()=>{if(Array.isArray(p.summary)){let z=p.summary?.map(N=>N?.text).filter(N=>typeof N=="string")??[];if(z.length>0)return z}return p.reasoning?[p.reasoning]:[]}),O=A.length>0?A.map(z=>({type:"summary_text",text:z})):[{type:"summary_text",text:""}];return{type:"reasoning",...p.id?{id:p.id}:{},summary:O}},_=p=>({type:"function_call",name:p.name??"",call_id:p.id??"",arguments:g(p.args)}),v=p=>{let A=g(p.output),O=p.status==="success"?"completed":p.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:p.toolCallId??"",output:A,...O?{status:O}:{}}};for(let p of t.contentBlocks)if(p.type==="text"){let A=he(()=>{if("extras"in p&&typeof p.extras=="object"&&p.extras!==null&&"phase"in p.extras)return p.extras.phase});f([n(p.text)],A)}else if(p.type!=="invalid_tool_call"){if(p.type==="reasoning")yield*h(),yield x(p);else if(p.type==="tool_call"){yield*h();let A=p.id??"";A&&(i.add(A),c.delete(A)),yield _(p)}else if(p.type==="tool_call_chunk"){if(p.id){let A=c.get(p.id)??{name:p.name,args:[]};p.name&&(A.name=p.name),p.args&&A.args.push(p.args),c.set(p.id,A)}}else if(p.type==="server_tool_call"){yield*h();let A=p.id??"";A&&(a.add(A),u.delete(A)),yield _(p)}else if(p.type==="server_tool_call_chunk"){if(p.id){let A=u.get(p.id)??{name:p.name,args:[]};p.name&&(A.name=p.name),p.args&&A.args.push(p.args),u.set(p.id,A)}}else if(p.type==="server_tool_call_result")yield*h(),yield v(p);else if(p.type!=="audio")if(p.type==="file"){let A=I(p);A&&f([A])}else if(p.type==="image"){let A=y(p);A&&f([A])}else if(p.type==="video"){let A=I(p);A&&f([A])}else p.type==="text-plain"?p.text&&f([n(p.text)]):p.type==="non_standard"&&e&&(yield*h(),yield p.value)}yield*h();for(let[p,A]of c){if(!p||i.has(p))continue;let O=A.args.join("");!A.name&&!O||(yield{type:"function_call",call_id:p,name:A.name??"",arguments:O})}for(let[p,A]of u){if(!p||a.has(p))continue;let O=A.args.join("");!A.name&&!O||(yield{type:"function_call",call_id:p,name:A.name??"",arguments:O})}}return Array.from(r())},os=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(s=>{let n=s.response_metadata;if(n?.output_version==="v1")return Ho(s);let o=s.additional_kwargs,i=ze(s);if(i==="system"&&Ne(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=s;if(o?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let u=a.content.find(g=>g.type==="input_image");if(u)return u;let h=a.content.find(g=>g.type==="computer_screenshot");if(h)return h;let f=a.content.find(g=>g.type==="image_url");if(f)return{type:"input_image",image_url:typeof f.image_url=="string"?f.image_url:f.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let c=Array.isArray(a.content)&&a.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:c?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&n?.output!=null&&Array.isArray(n?.output)&&n?.output.length>0&&n?.output.every(x=>"type"in x))return n?.output;let a=[],c=o?.reasoning,u=!!c?.encrypted_content;if(c&&(!e||u)){let x=Wo(c);a.push(x)}let{content:h}=s;if(o?.refusal&&(typeof h=="string"&&(h=[{type:"output_text",text:h,annotations:[]}]),h=[...h,{type:"refusal",refusal:o.refusal}]),typeof h=="string"||h.length>0){let x={type:"message",role:"assistant",...s.id&&!e&&s.id.startsWith("msg_")?{id:s.id}:{},content:he(()=>typeof h=="string"?h:h.flatMap(_=>{if(_.type==="text"){let v=_;return{type:"output_text",text:v.text,annotations:(v.annotations??[]).map(Sp)}}return _.type==="output_text"||_.type==="refusal"?_:[]})),phase:he(()=>{if(Array.isArray(h))return h.find(_=>"phase"in _&&typeof _.phase=="string")?.phase})};a.push(x)}let f=o?.[Nn],g=o?.[zn];ae.isInstance(s)&&s.tool_calls?.length?a.push(...s.tool_calls.map(x=>su(x,g)?{type:"custom_tool_call",id:"call_id"in x&&typeof x.call_id=="string"?x.call_id:g?.[x.id??""]??"",call_id:x.id??"",input:x.args.input,name:x.name}:ru(x)?{type:"computer_call",id:x.call_id,call_id:x.id??"",action:x.args.action}:{type:"function_call",name:x.name,arguments:JSON.stringify(x.args),call_id:x.id,...e?{}:{id:f?.[x.id]}})):o?.tool_calls&&a.push(...o.tool_calls.map(x=>({type:"function_call",name:x.function.name,call_id:x.id,arguments:x.function.arguments,...e?{}:{id:f?.[x.id]}})));let y=n?.output?.length?n?.output:o.tool_outputs,I=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(y!=null){let x=y?.filter(_=>I.includes(_.type));x.length>0&&a.push(...x)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof s.content=="string")return{type:"message",role:i,content:s.content};let a=[],c=s.content.flatMap(u=>{if(u.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Ls(u)){if(u.type==="file"){let h=On(u);if(u.source_type==="url")return{type:"input_file",file_url:u.url,...h?{filename:h}:{}};if(u.source_type==="id")return{type:"input_file",file_id:u.id,...h?{filename:h}:{}};if(u.source_type==="base64")return{type:"input_file",file_data:`data:${u.mime_type??""};base64,${u.data}`,filename:$t(u)}}return Ks(u,zs)}return u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:he(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:he(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]});return c.length>0&&a.push({type:"message",role:i,content:c}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*Zo(t,e={}){let r=e.streamUsage??!0,s=e.provider??"openai",n=new Map,o=new Map,i=0,a=!1,c,u,h,f,g=new Set,y=(_,v)=>{let p=o.get(_);if(p!==void 0)return{index:p,isNew:!1};let A=i++;return o.set(_,A),n.set(A,{...v}),{index:A,isNew:!0}},I=function*(){a||(a=!0,yield{event:"message-start",id:c})},x=function*(_){if(g.has(_))return;let v=n.get(_);v&&(g.add(_),yield{event:"content-block-finish",index:_,content:bi(v)})};for await(let _ of t){if(_.type==="response.created"){c=_.response.id,yield*I(),yield{event:"provider",provider:s,name:"response.created",payload:{model:_.response.model,id:_.response.id}};continue}if(_.type==="response.output_text.delta"){yield*I();let{index:v,isNew:p}=y(`text:${_.output_index}:${_.content_index}`,{type:"text",text:""});p&&(yield{event:"content-block-start",index:v,content:{type:"text",text:""}});let A=n.get(v);A.text=(A.text??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"text-delta",text:_.delta}};continue}if(_.type==="response.reasoning_summary_text.delta"){yield*I();let{index:v,isNew:p}=y(`reasoning:${_.output_index}:${_.summary_index}`,{type:"reasoning",reasoning:""});p&&(yield{event:"content-block-start",index:v,content:{type:"reasoning",reasoning:""}});let A=n.get(v);A.reasoning=(A.reasoning??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"reasoning-delta",reasoning:_.delta}};continue}if(_.type==="response.output_item.added"&&(_.item.type==="function_call"||_.item.type==="custom_tool_call")){yield*I();let v=`tool:${_.output_index}`,p=_.item.type==="custom_tool_call",A=_.item.type==="function_call"?_.item.arguments??"":_.item.input??"",{index:O,isNew:z}=y(v,{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:A,index:_.output_index,...p?{isCustomTool:!0}:{}});if(z&&(yield{event:"content-block-start",index:O,content:{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:A,index:_.output_index}}),A){let N=n.get(O);yield{event:"content-block-delta",index:O,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...N.id!=null?{id:N.id}:{},...N.name!=null?{name:N.name}:{},args:N.args}}}}continue}if(_.type==="response.function_call_arguments.delta"||_.type==="response.custom_tool_call_input.delta"){yield*I();let{index:v,isNew:p}=y(`tool:${_.output_index}`,{type:"tool_call_chunk",args:"",index:_.output_index,..._.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});p&&(yield{event:"content-block-start",index:v,content:{type:"tool_call_chunk",args:"",index:_.output_index}});let A=n.get(v);A.args=(A.args??"")+_.delta,yield{event:"content-block-delta",index:v,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...A.id!=null?{id:A.id}:{},...A.name!=null?{name:A.name}:{},args:A.args}}};continue}if(_.type==="response.output_item.done"&&(_.item.type==="function_call"||_.item.type==="custom_tool_call")){yield*I();let v=`tool:${_.output_index}`,p=_.item.type==="function_call"?_.item.arguments??"":_.item.input??"",{index:A,isNew:O}=y(v,{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:p,index:_.output_index});if(O)yield{event:"content-block-start",index:A,content:{type:"tool_call_chunk",id:_.item.call_id,name:_.item.name,args:p,index:_.output_index}};else{let z=n.get(A);z.args=p,z.id=_.item.call_id,z.name=_.item.name}yield*x(A);continue}if(_.type==="response.completed"||_.type==="response.incomplete"){yield*I(),c=_.response.id,h=$p(_.response.status,_.type),f={model_provider:s,id:_.response.id,model:_.response.model,status:_.response.status},r&&_.response.usage&&(u=ns(_.response.usage),yield{event:"usage",usage:u});continue}_.type!=="response.image_generation_call.partial_image"&&(yield*I(),yield{event:"provider",provider:s,name:_.type,payload:_})}a||(yield{event:"message-start"});for(let[_]of n)g.has(_)||(yield*x(_));yield{event:"message-finish",reason:h,...u?{usage:u}:{},...f?{responseMetadata:f}:{}}}function $p(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var jn=class extends Ut{constructor(t,e){super(ss(t,e))}invocationParams(t){let e;t?.strict!==void 0&&(e=t.strict),e===void 0&&this.supportsStrictToolCalling!==void 0&&(e=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:t?.previous_response_id,truncation:t?.truncation,include:t?.include,tools:t?.tools?.length?this._reduceChatOpenAITools(t.tools,{stream:this.streaming,strict:e}):void 0,tool_choice:Qa(t?.tool_choice)?t?.tool_choice:(()=>{let n=vn(t?.tool_choice);if(typeof n=="object"&&"type"in n){if(n.type==="function")return{type:"function",name:n.function.name};if(n.type==="allowed_tools")return{type:"allowed_tools",mode:n.allowed_tools.mode,tools:n.allowed_tools.tools};if(n.type==="custom")return{type:"custom",name:n.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let n=this._getResponseFormat(t?.response_format);return n?.type==="json_schema"?n.json_schema.schema!=null?{format:{type:"json_schema",schema:n.json_schema.schema,description:n.json_schema.description,name:n.json_schema.name,strict:n.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:n,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},s=this._getReasoningParams(t);return s!==void 0&&(r.reasoning=s),r}async _generate(t,e,r){e.signal?.throwIfAborted();let s=this.invocationParams(e);if(s.stream){let n=this._streamResponseChunks(t,e,r),o;for await(let i of n)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},o=o?.concat(i)??i;return{generations:o?[o]:[],llmOutput:{estimatedTokenUsage:o?.message?.usage_metadata}}}else{let n=await this.completionWithRetry({input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...s,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:n.output_text,message:Us(n)}],llmOutput:{id:n.id,estimatedTokenUsage:n.usage?{promptTokens:n.usage.input_tokens,completionTokens:n.usage.output_tokens,totalTokens:n.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let s=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),n=this.streamUsage??e.streamUsage;yield*Zo(async function*(i,a){for await(let c of i){if(a?.aborted)return;yield c}}(s,e.signal),{streamUsage:n??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let s=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let n of s){if(e.signal?.aborted)return;let o=Un(n);o!=null&&(yield o,await r?.handleLLMNewToken(o.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:o}))}}catch(n){throw ce(n)}}async completionWithRetry(t,e){let{maxRetries:r,...s}=e??{},n=this._getClientOptions(s);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,n):await this.client.responses.create(t,n)}catch(o){throw ce(o)}})}_reduceChatOpenAITools(t,e){let r=[];for(let s of t)if(rs(s))s.type==="image_generation"&&e?.stream&&(s.partial_images=1),r.push(s);else if(Mt(s)){let n=s.metadata.customTool;r.push({type:"custom",name:n.name,description:n.description,format:n.format})}else if(Ws(s)){let n={};for(let[o,i]of Object.entries(s))o!=="type"&&o!=="function"&&(n[o]=i);r.push({type:"function",name:s.function.name,parameters:s.function.parameters,description:s.function.description,strict:e?.strict??null,...n})}else Tn(s)&&r.push(nu(s));return r}};var Dn=class tl extends Ut{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(e,r){let s=ss(e,r);super(s),this.fields=s,this.useResponsesApi=s?.useResponsesApi??!1,this.responses=s?.responses??new jn(s),this.completions=s?.completions??new Mn(s)}_useResponsesApi(e){let r=e?.tools?.some(rs),s=e?.previous_response_id!=null||e?.text!=null||e?.truncation!=null||e?.include!=null||e?.reasoning?.summary!=null||this.reasoning?.summary!=null,n=e?.tools?.some(Tn)||e?.tools?.some(Mt);return this.useResponsesApi||r||s||n||Ha(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,s){return this._useResponsesApi(r)?this.responses._generate(e,r,s):this.completions._generate(e,r,s)}async*_streamChatModelEvents(e,r,s){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),s);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),s)}async*_streamResponseChunks(e,r,s){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),s);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),s)}withConfig(e){let r=new tl(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var Ln=class extends gi{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(t){let e={maxConcurrency:2,...t};super(e);let r=e?.apiKey??e?.openAIApiKey??re("OPENAI_API_KEY");this.organization=e?.configuration?.organization??re("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelName=this.model,this.batchSize=e?.batchSize??this.batchSize,this.stripNewLines=e?.stripNewLines??this.stripNewLines,this.timeout=e?.timeout,this.dimensions=e?.dimensions,this.encodingFormat=e?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration}}async embedDocuments(t){let e=Gn(this.stripNewLines?t.map(o=>o.replace(/\n/g," ")):t,this.batchSize),r=e.map(o=>{let i={model:this.model,input:o};return this.dimensions&&(i.dimensions=this.dimensions),this.encodingFormat&&(i.encoding_format=this.encodingFormat),this.embeddingWithRetry(i)}),s=await Promise.all(r),n=[];for(let o=0;o<s.length;o+=1){let i=e[o],{data:a}=s[o];for(let c=0;c<i.length;c+=1)n.push(a[c].embedding)}return n}async embedQuery(t){let e={model:this.model,input:this.stripNewLines?t.replace(/\n/g," "):t};this.dimensions&&(e.dimensions=this.dimensions),this.encodingFormat&&(e.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(e);return r[0].embedding}async embeddingWithRetry(t){if(!this.client){let r=Ue({baseURL:this.clientConfig.baseURL}),s={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};s.baseURL||delete s.baseURL,s.defaultHeaders=je(s.defaultHeaders),this.client=new T(s)}let e={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(t,e)}catch(r){throw ce(r)}})}};var Up=b.object({type:b.literal("screenshot")}),jp=b.object({type:b.literal("click"),x:b.number(),y:b.number(),button:b.enum(["left","right","wheel","back","forward"]).default("left")}),Dp=b.object({type:b.literal("double_click"),x:b.number(),y:b.number(),button:b.enum(["left","right","wheel","back","forward"]).default("left")}),Lp=b.object({type:b.literal("drag"),path:b.array(b.object({x:b.number(),y:b.number()}))}),Kp=b.object({type:b.literal("keypress"),keys:b.array(b.string())}),Fp=b.object({type:b.literal("move"),x:b.number(),y:b.number()}),Bp=b.object({type:b.literal("scroll"),x:b.number(),y:b.number(),scroll_x:b.number(),scroll_y:b.number()}),qp=b.object({type:b.literal("type"),text:b.string()}),Wp=b.object({type:b.literal("wait"),duration:b.number().optional()}),Hp=b.union([Up,jp,Dp,Lp,Kp,Fp,Bp,qp,Wp]),aT=b.object({action:Hp});var Zp=b.object({type:b.literal("exec"),command:b.array(b.string()),env:b.record(b.string(),b.string()).optional(),working_directory:b.string().optional(),timeout_ms:b.number().optional(),user:b.string().optional()}),pT=b.union([Zp]);var hT=b.object({commands:b.array(b.string()).describe("Array of shell commands to execute"),timeout_ms:b.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:b.number().optional().describe("Optional maximum number of characters to return from each command")});var Vp=b.object({type:b.literal("create_file"),path:b.string(),diff:b.string()}),Jp=b.object({type:b.literal("update_file"),path:b.string(),diff:b.string()}),Gp=b.object({type:b.literal("delete_file"),path:b.string()}),AT=b.union([Vp,Jp,Gp]);var il={advanced:"gpt-5.6-sol",default:"gpt-5.6-terra",fast:"gpt-5.6-luna"},Xo={default:"text-embedding-ada-002"},Jo=new Map,Kn=null,em=()=>{let t=nl.getDefault().helperServices;if(!t?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return t.aiModels.url},al=async t=>{let e=em();Jo.size===0&&(Kn||(Kn=(async()=>{try{(await ol(`${e}/models`)).data.models.forEach(s=>Jo.set(s.name,s))}catch(s){throw Kn=null,s}})()),await Kn);let r=Jo.get(t);if(!r)throw new Error(`Model '${t}' is not available in the discovery service.`);return r.endpoint},tm=async(t="default")=>await al(il[t]),rm=async(t="default")=>await al(Xo[t]),ZC=ke.Root({agentExecutionContext:ke({default:Ti,reducer:ki}),currentIntent:ke({default:()=>"none",reducer:us}),routing:ke({default:()=>({mode:"auto"}),reducer:us}),lastExecutedAgent:ke({default:()=>"",reducer:us}),requiresFollowUp:ke({default:()=>!0,reducer:us}),stepCount:ke({default:()=>0,reducer:(t,e)=>e??t+1}),finalOutputMessage:ke({default:()=>"",reducer:vi})}),sm=t=>{if(!t||typeof t!="object"||!("services"in t))return!1;let e=t.services;return!!e&&typeof e=="object"&&"agentRegistry"in e},nm=t=>{let e=t?.configurable;return sm(e)?e:void 0},om=(t,e,r)=>{let s=t[e];return s?typeof s=="function"?s():Promise.resolve(s):new Promise((n,o)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},Yo=async t=>(await om(Object.assign({"./field_descriptions_prompt.md":()=>import("./ZU2FHVNK.js"),"./intent_prompt.md":()=>import("./BL273EGZ.js"),"./layer_descriptions_prompt.md":()=>import("./LK7ZIQW6.js")}),`./${t}.md`,2)).default,im=async t=>{let{agent:e,messages:r,config:s}=t;return{structuredResponse:(await e.invoke({messages:r},s)).structuredResponse}},am=t=>typeof t=="string"&&t.length>0?t:void 0,um=()=>ri(),lm=t=>typeof t!="string"||t.trim().length===0?"MapsSDK":`MapsSDK - ${t.trim()}`,cm=t=>{let e=t?.configurable;return{conversationId:am(e?.thread_id),abortSignal:t?.signal,requestId:um(),requestSource:lm(Qp.applicationName)}},pm=t=>{if(t==null||typeof t=="string"||t instanceof FormData||t instanceof HTMLFormElement)return t;if(t instanceof URLSearchParams)return t.toString();throw new TypeError(`Unsupported request body type: ${Object.prototype.toString.call(t)}`)},ul=async({config:t})=>{let e=nl.getDefault(),r=(await Yp.getCredential(`${e.url}/sharing`))?.token;return async(s,n)=>{let{conversationId:o,abortSignal:i,requestId:a,requestSource:c}=cm(t),u=new Headers(n?.headers);for(let f of[...u.keys()]){let g=f.toLowerCase();(g==="authorization"||g==="api-key"||g.startsWith("x-stainless-"))&&u.delete(f)}r&&r.length>0&&u.set("X-Esri-Authorization",`Bearer ${r}`),e.isPortal||(c&&c.length>0&&u.set("X-Esri-Request-Source",c),o&&o.length>0&&u.set("X-Esri-Conversation-Id",o),a.length>0&&u.set("X-Esri-Request-Id",a));let h=i&&n?.signal?AbortSignal.any([i,n.signal]):n?.signal??i;return(await ol(s instanceof Request?s.url:s.toString(),{body:pm(n?.body),headers:Object.fromEntries(u),responseType:"native",signal:h})).data}},Ds=async(t={})=>{let{modelTier:e="default",config:r}=t,s=il[e],n=await tm(e);return new Dn({modelName:s,apiKey:"dummy-key",useResponsesApi:!0,zdrEnabled:!0,configuration:{baseURL:n,fetch:await ul({config:r})}})},VC=async(t={})=>{let{tier:e="default",config:r}=t,s=Xo[e],n=await rm(e);return new Ln({modelName:s,apiKey:"dummy-key",configuration:{baseURL:n,fetch:await ul({config:r})},batchSize:2048,maxConcurrency:10})},mm=b.object({id:b.string().min(1),name:b.string().min(1),description:b.string().min(1)});b.array(mm);var rl=t=>JSON.stringify(t,null,2),dm=t=>{let e=t.map(s=>s.id),r=b.enum(e);return b.object({intent:r.nullable(),assignedTask:b.string().nullable(),requiresFollowUp:b.boolean()})},JC=async(t,e)=>{let r=nm(e);if(e?.signal?.aborted)return await st({text:"Run cancelled; skipping intent routing"},e),{...t,currentIntent:"none",finalOutputMessage:"Operation cancelled.",requiresFollowUp:!1};try{await st({text:"Asking LLM to route to an agent"},e);let s=r.services.agentRegistry?.list()??[],n=s.map(({agent:x})=>({id:x.id,name:x.name,description:x.description}));if(!n.length)return await st({text:"No agents registered; skipping intent detection"},e),{...t,currentIntent:"none",finalOutputMessage:"No agents registered; skipping intent detection."};let o=await Yo("intent_prompt"),i=rl(n),a=dm(n),c={registeredAgents:i,priorSteps:rl(t.agentExecutionContext.priorSteps),userRequest:t.agentExecutionContext.userRequest},u=await Jn.fromTemplate(o).format(c),h=Ci({model:await Ds({modelTier:"fast",config:e}),tools:[],systemPrompt:u,responseFormat:a,middleware:[Ri({model:await Ds({modelTier:"fast",config:e}),trigger:{tokens:4e3},keep:{messages:6}}),Ei({runLimit:2})]}),{structuredResponse:f}=await im({agent:h,messages:t.agentExecutionContext.messages,config:e}),g=a.parse(f??{intent:null,assignedTask:null,requiresFollowUp:!1}),y=g.intent??"none",I={...t,currentIntent:y,requiresFollowUp:g.requiresFollowUp,agentExecutionContext:{...t.agentExecutionContext,assignedTask:g.assignedTask??""}};if(y==="none"){let x=`I could not find an agent that can handle that request. I have access to the following agents: ${s.map(({agent:_})=>_.name).join(", ")}.
36
36
 
37
37
  Please ask a question that can be answered by one of these agents.`;return await st({text:"LLM did not identify a clear intent."},e),{...t,currentIntent:y,requiresFollowUp:!1,finalOutputMessage:x,agentExecutionContext:{...t.agentExecutionContext,assignedTask:"",messages:[...t.agentExecutionContext.messages,new ae(x)],priorSteps:[...t.agentExecutionContext.priorSteps??[],{agentId:"no-intent-router",assignedTask:t.agentExecutionContext.userRequest,summary:"No matching agent found; asked user to rephrase.",status:"failed"}]}}}return await st({text:`Agent picked: ${y}
38
38
  Task Assigned: ${g.assignedTask??""}
@@ -40,5 +40,5 @@ Requires Follow-Up: ${g.requiresFollowUp}`},e),I}catch(s){throw await st({text:"
40
40
  Title: {title}
41
41
  Description: {description}`,ym=`Name: {name}
42
42
  Alias: {alias}
43
- Description: {description}`,GC=b.object({schemaVersion:b.literal(fm),modified:b.number().int().nonnegative(),embeddings:b.object({modelProvider:b.literal(hm),model:b.literal(_m),dimensions:b.literal(js),templates:b.object({layer:b.string().default(gm),field:b.string().default(ym)})}),layers:b.array(b.object({id:b.string().min(1),name:b.string().min(1),title:b.string().catch(""),description:b.string().catch(""),vector:b.array(b.number()).length(js,{message:`Layer vector must be exactly ${js} dimensions`}),fields:b.array(b.object({name:b.string().min(1),alias:b.string().catch(""),description:b.string().catch(""),vector:b.array(b.number()).length(js,{message:`Field vector must be exactly ${js} dimensions`})}))})).default([])}),Am=t=>{let e=new Set;for(let r of t)if(Bs(r)){let s=r;s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(n=>{n.id&&e.add(n.id)})}return t.filter(r=>{if(ii(r)){let s=r;return e.has(s.tool_call_id)}return!0})},Qo=(t,e)=>{let r=wi.fromTemplate(t);return Jn.fromMessages([r,...e])},Im=async t=>{let{promptText:e,modelTier:r,messages:s,config:n}=t,o=Qo(e,s??[]),i=await Ds({modelTier:r,config:n});return o.pipe(i)},XC=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,config:o}=t,i=await(await Im({promptText:e,modelTier:r,messages:s,config:o})).invoke(n??{},o);if(typeof i=="string")return i;let a=i.content;return typeof a=="string"?a:JSON.stringify(a)},ll=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,schema:o,config:i}=t,a=Qo(e,s??[]),c=(await Ds({modelTier:r,config:i})).withStructuredOutput(o);return await a.pipe(c).invoke(n??{},i)},YC=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,tools:o,config:i}=t,a=o.length>0?Am(s??[]):s??[],c=Qo(e,a),u=await Ds({modelTier:r,config:i});return await c.pipe(u.bindTools(o)).invoke(n??{},i)},bm=ue.object({name:ue.string(),description:ue.string(),valueType:ue.string(),alias:ue.string()}),xm=ue.object({fields:ue.array(bm)}),cl=(t,e)=>t.getFieldAlias(e)??void 0,Go=(t,e)=>cl(t,e.name)??e.alias??"",wm=(t,e)=>{let r=cl(t,e.name);return!!(r&&r!==(e.alias??""))};function sl(t,e){let r=new Map;for(let s of t.fields){let n=e.fields.find(c=>c.name===s.name),o=Go(t,s),i=wm(t,s),a={name:s.name,type:s.type,alias:i?o:n?.alias??o,description:n?.description??s.description??"",valueType:n?.valueType??s.valueType??"",domain:t.getFieldDomain(s.name)??void 0};r.set(s.name,a)}return r}var QC=async t=>{let e=await Yo("field_descriptions_prompt"),r=t.fields.filter(o=>!(Go(t,o)&&o.description)).map(o=>{let{name:i,type:a,description:c}=o,u=Go(t,o);return[`Name: ${i}`,`Type: ${a}`,`Alias: ${u}`,`Description: ${c??"N/A"}`].join(", ")}).join(`
43
+ Description: {description}`,GC=b.object({schemaVersion:b.literal(fm),modified:b.number().int().nonnegative(),embeddings:b.object({modelProvider:b.literal(hm),model:b.literal(_m),dimensions:b.literal(js),templates:b.object({layer:b.string().default(gm),field:b.string().default(ym)})}),layers:b.array(b.object({id:b.string().min(1),name:b.string().min(1),title:b.string().catch(""),description:b.string().catch(""),vector:b.array(b.number()).length(js,{message:`Layer vector must be exactly ${js} dimensions`}),fields:b.array(b.object({name:b.string().min(1),alias:b.string().catch(""),description:b.string().catch(""),vector:b.array(b.number()).length(js,{message:`Field vector must be exactly ${js} dimensions`})}))})).default([])}),Am=t=>{let e=new Set;for(let r of t)if(Bs(r)){let s=r;s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(n=>{n.id&&e.add(n.id)})}return t.filter(r=>{if(ii(r)){let s=r;return e.has(s.tool_call_id)}return!0})},Qo=(t,e)=>{let r=wi.fromTemplate(t);return Jn.fromMessages([r,...e])},Im=async t=>{let{promptText:e,modelTier:r,messages:s,config:n}=t,o=Qo(e,s??[]),i=await Ds({modelTier:r,config:n});return o.pipe(i)},XC=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,config:o}=t,i=await(await Im({promptText:e,modelTier:r,messages:s,config:o})).invoke(n??{},o);return typeof i=="string"?i:i.text},ll=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,schema:o,config:i}=t,a=Qo(e,s??[]),c=(await Ds({modelTier:r,config:i})).withStructuredOutput(o);return await a.pipe(c).invoke(n??{},i)},YC=async t=>{let{promptText:e,modelTier:r="default",messages:s,inputVariables:n,tools:o,config:i}=t,a=o.length>0?Am(s??[]):s??[],c=Qo(e,a),u=await Ds({modelTier:r,config:i});return await c.pipe(u.bindTools(o)).invoke(n??{},i)},bm=ue.object({name:ue.string(),description:ue.string(),valueType:ue.string(),alias:ue.string()}),xm=ue.object({fields:ue.array(bm)}),cl=(t,e)=>t.getFieldAlias(e)??void 0,Go=(t,e)=>cl(t,e.name)??e.alias??"",wm=(t,e)=>{let r=cl(t,e.name);return!!(r&&r!==(e.alias??""))};function sl(t,e){let r=new Map;for(let s of t.fields){let n=e.fields.find(c=>c.name===s.name),o=Go(t,s),i=wm(t,s),a={name:s.name,type:s.type,alias:i?o:n?.alias??o,description:n?.description??s.description??"",valueType:n?.valueType??s.valueType??"",domain:t.getFieldDomain(s.name)??void 0};r.set(s.name,a)}return r}var QC=async t=>{let e=await Yo("field_descriptions_prompt"),r=t.fields.filter(o=>!(Go(t,o)&&o.description)).map(o=>{let{name:i,type:a,description:c}=o,u=Go(t,o);return[`Name: ${i}`,`Type: ${a}`,`Alias: ${u}`,`Description: ${c??"N/A"}`].join(", ")}).join(`
44
44
  `);if(r.length===0)return sl(t,{fields:[]});let s={existingItemTitle:t.portalItem?.title,existingItemDescription:t.portalItem?.description,existingLayerTitle:t.title,existingLayerDescription:t.portalItem?.description,fieldInformation:r},n=await ll({promptText:e,schema:xm,inputVariables:s});return sl(t,n)},Pm=ue.object({title:ue.string(),description:ue.string(),name:ue.string().nullable()}),eR=async(t,e)=>{let r=await Yo("layer_descriptions_prompt"),s=Array.from(e.values()),n={fieldInformation:JSON.stringify(s,null,2),existingLayerTitle:t.title,existingLayerDescription:t.portalItem?.description,existingLayerSnippet:t.portalItem?.snippet,layerGeometryType:t.geometryType};return{...await ll({promptText:r,schema:Pm,inputVariables:n}),name:t.title??null}};return{a:rm,b:ZC,c:nm,d:Ds,e:VC,f:JC,g:fm,h:js,i:hm,j:_m,k:gm,l:ym,m:GC,n:XC,o:ll,p:YC,q:QC,r:eR}},"portal/Portal","request","identity/IdentityManager","config")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{b as C,c as q}from"./V6HOUZPZ.js";import"./3UEKINYC.js";import"./RLEHNAIA.js";import d from"./G7OMHU2B.js";import"./CP5BVGJU.js";import b from"./7VUSIGEM.js";import{a as R,b as F,e as L}from"./R2PQVY4O.js";import a from"./D5UFYQHN.js";import{e as P}from"./G2EGT3CF.js";import{v as A,z as J}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./7VAQUCBU.js";import"./HHFNQR6Z.js";import"./VOKXKU7M.js";import{W as I,ka as T}from"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import{Dd as c}from"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([W,K,{property:n,subclass:l},b,E,,,,,,,D,M])=>{var Q=Object.defineProperty,U=Object.getOwnPropertyDescriptor,f=(t,e,r,s)=>{for(var o=s>1?void 0:s?U(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&Q(e,r,o),o},p=class extends E{constructor(t){super(t)}static fromJSON(t){return new p({id:t.id,sourceAnchorId:t.source_anchor_id,sourceNodeId:t.source_node_id,targetAnchorId:t.target_anchor_id,targetNodeId:t.target_node_id})}};f([n()],p.prototype,"id",2);f([n()],p.prototype,"sourceAnchorId",2);f([n()],p.prototype,"sourceNodeId",2);f([n()],p.prototype,"targetAnchorId",2);f([n()],p.prototype,"targetNodeId",2);p=f([l("Edge")],p);var X=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,O=(t,e,r,s)=>{for(var o=s>1?void 0:s?Y(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&X(e,r,o),o},m=class extends E{constructor(t){super(t)}async load(){return await Promise.resolve(this)}compile(t){return{runtimeNode:this.createRuntimeNode(),edges:t.outgoingEdges.map(e=>({from:this.id,to:e.targetNodeId}))}}static fromJSON(t){throw new Error("BaseNode is abstract and cannot be instantiated directly.")}};O([n()],m.prototype,"id",2);O([n()],m.prototype,"label",2);O([n()],m.prototype,"type",2);m=O([l("BaseNode")],m);function G(t){let e=new Set(t.required),r=Object.fromEntries(Object.entries(t.properties).map(([s,o])=>{let a=$(o);return[s,e.has(s)?a:a.optional()]}));return c.object(r)}function $(t){let e;switch(t.type){case"array":e=c.array(t.items?$(t.items):c.unknown());break;case"boolean":e=c.boolean();break;case"number":e=c.number();break;case"object":e=G({properties:t.properties??{},required:t.required});break;case"string":e=t.enum?.length?c.enum(t.enum):c.string();break}return t.description?e.describe(t.description):e}var tt=new Map([["clear_filters",async()=>(await import("./RBE55SWR.js")).clearFiltersTool],["reset_map",async()=>(await import("./T4RIGOXB.js")).resetMapTool],["set_feature_effect",async()=>(await import("./FJO4KNOZ.js").then(m=>m.default.then(e=>({setFeatureEffectTool:e})))).setFeatureEffectTool],["list_layer_fields",async()=>(await import("./CJMUJXPL.js")).listLayerFieldsTool],["go_to_address",async()=>(await import("./QUKNPVAF.js").then(m=>m.default.then(e=>({goToAddressTool:e})))).goToAddressTool],["go_to_bookmark",async()=>(await import("./2EY3BQQX.js")).goToBookmarkTool],["go_to_features",async()=>(await import("./5X7EG7D2.js")).goToFeaturesTool],["go_to_full_extent",async()=>(await import("./YLVJA4ZE.js").then(m=>m.default.then(e=>({goToFullExtentTool:e})))).goToFullExtentTool],["go_to_home_extent",async()=>(await import("./JO5ETMPS.js")).goToHomeExtentTool],["go_to_layer",async()=>(await import("./Q57QWN5W.js")).goToLayerTool],["go_to_scale",async()=>(await import("./4OGR5QKS.js")).goToScaleTool],["go_to_viewpoint",async()=>(await import("./ZOEMBHRF.js").then(m=>m.default.then(e=>({goToViewpointTool:e})))).goToViewpointTool],["go_to_zoom",async()=>(await import("./PUHRBGKB.js")).goToZoomTool],["find_relevant_fields",async()=>(await import("./7BCQMK6D.js").then(m=>m.default.then(e=>({findRelevantFieldsTool:e})))).findRelevantFieldsTool],["find_relevant_layers",async()=>(await import("./IBZ2NEAO.js")).findRelevantLayersTool],["get_attribute",async()=>(await import("./7V6OSTFC.js").then(m=>m.default.then(e=>({getAttributeTool:e})))).getAttributeTool],["get_statistics",async()=>(await import("./XX6GHMNR.js").then(m=>m.default.then(e=>({getStatisticsTool:e})))).getStatisticsTool],["get_top_features",async()=>(await import("./ZRVZMPFN.js").then(m=>m.default.then(e=>({getTopFeaturesTool:e})))).getTopFeaturesTool],["query_features",async()=>(await import("./G3SF6U2U.js").then(m=>m.default.then(e=>({queryFeaturesTool:e})))).queryFeaturesTool]]);async function et(t){let e=tt.get(t);if(!e)throw new Error(`ArcGIS tool is not supported in the browser runtime: ${t}`);return await e()}var ot=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,N=(t,e,r,s)=>{for(var o=s>1?void 0:s?rt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&ot(e,r,o),o},u=class extends E{constructor(t){super(t),this.type="arcgis-tool"}async createRuntimeTools(){if(!this.name)throw new Error("ArcgisTool name is required");return[await et(this.name)]}static fromJSON(t){return new u({name:t.name,requireApproval:t.require_approval})}};N([n()],u.prototype,"name",2);N([n()],u.prototype,"requireApproval",2);N([n()],u.prototype,"type",2);u=N([l("ArcgisTool")],u);var st=Object.defineProperty,at=Object.getOwnPropertyDescriptor,B=t=>{throw TypeError(t)},w=(t,e,r,s)=>{for(var o=s>1?void 0:s?at(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&st(e,r,o),o},it=(t,e,r)=>e.has(t)||B("Cannot "+r),nt=(t,e,r)=>e.has(t)?B("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ct=(t,e,r)=>(it(t,e,"access private method"),r),S,z,d=class extends m{constructor(t){super(t),nt(this,S),this.type="agent-node"}createRuntimeNode(){let t;return async(e,r)=>{t??=ct(this,S,z).call(this);let s=await(await t).run(e,r),o=this.outputSchema?.safeParse(s);if(o&&!o.success)throw o.error;let a=o?.data,i=a??s.outputMessage;return{agentExecutionContext:s.agentExecutionContext,...a?{}:{outputMessage:s.outputMessage},status:s.status,summary:s.summary,nodes:{[this.id]:{output:i}}}}}compile(t){let e=t.outgoingEdges[0]?.targetNodeId;return{runtimeNode:this.createRuntimeNode(),edges:[{from:this.id,decide:r=>r.status==="failed"?void 0:e}],schemas:[c.object({output:this.outputSchema??c.string()})]}}static fromJSON(t){let e=new d({id:t.id,label:t.label,prompt:t.prompt?.content,type:"agent-node",modelTier:t.llm_model?.model_tier});return t.structured_output&&(e.outputSchema=G(t.structured_output)),e.tools=t.tools?.filter(r=>r.type==="arcgis_tool").map(r=>u.fromJSON(r)),e}};S=new WeakSet;z=async function(){let t=this.prompt;if(!t?.trim())throw new Error(`WebAgent agent node "${this.id}" requires a prompt.`);let e=[];if(this.tools)for(let r of this.tools){let s=await r.createRuntimeTools();e.push(...s)}return new M({name:this.id,outputSchema:this.outputSchema,modelTier:this.modelTier,prompt:t,tools:e})};w([n()],d.prototype,"type",2);w([n()],d.prototype,"prompt",2);w([n()],d.prototype,"outputSchema",2);w([n()],d.prototype,"tools",2);w([n()],d.prototype,"modelTier",2);d=w([l("AgentNode")],d);var pt=Object.defineProperty,dt=Object.getOwnPropertyDescriptor,k=(t,e,r,s)=>{for(var o=s>1?void 0:s?dt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&pt(e,r,o),o},h=class extends m{constructor(t){super(t),this.type="end-message-node"}createRuntimeNode(){return async t=>{let e=await I.fromTemplate(this.message,{templateFormat:"mustache"}).format(t);return{outputMessage:e,status:"success",summary:e}}}compile(t){return{runtimeNode:this.createRuntimeNode(),edges:[]}}static fromJSON(t){let e=new h({id:t.id,label:t.label,type:"end-message-node"});return e.message=t.message,e}};k([n()],h.prototype,"type",2);k([n()],h.prototype,"message",2);h=k([l("EndMessageNode")],h);var mt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,H=(t,e,r,s)=>{for(var o=s>1?void 0:s?ut(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&mt(e,r,o),o},y=class extends m{constructor(t){super(t),this.type="start-node"}createRuntimeNode(){return t=>({question:t.agentExecutionContext.userRequest})}static fromJSON(t){return new y({id:t.id,label:t.label,type:"start-node"})}};H([n()],y.prototype,"type",2);y=H([l("StartNode")],y);function lt(t){switch(t.type){case"agent_node":return d.fromJSON(t);case"end_message_node":return h.fromJSON(t);case"start_node":return y.fromJSON(t);default:throw new Error(`WebAgent node "${t.id}" uses unsupported type "${t.type}".`)}}function ht(t={}){let e=Object.keys(t);if(R(e),e.includes("nodes"))throw new Error("node state cannot define reserved field: nodes.");let r=F(t);return T.Root({...r,nodes:T({reducer:(s,o)=>({...s,...o}),default:()=>({})}),...P()})}function V(t){let e=new Set;for(let s of t)for(let o of Object.keys(s.shape??{}))o!=="nodes"&&e.add(o);let r=Object.fromEntries([...e].map(s=>[s,void 0]));return ht(r)}var v=class t{constructor(e,r,s){this.sourceJSON=e,this.edges=r,this.nodes=s,this._loaded=!1}static fromJSON(e){return new t(e,e.graph.edges.map(r=>p.fromJSON(r)),e.graph.nodes.map(r=>lt(r)))}async load(){return this._loadPromise??=Promise.all(this.nodes.map(async e=>await e.load())).then(()=>{this._loaded=!0}),await this._loadPromise,this}getSchemas(){let e=Object.fromEntries(this._getNodeCompilations().flatMap((r,s)=>{let o=this.nodes[s];return r.schemas?.map(a=>[o.id,a])??[]}));return[c.object({loopCounts:c.record(c.string(),c.number()).optional(),nodes:c.object(e).partial().optional(),question:c.string().optional()})]}generate(){this._assertLoaded(),this._nodeCompilations=void 0;let e=this._getNodeCompilations(),r=V(this.getSchemas()),s=this.nodes.find(i=>i.type==="start-node")?.id,o={},a=[];for(let[i,Z]of this.nodes.entries()){let _=e[i];_&&(_.runtimeNode&&(o[Z.id]=_.runtimeNode),a.push(..._.edges))}return{createGraph:()=>L(o,a,r,{entryNode:s}),workspace:r}}_assertLoaded(){if(!this._loaded)throw new Error("AgenticWorkflowRuntime must be loaded before it can generate a graph.")}_getNodeCompilations(){return this._assertLoaded(),this._nodeCompilations??=this.nodes.map(e=>e.compile({outgoingEdges:this.edges.filter(r=>r.sourceNodeId===e.id)}))}},gt=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,x=(t,e,r,s)=>{for(var o=s>1?void 0:s?ft(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&gt(e,r,o),o},wt=()=>{throw new Error("WebAgent must be loaded before it can run.")},g=class extends D{constructor(t){super(t)}async load(){if(this.portalItem){try{await this.portalItem.load()}catch(r){throw new b("web-agent:load-portal-item","Failed to load portal item",{error:r})}let e=await this.portalItem.fetchData();if(this.sourceJSON=e,!this.portalItem.title)throw new b("web-agent:missing-title","The portal item is missing a title")}if(!this.sourceJSON)throw new b("web-agent:missing-source-json","The source JSON is missing");if(!this.sourceJSON.description)throw new b("web-agent:missing-description","The source JSON is missing a description");let t=v.fromJSON(this.sourceJSON);return await t.load(),this._runtime=t,this.description=this.sourceJSON.description,this.name=this.portalItem?.title??`web-agent-${Date.now()}`,this.generate(),this}getSchemas(){return this._runtime?.getSchemas()??[]}generate(){if(!this._runtime){this._set("workspace",V([])),this._set("createGraph",wt);return}let{createGraph:t,workspace:e}=this._runtime.generate();this._set("workspace",e),this._set("createGraph",t)}};x([n({type:W})],g.prototype,"portalItem",2);x([n()],g.prototype,"sourceJSON",2);g=x([l("WebAgent")],g);var j=class extends A{static{this.properties={agent:0,context:0,itemId:1,workflow:0}}#t;async getContext(){return C(this.context)?await this.context():this.context}async load(){let e;if(this.itemId){let r=K.getDefault();e=new g({portalItem:new W({id:this.itemId,portal:r})})}else this.workflow&&(e=new g({sourceJSON:this.workflow}));if(e&&(await e.load(),this.agent=e.registration),!this.agent)throw new Error("Failed to initialize the assistant agent because the agent registration is missing.");this.#t=q(this)}disconnectedCallback(){this.#t?.unregister(this.agent.id),super.disconnectedCallback()}};J("arcgis-assistant-agent",j);return j},"portal/PortalItem","portal/Portal","core/accessorSupport/decorators","core/Error","core/Accessor","identity/IdentityManager","request","config","core/reactiveUtils","layers/FeatureLayer",a,b,d)
2
+ import{b as C,c as q}from"./V6HOUZPZ.js";import"./3UEKINYC.js";import"./RLEHNAIA.js";import d from"./7UUYJTKT.js";import"./CP5BVGJU.js";import b from"./7VUSIGEM.js";import{a as R,b as F,e as L}from"./R2PQVY4O.js";import a from"./HKOGIZDQ.js";import{e as P}from"./G2EGT3CF.js";import{v as A,z as J}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./7VAQUCBU.js";import"./HHFNQR6Z.js";import"./VOKXKU7M.js";import{W as I,ka as T}from"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import{Dd as c}from"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([W,K,{property:n,subclass:l},b,E,,,,,,,D,M])=>{var Q=Object.defineProperty,U=Object.getOwnPropertyDescriptor,f=(t,e,r,s)=>{for(var o=s>1?void 0:s?U(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&Q(e,r,o),o},p=class extends E{constructor(t){super(t)}static fromJSON(t){return new p({id:t.id,sourceAnchorId:t.source_anchor_id,sourceNodeId:t.source_node_id,targetAnchorId:t.target_anchor_id,targetNodeId:t.target_node_id})}};f([n()],p.prototype,"id",2);f([n()],p.prototype,"sourceAnchorId",2);f([n()],p.prototype,"sourceNodeId",2);f([n()],p.prototype,"targetAnchorId",2);f([n()],p.prototype,"targetNodeId",2);p=f([l("Edge")],p);var X=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,O=(t,e,r,s)=>{for(var o=s>1?void 0:s?Y(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&X(e,r,o),o},m=class extends E{constructor(t){super(t)}async load(){return await Promise.resolve(this)}compile(t){return{runtimeNode:this.createRuntimeNode(),edges:t.outgoingEdges.map(e=>({from:this.id,to:e.targetNodeId}))}}static fromJSON(t){throw new Error("BaseNode is abstract and cannot be instantiated directly.")}};O([n()],m.prototype,"id",2);O([n()],m.prototype,"label",2);O([n()],m.prototype,"type",2);m=O([l("BaseNode")],m);function G(t){let e=new Set(t.required),r=Object.fromEntries(Object.entries(t.properties).map(([s,o])=>{let a=$(o);return[s,e.has(s)?a:a.optional()]}));return c.object(r)}function $(t){let e;switch(t.type){case"array":e=c.array(t.items?$(t.items):c.unknown());break;case"boolean":e=c.boolean();break;case"number":e=c.number();break;case"object":e=G({properties:t.properties??{},required:t.required});break;case"string":e=t.enum?.length?c.enum(t.enum):c.string();break}return t.description?e.describe(t.description):e}var tt=new Map([["clear_filters",async()=>(await import("./RBE55SWR.js")).clearFiltersTool],["reset_map",async()=>(await import("./T4RIGOXB.js")).resetMapTool],["set_feature_effect",async()=>(await import("./FJO4KNOZ.js").then(m=>m.default.then(e=>({setFeatureEffectTool:e})))).setFeatureEffectTool],["list_layer_fields",async()=>(await import("./CJMUJXPL.js")).listLayerFieldsTool],["go_to_address",async()=>(await import("./QUKNPVAF.js").then(m=>m.default.then(e=>({goToAddressTool:e})))).goToAddressTool],["go_to_bookmark",async()=>(await import("./2EY3BQQX.js")).goToBookmarkTool],["go_to_features",async()=>(await import("./5X7EG7D2.js")).goToFeaturesTool],["go_to_full_extent",async()=>(await import("./YLVJA4ZE.js").then(m=>m.default.then(e=>({goToFullExtentTool:e})))).goToFullExtentTool],["go_to_home_extent",async()=>(await import("./JO5ETMPS.js")).goToHomeExtentTool],["go_to_layer",async()=>(await import("./Q57QWN5W.js")).goToLayerTool],["go_to_scale",async()=>(await import("./4OGR5QKS.js")).goToScaleTool],["go_to_viewpoint",async()=>(await import("./ZOEMBHRF.js").then(m=>m.default.then(e=>({goToViewpointTool:e})))).goToViewpointTool],["go_to_zoom",async()=>(await import("./PUHRBGKB.js")).goToZoomTool],["find_relevant_fields",async()=>(await import("./7BCQMK6D.js").then(m=>m.default.then(e=>({findRelevantFieldsTool:e})))).findRelevantFieldsTool],["find_relevant_layers",async()=>(await import("./IBZ2NEAO.js")).findRelevantLayersTool],["get_attribute",async()=>(await import("./7V6OSTFC.js").then(m=>m.default.then(e=>({getAttributeTool:e})))).getAttributeTool],["get_statistics",async()=>(await import("./XX6GHMNR.js").then(m=>m.default.then(e=>({getStatisticsTool:e})))).getStatisticsTool],["get_top_features",async()=>(await import("./ZRVZMPFN.js").then(m=>m.default.then(e=>({getTopFeaturesTool:e})))).getTopFeaturesTool],["query_features",async()=>(await import("./G3SF6U2U.js").then(m=>m.default.then(e=>({queryFeaturesTool:e})))).queryFeaturesTool]]);async function et(t){let e=tt.get(t);if(!e)throw new Error(`ArcGIS tool is not supported in the browser runtime: ${t}`);return await e()}var ot=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,N=(t,e,r,s)=>{for(var o=s>1?void 0:s?rt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&ot(e,r,o),o},u=class extends E{constructor(t){super(t),this.type="arcgis-tool"}async createRuntimeTools(){if(!this.name)throw new Error("ArcgisTool name is required");return[await et(this.name)]}static fromJSON(t){return new u({name:t.name,requireApproval:t.require_approval})}};N([n()],u.prototype,"name",2);N([n()],u.prototype,"requireApproval",2);N([n()],u.prototype,"type",2);u=N([l("ArcgisTool")],u);var st=Object.defineProperty,at=Object.getOwnPropertyDescriptor,B=t=>{throw TypeError(t)},w=(t,e,r,s)=>{for(var o=s>1?void 0:s?at(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&st(e,r,o),o},it=(t,e,r)=>e.has(t)||B("Cannot "+r),nt=(t,e,r)=>e.has(t)?B("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ct=(t,e,r)=>(it(t,e,"access private method"),r),S,z,d=class extends m{constructor(t){super(t),nt(this,S),this.type="agent-node"}createRuntimeNode(){let t;return async(e,r)=>{t??=ct(this,S,z).call(this);let s=await(await t).run(e,r),o=this.outputSchema?.safeParse(s);if(o&&!o.success)throw o.error;let a=o?.data,i=a??s.outputMessage;return{agentExecutionContext:s.agentExecutionContext,...a?{}:{outputMessage:s.outputMessage},status:s.status,summary:s.summary,nodes:{[this.id]:{output:i}}}}}compile(t){let e=t.outgoingEdges[0]?.targetNodeId;return{runtimeNode:this.createRuntimeNode(),edges:[{from:this.id,decide:r=>r.status==="failed"?void 0:e}],schemas:[c.object({output:this.outputSchema??c.string()})]}}static fromJSON(t){let e=new d({id:t.id,label:t.label,prompt:t.prompt?.content,type:"agent-node",modelTier:t.llm_model?.model_tier});return t.structured_output&&(e.outputSchema=G(t.structured_output)),e.tools=t.tools?.filter(r=>r.type==="arcgis_tool").map(r=>u.fromJSON(r)),e}};S=new WeakSet;z=async function(){let t=this.prompt;if(!t?.trim())throw new Error(`WebAgent agent node "${this.id}" requires a prompt.`);let e=[];if(this.tools)for(let r of this.tools){let s=await r.createRuntimeTools();e.push(...s)}return new M({name:this.id,outputSchema:this.outputSchema,modelTier:this.modelTier,prompt:t,tools:e})};w([n()],d.prototype,"type",2);w([n()],d.prototype,"prompt",2);w([n()],d.prototype,"outputSchema",2);w([n()],d.prototype,"tools",2);w([n()],d.prototype,"modelTier",2);d=w([l("AgentNode")],d);var pt=Object.defineProperty,dt=Object.getOwnPropertyDescriptor,k=(t,e,r,s)=>{for(var o=s>1?void 0:s?dt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&pt(e,r,o),o},h=class extends m{constructor(t){super(t),this.type="end-message-node"}createRuntimeNode(){return async t=>{let e=await I.fromTemplate(this.message,{templateFormat:"mustache"}).format(t);return{outputMessage:e,status:"success",summary:e}}}compile(t){return{runtimeNode:this.createRuntimeNode(),edges:[]}}static fromJSON(t){let e=new h({id:t.id,label:t.label,type:"end-message-node"});return e.message=t.message,e}};k([n()],h.prototype,"type",2);k([n()],h.prototype,"message",2);h=k([l("EndMessageNode")],h);var mt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,H=(t,e,r,s)=>{for(var o=s>1?void 0:s?ut(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&mt(e,r,o),o},y=class extends m{constructor(t){super(t),this.type="start-node"}createRuntimeNode(){return t=>({question:t.agentExecutionContext.userRequest})}static fromJSON(t){return new y({id:t.id,label:t.label,type:"start-node"})}};H([n()],y.prototype,"type",2);y=H([l("StartNode")],y);function lt(t){switch(t.type){case"agent_node":return d.fromJSON(t);case"end_message_node":return h.fromJSON(t);case"start_node":return y.fromJSON(t);default:throw new Error(`WebAgent node "${t.id}" uses unsupported type "${t.type}".`)}}function ht(t={}){let e=Object.keys(t);if(R(e),e.includes("nodes"))throw new Error("node state cannot define reserved field: nodes.");let r=F(t);return T.Root({...r,nodes:T({reducer:(s,o)=>({...s,...o}),default:()=>({})}),...P()})}function V(t){let e=new Set;for(let s of t)for(let o of Object.keys(s.shape??{}))o!=="nodes"&&e.add(o);let r=Object.fromEntries([...e].map(s=>[s,void 0]));return ht(r)}var v=class t{constructor(e,r,s){this.sourceJSON=e,this.edges=r,this.nodes=s,this._loaded=!1}static fromJSON(e){return new t(e,e.graph.edges.map(r=>p.fromJSON(r)),e.graph.nodes.map(r=>lt(r)))}async load(){return this._loadPromise??=Promise.all(this.nodes.map(async e=>await e.load())).then(()=>{this._loaded=!0}),await this._loadPromise,this}getSchemas(){let e=Object.fromEntries(this._getNodeCompilations().flatMap((r,s)=>{let o=this.nodes[s];return r.schemas?.map(a=>[o.id,a])??[]}));return[c.object({loopCounts:c.record(c.string(),c.number()).optional(),nodes:c.object(e).partial().optional(),question:c.string().optional()})]}generate(){this._assertLoaded(),this._nodeCompilations=void 0;let e=this._getNodeCompilations(),r=V(this.getSchemas()),s=this.nodes.find(i=>i.type==="start-node")?.id,o={},a=[];for(let[i,Z]of this.nodes.entries()){let _=e[i];_&&(_.runtimeNode&&(o[Z.id]=_.runtimeNode),a.push(..._.edges))}return{createGraph:()=>L(o,a,r,{entryNode:s}),workspace:r}}_assertLoaded(){if(!this._loaded)throw new Error("AgenticWorkflowRuntime must be loaded before it can generate a graph.")}_getNodeCompilations(){return this._assertLoaded(),this._nodeCompilations??=this.nodes.map(e=>e.compile({outgoingEdges:this.edges.filter(r=>r.sourceNodeId===e.id)}))}},gt=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,x=(t,e,r,s)=>{for(var o=s>1?void 0:s?ft(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(o=(s?i(e,r,o):i(o))||o);return s&&o&&gt(e,r,o),o},wt=()=>{throw new Error("WebAgent must be loaded before it can run.")},g=class extends D{constructor(t){super(t)}async load(){if(this.portalItem){try{await this.portalItem.load()}catch(r){throw new b("web-agent:load-portal-item","Failed to load portal item",{error:r})}let e=await this.portalItem.fetchData();if(this.sourceJSON=e,!this.portalItem.title)throw new b("web-agent:missing-title","The portal item is missing a title")}if(!this.sourceJSON)throw new b("web-agent:missing-source-json","The source JSON is missing");if(!this.sourceJSON.description)throw new b("web-agent:missing-description","The source JSON is missing a description");let t=v.fromJSON(this.sourceJSON);return await t.load(),this._runtime=t,this.description=this.sourceJSON.description,this.name=this.portalItem?.title??`web-agent-${Date.now()}`,this.generate(),this}getSchemas(){return this._runtime?.getSchemas()??[]}generate(){if(!this._runtime){this._set("workspace",V([])),this._set("createGraph",wt);return}let{createGraph:t,workspace:e}=this._runtime.generate();this._set("workspace",e),this._set("createGraph",t)}};x([n({type:W})],g.prototype,"portalItem",2);x([n()],g.prototype,"sourceJSON",2);g=x([l("WebAgent")],g);var j=class extends A{static{this.properties={agent:0,context:0,itemId:1,workflow:0}}#t;async getContext(){return C(this.context)?await this.context():this.context}async load(){let e;if(this.itemId){let r=K.getDefault();e=new g({portalItem:new W({id:this.itemId,portal:r})})}else this.workflow&&(e=new g({sourceJSON:this.workflow}));if(e&&(await e.load(),this.agent=e.registration),!this.agent)throw new Error("Failed to initialize the assistant agent because the agent registration is missing.");this.#t=q(this)}disconnectedCallback(){this.#t?.unregister(this.agent.id),super.disconnectedCallback()}};J("arcgis-assistant-agent",j);return j},"portal/PortalItem","portal/Portal","core/accessorSupport/decorators","core/Error","core/Accessor","identity/IdentityManager","request","config","core/reactiveUtils","layers/FeatureLayer",a,b,d)
@@ -1,3 +1,3 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as e,b as n}from"./WJXXOKGA.js";import"./5FL5BTTX.js";import{g as r,h as i,v as s,z as c}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var l=r`.container{border-radius:var(--calcite-border-radius);margin-bottom:var(--calcite-spacing-md)}.block{margin:0;background-color:var(--calcite-color-foreground-1);width:100%;max-height:300px;overflow:auto}.entry{margin-left:var(--calcite-spacing-sm);padding:var(--calcite-spacing-xxs) var(--calcite-spacing-lg);border-left:1px solid var(--calcite-color-border-1)}`,o=class extends s{constructor(){super(...arguments),this.logEnabled=!1,this.showLog=!1}static{this.properties={logEnabled:5,showLog:5,log:0}}static{this.styles=l}render(){return this.log?.length&&this.showLog&&this.logEnabled?i`<div class="container"><div class="block"><calcite-accordion appearance=transparent icon-position=start icon-type=chevron scale=s>${this.log.map(a=>{let t=a.includes(`
2
+ import{a as e,b as n}from"./ROQGPAR5.js";import"./RFVZ7KCG.js";import{g as r,h as i,v as s,z as c}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var l=r`.container{border-radius:var(--calcite-border-radius);margin-bottom:var(--calcite-spacing-md)}.block{margin:0;background-color:var(--calcite-color-foreground-1);width:100%;max-height:300px;overflow:auto}.entry{margin-left:var(--calcite-spacing-sm);padding:var(--calcite-spacing-xxs) var(--calcite-spacing-lg);border-left:1px solid var(--calcite-color-border-1)}`,o=class extends s{constructor(){super(...arguments),this.logEnabled=!1,this.showLog=!1}static{this.properties={logEnabled:5,showLog:5,log:0}}static{this.styles=l}render(){return this.log?.length&&this.showLog&&this.logEnabled?i`<div class="container"><div class="block"><calcite-accordion appearance=transparent icon-position=start icon-type=chevron scale=s>${this.log.map(a=>{let t=a.includes(`
3
3
  `)||a.length>70;return i`<calcite-accordion-item .heading=${t?`${a.substring(0,70)}...`:a} .expanded=${t}><div class="entry">${t?e(n(a)):null}</div></calcite-accordion-item>`})}</calcite-accordion></div></div>`:null}};c("arcgis-assistant-message-log",o);export{o as ArcgisAssistantMessageLog};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as s,b as c}from"./WJXXOKGA.js";import"./5FL5BTTX.js";import{g as e,h as t,v as i,z as r}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var n=e`:host{display:block;min-width:0}.container{display:flex;align-items:center;gap:var(--calcite-spacing-md);background:color-mix(in srgb,var(--calcite-color-brand) 15%,var(--calcite-color-foreground-1));color:var(--calcite-color-text-1);padding:var(--calcite-spacing-md);border-radius:var(--calcite-border-radius);width:fit-content;max-width:100%;min-width:0;margin-left:auto;justify-content:flex-end}.container>div:first-child{min-width:0}.avatar{display:flex;align-items:center;justify-content:center}.content{min-width:0;overflow-wrap:anywhere;>*{margin:0}>*+*{margin-block-start:var(--calcite-spacing-sm)}:is(ol,ul){padding-inline-start:var(--calcite-spacing-lg)}>calcite-table{display:block;max-width:100%}pre{background-color:var(--calcite-color-foreground-1);padding:var(--calcite-spacing-sm);border-radius:var(--calcite-border-radius);color:var(--calcite-color-text-1);direction:ltr;max-width:100%;overflow:auto}pre code{display:block;white-space:pre;font-family:var(--calcite-code-family)}}@container (min-width: 480px){.container{max-width:80%}}`,a=class extends i{constructor(){super(...arguments),this.userAvatarEnabled=!1}static{this.properties={content:1,user:1,message:0,userAvatarEnabled:5}}static{this.styles=n}_getContent(){return this.message?.role==="user"?this.message.content:this.content}render(){return t`<div class="container"><div><slot name=content><div class="content">${s(c(this._getContent()))}</div></slot></div>${this.userAvatarEnabled?t`<slot name=icon><div class="avatar"><calcite-avatar .fullName=${this.user} scale=s></calcite-avatar></div></slot>`:null}</div>`}};r("arcgis-assistant-user-message",a);export{a as ArcgisAssistantUserMessage};
2
+ import{a as s,b as c}from"./ROQGPAR5.js";import"./RFVZ7KCG.js";import{g as e,h as t,v as i,z as r}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var n=e`:host{display:block;min-width:0}.container{display:flex;align-items:center;gap:var(--calcite-spacing-md);background:color-mix(in srgb,var(--calcite-color-brand) 15%,var(--calcite-color-foreground-1));color:var(--calcite-color-text-1);padding:var(--calcite-spacing-md);border-radius:var(--calcite-border-radius);width:fit-content;max-width:100%;min-width:0;margin-left:auto;justify-content:flex-end}.container>div:first-child{min-width:0}.avatar{display:flex;align-items:center;justify-content:center}.content{min-width:0;overflow-wrap:anywhere;>*{margin:0}>*+*{margin-block-start:var(--calcite-spacing-sm)}:is(ol,ul){padding-inline-start:var(--calcite-spacing-lg)}>calcite-table{display:block;max-width:100%}pre{background-color:var(--calcite-color-foreground-1);padding:var(--calcite-spacing-sm);border-radius:var(--calcite-border-radius);color:var(--calcite-color-text-1);direction:ltr;max-width:100%;overflow:auto}pre code{display:block;white-space:pre;font-family:var(--calcite-code-family)}}@container (min-width: 480px){.container{max-width:80%}}`,a=class extends i{constructor(){super(...arguments),this.userAvatarEnabled=!1}static{this.properties={content:1,user:1,message:0,userAvatarEnabled:5}}static{this.styles=n}_getContent(){return this.message?.role==="user"?this.message.content:this.content}render(){return t`<div class="container"><div><slot name=content><div class="content">${s(c(this._getContent()))}</div></slot></div>${this.userAvatarEnabled?t`<slot name=icon><div class="avatar"><calcite-avatar .fullName=${this.user} scale=s></calcite-avatar></div></slot>`:null}</div>`}};r("arcgis-assistant-user-message",a);export{a as ArcgisAssistantUserMessage};