@anvia/core 0.26.0 → 1.0.0-rc.2

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 (162) hide show
  1. package/README.md +303 -94
  2. package/dist/agent/index.d.ts +36 -70
  3. package/dist/agent/index.js +25 -18
  4. package/dist/agent-yBG8e9Jj.d.ts +153 -0
  5. package/dist/chunk-4WI3VGZK.js +127 -0
  6. package/dist/chunk-4WI3VGZK.js.map +1 -0
  7. package/dist/chunk-77AIYARB.js +654 -0
  8. package/dist/chunk-77AIYARB.js.map +1 -0
  9. package/dist/chunk-AI5JMUW7.js +45 -0
  10. package/dist/chunk-AI5JMUW7.js.map +1 -0
  11. package/dist/chunk-BEYBU7VJ.js +53 -0
  12. package/dist/chunk-BEYBU7VJ.js.map +1 -0
  13. package/dist/chunk-CWM7B2OO.js +315 -0
  14. package/dist/chunk-CWM7B2OO.js.map +1 -0
  15. package/dist/chunk-D37WMSP6.js +131 -0
  16. package/dist/chunk-D37WMSP6.js.map +1 -0
  17. package/dist/chunk-DBSCKTUL.js +3793 -0
  18. package/dist/chunk-DBSCKTUL.js.map +1 -0
  19. package/dist/chunk-EINTGEGY.js +629 -0
  20. package/dist/chunk-EINTGEGY.js.map +1 -0
  21. package/dist/chunk-FMHLROPQ.js +351 -0
  22. package/dist/chunk-FMHLROPQ.js.map +1 -0
  23. package/dist/chunk-FN7HLLAZ.js +211 -0
  24. package/dist/chunk-FN7HLLAZ.js.map +1 -0
  25. package/dist/chunk-GKDERULJ.js +50 -0
  26. package/dist/chunk-GKDERULJ.js.map +1 -0
  27. package/dist/{chunk-CWUJUSOS.js → chunk-KIDGIJM7.js} +26 -5
  28. package/dist/chunk-KIDGIJM7.js.map +1 -0
  29. package/dist/chunk-KR3RCCHJ.js +500 -0
  30. package/dist/chunk-KR3RCCHJ.js.map +1 -0
  31. package/dist/chunk-MGNTXGTX.js +37 -0
  32. package/dist/chunk-MGNTXGTX.js.map +1 -0
  33. package/dist/{chunk-MRQLEK2B.js → chunk-OJH6HWHX.js} +63 -51
  34. package/dist/chunk-OJH6HWHX.js.map +1 -0
  35. package/dist/chunk-QOUPWOGW.js +29 -0
  36. package/dist/chunk-QOUPWOGW.js.map +1 -0
  37. package/dist/chunk-TIZYTPJO.js +208 -0
  38. package/dist/chunk-TIZYTPJO.js.map +1 -0
  39. package/dist/{chunk-NCPN4SJR.js → chunk-XKYYBABH.js} +13 -13
  40. package/dist/chunk-XKYYBABH.js.map +1 -0
  41. package/dist/client-B8DT1vUG.d.ts +83 -0
  42. package/dist/completion/index.d.ts +6 -36
  43. package/dist/completion/index.js +25 -29
  44. package/dist/dynamic-tools-KwEGRbHp.d.ts +45 -0
  45. package/dist/embeddings/index.d.ts +11 -9
  46. package/dist/embeddings/index.js +2 -4
  47. package/dist/evals/index.d.ts +47 -20
  48. package/dist/evals/index.js +104 -65
  49. package/dist/evals/index.js.map +1 -1
  50. package/dist/extractor/index.d.ts +27 -42
  51. package/dist/extractor/index.js +7 -22
  52. package/dist/guardrails/index.d.ts +3 -2
  53. package/dist/guardrails/index.js +1 -1
  54. package/dist/image-generation/index.d.ts +23 -23
  55. package/dist/image-generation/index.js +5 -39
  56. package/dist/image-generation/index.js.map +1 -1
  57. package/dist/index.d.ts +25 -20
  58. package/dist/index.js +60 -63
  59. package/dist/internal/agent.d.ts +163 -9
  60. package/dist/internal/agent.js +25 -18
  61. package/dist/loaders/index.d.ts +6 -10
  62. package/dist/loaders/index.js.map +1 -1
  63. package/dist/mcp/index.d.ts +19 -13
  64. package/dist/mcp/index.js +13 -348
  65. package/dist/mcp/index.js.map +1 -1
  66. package/dist/memory/index.d.ts +20 -6
  67. package/dist/memory/index.js +9 -10
  68. package/dist/message-schema-Cn7ezRfJ.d.ts +52 -0
  69. package/dist/middleware-C7PdmKF7.d.ts +56 -0
  70. package/dist/model-call-options-CZkSw_xN.d.ts +6 -0
  71. package/dist/model-listing/index.d.ts +3 -1
  72. package/dist/observability/index.d.ts +20 -3
  73. package/dist/observability/index.js +8 -5
  74. package/dist/observability/index.js.map +1 -1
  75. package/dist/pipeline/index.d.ts +114 -72
  76. package/dist/pipeline/index.js +478 -286
  77. package/dist/pipeline/index.js.map +1 -1
  78. package/dist/retry-CjvSlKGW.d.ts +16 -0
  79. package/dist/skills/index.d.ts +5 -4
  80. package/dist/skills/index.js +7 -8
  81. package/dist/speech-generation/index.d.ts +37 -0
  82. package/dist/speech-generation/index.js +8 -0
  83. package/dist/streaming/index.js +37 -3
  84. package/dist/streaming/index.js.map +1 -1
  85. package/dist/{think-tool-DfCMuO8e.d.ts → think-tool-6H2QNQzQ.d.ts} +5 -5
  86. package/dist/tool/index.d.ts +10 -6
  87. package/dist/tool/index.js +15 -21
  88. package/dist/tool--Mz4v1eL.d.ts +57 -0
  89. package/dist/transcription/index.d.ts +29 -22
  90. package/dist/transcription/index.js +5 -57
  91. package/dist/transcription/index.js.map +1 -1
  92. package/dist/type-utils-CtHVDRn_.d.ts +6 -0
  93. package/dist/types-3x3mOLHU.d.ts +379 -0
  94. package/dist/types-BVzM4RsC.d.ts +155 -0
  95. package/dist/types-CQ_ioXWK.d.ts +319 -0
  96. package/dist/types-Cr4uiYo5.d.ts +99 -0
  97. package/dist/{types-04LqWrmy.d.ts → types-DiJqJejp.d.ts} +1 -1
  98. package/dist/types-Dld1TpWj.d.ts +130 -0
  99. package/dist/vector-store/index.d.ts +33 -34
  100. package/dist/vector-store/index.js +6 -6
  101. package/package.json +6 -18
  102. package/dist/agent-x3YTyv5i.d.ts +0 -222
  103. package/dist/audio-generation/index.d.ts +0 -33
  104. package/dist/audio-generation/index.js +0 -42
  105. package/dist/audio-generation/index.js.map +0 -1
  106. package/dist/chunk-2ODTMRHP.js +0 -54
  107. package/dist/chunk-2ODTMRHP.js.map +0 -1
  108. package/dist/chunk-ADH7NNCS.js +0 -512
  109. package/dist/chunk-ADH7NNCS.js.map +0 -1
  110. package/dist/chunk-BALBBVI3.js +0 -2732
  111. package/dist/chunk-BALBBVI3.js.map +0 -1
  112. package/dist/chunk-CWUJUSOS.js.map +0 -1
  113. package/dist/chunk-DALYP4PX.js +0 -225
  114. package/dist/chunk-DALYP4PX.js.map +0 -1
  115. package/dist/chunk-HYUYZEAJ.js +0 -223
  116. package/dist/chunk-HYUYZEAJ.js.map +0 -1
  117. package/dist/chunk-I6XOQ4LK.js +0 -466
  118. package/dist/chunk-I6XOQ4LK.js.map +0 -1
  119. package/dist/chunk-JI5YZWNT.js +0 -220
  120. package/dist/chunk-JI5YZWNT.js.map +0 -1
  121. package/dist/chunk-MC3CCKEB.js +0 -221
  122. package/dist/chunk-MC3CCKEB.js.map +0 -1
  123. package/dist/chunk-MELYDKWQ.js +0 -337
  124. package/dist/chunk-MELYDKWQ.js.map +0 -1
  125. package/dist/chunk-MNWK2USR.js +0 -243
  126. package/dist/chunk-MNWK2USR.js.map +0 -1
  127. package/dist/chunk-MRQLEK2B.js.map +0 -1
  128. package/dist/chunk-NCPN4SJR.js.map +0 -1
  129. package/dist/chunk-OIMLU4SF.js +0 -20
  130. package/dist/chunk-OIMLU4SF.js.map +0 -1
  131. package/dist/chunk-Q25IWLBT.js +0 -138
  132. package/dist/chunk-Q25IWLBT.js.map +0 -1
  133. package/dist/chunk-UQX6EXWG.js +0 -33
  134. package/dist/chunk-UQX6EXWG.js.map +0 -1
  135. package/dist/chunk-WQKHFADH.js +0 -12
  136. package/dist/chunk-WQKHFADH.js.map +0 -1
  137. package/dist/chunk-XUUY2L2D.js +0 -42
  138. package/dist/chunk-XUUY2L2D.js.map +0 -1
  139. package/dist/chunk-XWUC7CIT.js +0 -1
  140. package/dist/chunk-XWUC7CIT.js.map +0 -1
  141. package/dist/chunk-YLMDBQO4.js +0 -141
  142. package/dist/chunk-YLMDBQO4.js.map +0 -1
  143. package/dist/errors-2moLDuuN.d.ts +0 -17
  144. package/dist/hooks/index.d.ts +0 -12
  145. package/dist/hooks/index.js +0 -17
  146. package/dist/index-BxSbmOMr.d.ts +0 -257
  147. package/dist/json-BVPssigK.d.ts +0 -39
  148. package/dist/middleware-Dp3d_pxi.d.ts +0 -90
  149. package/dist/request/index.d.ts +0 -28
  150. package/dist/request/index.js +0 -25
  151. package/dist/request/index.js.map +0 -1
  152. package/dist/tool-Cohdv5GC.d.ts +0 -65
  153. package/dist/types-BCTRUGex.d.ts +0 -47
  154. package/dist/types-BrLbKnEz.d.ts +0 -119
  155. package/dist/types-D9JpeAPF.d.ts +0 -114
  156. package/dist/types-G12i56s2.d.ts +0 -354
  157. package/dist/types-JJCxRnaZ.d.ts +0 -70
  158. package/dist/types-O-abTIin.d.ts +0 -79
  159. package/dist/ui/index.d.ts +0 -107
  160. package/dist/ui/index.js +0 -10
  161. package/dist/ui/index.js.map +0 -1
  162. /package/dist/{hooks → speech-generation}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skills/instructions.ts","../src/skills/tools.ts","../src/skills/load.ts","../src/skills/local.ts","../src/skills/types.ts"],"sourcesContent":["import type { Skill } from \"./types\";\n\nexport function skillInstructions(skills: Skill[]): string {\n if (skills.length === 0) {\n return \"\";\n }\n\n return [\n \"You have access to Agent Skills.\",\n \"Skills are compact capability packages. Use the skill tools to load full instructions, references, or scripts only when a skill is relevant.\",\n \"\",\n \"Available skills:\",\n ...skills.map(formatSkill),\n \"\",\n \"Skill tools:\",\n \"- get_skill_instructions: load full SKILL.md guidance for a skill.\",\n \"- get_skill_reference: read a reference file from a skill.\",\n \"- get_skill_script: read a script file from a skill.\",\n \"- run_skill_script: execute a script from a skill with arguments.\",\n ].join(\"\\n\");\n}\n\nfunction formatSkill(skill: Skill): string {\n const lines = [`- ${skill.name}: ${skill.description}`];\n if (skill.references.length > 0) {\n lines.push(` references: ${skill.references.join(\", \")}`);\n }\n if (skill.scripts.length > 0) {\n lines.push(` scripts: ${skill.scripts.join(\", \")}`);\n }\n return lines.join(\"\\n\");\n}\n","import { spawn } from \"node:child_process\";\nimport { readFile } from \"node:fs/promises\";\nimport { isAbsolute, relative, resolve } from \"node:path\";\nimport { z } from \"zod\";\nimport { type AnyTool, createTool } from \"../tool\";\nimport { markSkillTool } from \"../tool/skill-tool-marker\";\nimport type { Skill } from \"./types\";\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst MAX_OUTPUT_CHARS = 20_000;\n\nexport function createSkillTools(skills: Skill[]): AnyTool[] {\n const registry = new SkillRegistry(skills);\n\n return [\n markSkillTool(\n createTool({\n name: \"get_skill_instructions\",\n description: \"Load the full SKILL.md instructions for an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill to load.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName }) => registry.get(skillName).instructions,\n }),\n ),\n markSkillTool(\n createTool({\n name: \"get_skill_reference\",\n description: \"Read a reference file from an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n referencePath: z.string().describe(\"A path listed in the skill references.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, referencePath }) => registry.readReference(skillName, referencePath),\n }),\n ),\n markSkillTool(\n createTool({\n name: \"get_skill_script\",\n description: \"Read a script file from an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n scriptPath: z.string().describe(\"A path listed in the skill scripts.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, scriptPath }) => registry.readScript(skillName, scriptPath),\n }),\n ),\n markSkillTool(\n createTool({\n name: \"run_skill_script\",\n description: \"Execute a script from an Agent Skill with optional arguments.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n scriptPath: z.string().describe(\"A path listed in the skill scripts.\"),\n args: z.array(z.string()).optional().describe(\"Arguments passed to the script.\"),\n timeoutMs: z.number().int().positive().optional().describe(\"Execution timeout in ms.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, scriptPath, args = [], timeoutMs = DEFAULT_TIMEOUT_MS }) =>\n registry.runScript(skillName, scriptPath, args, timeoutMs),\n }),\n ),\n ];\n}\n\nclass SkillRegistry {\n private readonly skills = new Map<string, Skill>();\n\n constructor(skills: Skill[]) {\n for (const skill of skills) {\n this.skills.set(skill.name, skill);\n }\n }\n\n get(skillName: string): Skill {\n const skill = this.skills.get(skillName);\n if (skill === undefined) {\n throw new Error(`Skill not found: ${skillName}`);\n }\n return skill;\n }\n\n async readReference(skillName: string, referencePath: string): Promise<string> {\n const skill = this.get(skillName);\n const path = this.resolveContainedPath(skill, \"references\", referencePath);\n if (!skill.references.includes(referencePath)) {\n throw new Error(`Skill reference not found: ${skillName}/${referencePath}`);\n }\n return readFile(path, \"utf8\");\n }\n\n async readScript(skillName: string, scriptPath: string): Promise<string> {\n const skill = this.get(skillName);\n const path = this.resolveContainedPath(skill, \"scripts\", scriptPath);\n if (!skill.scripts.includes(scriptPath)) {\n throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);\n }\n return readFile(path, \"utf8\");\n }\n\n async runScript(\n skillName: string,\n scriptPath: string,\n args: string[],\n timeoutMs: number,\n ): Promise<string> {\n const skill = this.get(skillName);\n const script = this.resolveContainedPath(skill, \"scripts\", scriptPath);\n if (!skill.scripts.includes(scriptPath)) {\n throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);\n }\n return runExecutable(script, args, skill.directory, timeoutMs);\n }\n\n private resolveContainedPath(\n skill: Skill,\n section: \"references\" | \"scripts\",\n requestedPath: string,\n ): string {\n if (requestedPath.length === 0 || isAbsolute(requestedPath)) {\n throw new Error(`Invalid skill path: ${requestedPath}`);\n }\n\n const root = resolve(skill.directory, section);\n const resolved = resolve(root, requestedPath);\n const rel = relative(root, resolved);\n if (rel === \"..\" || rel.startsWith(`..${\"/\"}`) || rel.startsWith(`..${\"\\\\\"}`)) {\n throw new Error(`Invalid skill path: ${requestedPath}`);\n }\n\n return resolved;\n }\n}\n\nfunction runExecutable(\n command: string,\n args: string[],\n cwd: string,\n timeoutMs: number,\n): Promise<string> {\n return new Promise((resolvePromise, reject) => {\n const child = spawn(command, args, {\n cwd,\n shell: false,\n stdio: [\"ignore\", \"pipe\", \"pipe\"],\n });\n\n let stdout = \"\";\n let stderr = \"\";\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n child.kill();\n }, timeoutMs);\n\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (chunk) => {\n stdout = appendLimited(stdout, chunk);\n });\n child.stderr.on(\"data\", (chunk) => {\n stderr = appendLimited(stderr, chunk);\n });\n child.on(\"error\", (error) => {\n clearTimeout(timeout);\n reject(error);\n });\n child.on(\"close\", (code, signal) => {\n clearTimeout(timeout);\n if (timedOut) {\n reject(new Error(`Skill script timed out after ${timeoutMs}ms`));\n return;\n }\n\n const output = formatProcessOutput(stdout, stderr);\n if (code !== 0) {\n reject(new Error(`Skill script exited with code ${code ?? \"unknown\"}: ${output}`));\n return;\n }\n if (signal !== null) {\n reject(new Error(`Skill script exited with signal ${signal}: ${output}`));\n return;\n }\n\n resolvePromise(output);\n });\n });\n}\n\nfunction formatProcessOutput(stdout: string, stderr: string): string {\n const parts: string[] = [];\n if (stdout.length > 0) {\n parts.push(`stdout:\\n${stdout}`);\n }\n if (stderr.length > 0) {\n parts.push(`stderr:\\n${stderr}`);\n }\n return parts.length === 0 ? \"\" : parts.join(\"\\n\\n\");\n}\n\nfunction appendLimited(current: string, chunk: string): string {\n const next = current + chunk;\n if (next.length <= MAX_OUTPUT_CHARS) {\n return next;\n }\n return `${next.slice(0, MAX_OUTPUT_CHARS)}\\n[truncated]`;\n}\n","import { skillInstructions } from \"./instructions\";\nimport { createSkillTools } from \"./tools\";\nimport type { Skill, SkillLoader, SkillSet } from \"./types\";\n\nexport async function loadSkills(loaders: SkillLoader | SkillLoader[]): Promise<SkillSet> {\n const ordered = Array.isArray(loaders) ? loaders : [loaders];\n const byName = new Map<string, Skill>();\n\n for (const loader of ordered) {\n for (const loaded of await loader.load()) {\n byName.delete(loaded.name);\n byName.set(loaded.name, loaded);\n }\n }\n\n const skills = [...byName.values()];\n return {\n skills,\n instructions: skillInstructions(skills),\n tools: skills.length === 0 ? [] : createSkillTools(skills),\n };\n}\n","import { readdir, readFile, stat } from \"node:fs/promises\";\nimport { basename, join, relative, resolve, sep } from \"node:path\";\nimport { parse as parseYaml } from \"yaml\";\nimport { isRecord } from \"../internal/record\";\nimport type { Skill, SkillLoader, SkillValidationIssue } from \"./types\";\nimport { SkillValidationError } from \"./types\";\n\ntype SkillFrontmatter = {\n name?: unknown;\n description?: unknown;\n license?: unknown;\n metadata?: unknown;\n};\n\nconst NAME_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\nconst MAX_NAME_LENGTH = 64;\nconst MAX_DESCRIPTION_LENGTH = 1024;\n\nexport const skill = {\n local(path: string): SkillLoader {\n return {\n load: () => loadLocalSkills(path),\n };\n },\n};\n\nasync function loadLocalSkills(path: string): Promise<Skill[]> {\n const root = resolve(path);\n if (await hasSkillFile(root)) {\n return [await readSkill(root)];\n }\n\n const entries = await readdir(root, { withFileTypes: true });\n const skills: Skill[] = [];\n for (const entry of entries) {\n if (!entry.isDirectory()) {\n continue;\n }\n const directory = join(root, entry.name);\n if (await hasSkillFile(directory)) {\n skills.push(await readSkill(directory));\n }\n }\n return skills;\n}\n\nasync function hasSkillFile(directory: string): Promise<boolean> {\n try {\n const info = await stat(join(directory, \"SKILL.md\"));\n return info.isFile();\n } catch {\n return false;\n }\n}\n\nasync function readSkill(directory: string): Promise<Skill> {\n const skillPath = join(directory, \"SKILL.md\");\n const markdown = await readFile(skillPath, \"utf8\");\n const parsed = parseSkillMarkdown(markdown, skillPath);\n validateSkillFrontmatter(parsed.frontmatter, directory, skillPath);\n\n const name = parsed.frontmatter.name as string;\n const description = parsed.frontmatter.description as string;\n const license =\n typeof parsed.frontmatter.license === \"string\" ? parsed.frontmatter.license : undefined;\n const metadata = isRecord(parsed.frontmatter.metadata) ? parsed.frontmatter.metadata : undefined;\n\n return {\n name,\n description,\n instructions: parsed.body.trim(),\n directory,\n references: await listRelativeFiles(join(directory, \"references\")),\n scripts: await listRelativeFiles(join(directory, \"scripts\")),\n license,\n metadata,\n };\n}\n\nfunction parseSkillMarkdown(\n markdown: string,\n path: string,\n): { frontmatter: SkillFrontmatter; body: string } {\n if (!markdown.startsWith(\"---\\n\") && !markdown.startsWith(\"---\\r\\n\")) {\n throw new SkillValidationError(\"Skill validation failed\", [\n { path, message: \"SKILL.md must start with YAML frontmatter\" },\n ]);\n }\n\n const newline = markdown.startsWith(\"---\\r\\n\") ? \"\\r\\n\" : \"\\n\";\n const marker = `${newline}---${newline}`;\n const end = markdown.indexOf(marker, 3);\n if (end === -1) {\n throw new SkillValidationError(\"Skill validation failed\", [\n { path, message: \"SKILL.md frontmatter must end with ---\" },\n ]);\n }\n\n const rawFrontmatter = markdown.slice(3 + newline.length, end);\n const body = markdown.slice(end + marker.length);\n const parsed = parseYaml(rawFrontmatter);\n if (!isRecord(parsed)) {\n throw new SkillValidationError(\"Skill validation failed\", [\n { path, message: \"SKILL.md frontmatter must be a YAML object\" },\n ]);\n }\n\n return { frontmatter: parsed, body };\n}\n\nfunction validateSkillFrontmatter(\n frontmatter: SkillFrontmatter,\n directory: string,\n path: string,\n): void {\n const issues: SkillValidationIssue[] = [];\n const name = frontmatter.name;\n const description = frontmatter.description;\n\n if (typeof name !== \"string\" || name.length === 0) {\n issues.push({ path, message: \"name is required\" });\n } else {\n if (name.length > MAX_NAME_LENGTH) {\n issues.push({ path, message: `name must be at most ${MAX_NAME_LENGTH} characters` });\n }\n if (!NAME_PATTERN.test(name)) {\n issues.push({\n path,\n message: \"name must contain lowercase letters, numbers, and hyphens only\",\n });\n }\n if (basename(directory) !== name) {\n issues.push({ path, message: \"name must match the skill directory name\" });\n }\n }\n\n if (typeof description !== \"string\" || description.length === 0) {\n issues.push({ path, message: \"description is required\" });\n } else if (description.length > MAX_DESCRIPTION_LENGTH) {\n issues.push({\n path,\n message: `description must be at most ${MAX_DESCRIPTION_LENGTH} characters`,\n });\n }\n\n if (issues.length > 0) {\n throw new SkillValidationError(\"Skill validation failed\", issues);\n }\n}\n\nasync function listRelativeFiles(directory: string): Promise<string[]> {\n try {\n const info = await stat(directory);\n if (!info.isDirectory()) {\n return [];\n }\n } catch {\n return [];\n }\n\n const files: string[] = [];\n await collectFiles(directory, directory, files);\n return files.sort();\n}\n\nasync function collectFiles(root: string, directory: string, files: string[]): Promise<void> {\n const entries = await readdir(directory, { withFileTypes: true });\n for (const entry of entries) {\n const path = join(directory, entry.name);\n if (entry.isDirectory()) {\n await collectFiles(root, path, files);\n } else if (entry.isFile()) {\n files.push(toPortablePath(relative(root, path)));\n }\n }\n}\n\nfunction toPortablePath(path: string): string {\n return sep === \"/\" ? path : path.split(sep).join(\"/\");\n}\n","import type { AnyTool } from \"../tool\";\n\nexport type Skill = {\n readonly name: string;\n readonly description: string;\n readonly instructions: string;\n readonly directory: string;\n readonly references: string[];\n readonly scripts: string[];\n readonly license?: string | undefined;\n readonly metadata?: Record<string, unknown> | undefined;\n};\n\nexport type SkillLoader = {\n load(): Promise<Skill[]>;\n};\n\nexport type SkillSet = {\n readonly skills: Skill[];\n readonly tools: AnyTool[];\n readonly instructions: string;\n};\n\nexport type SkillValidationIssue = {\n path: string;\n message: string;\n};\n\nexport class SkillValidationError extends Error {\n readonly issues: SkillValidationIssue[];\n\n constructor(message: string, issues: SkillValidationIssue[]) {\n super(message);\n this.name = \"SkillValidationError\";\n this.issues = issues;\n }\n}\n"],"mappings":"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","names":["skill","skill","readFile","relative","resolve","resolve","readFile","relative"]}
@@ -0,0 +1,83 @@
1
+ import { IOType } from 'node:child_process';
2
+ import { Stream } from 'node:stream';
3
+ import { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
4
+ import { StreamableHTTPReconnectionOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
5
+ import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
6
+ import { J as JsonObject } from './types-CQ_ioXWK.js';
7
+ import { A as AnyTool } from './tool--Mz4v1eL.js';
8
+
9
+ type McpStdioTransport = {
10
+ readonly type: "stdio";
11
+ readonly command: string;
12
+ readonly args?: string[] | undefined;
13
+ readonly env?: Record<string, string> | undefined;
14
+ readonly cwd?: string | undefined;
15
+ readonly stderr?: IOType | Stream | number | undefined;
16
+ readonly maxBufferSize?: number | undefined;
17
+ };
18
+ type McpStreamableHttpTransport = {
19
+ readonly type: "streamableHttp";
20
+ readonly url: string | URL;
21
+ readonly requestInit?: RequestInit | undefined;
22
+ readonly authProvider?: OAuthClientProvider | undefined;
23
+ readonly reconnectionOptions?: StreamableHTTPReconnectionOptions | undefined;
24
+ readonly sessionId?: string | undefined;
25
+ };
26
+ type McpTransport = Transport;
27
+ type McpCustomTransport = {
28
+ readonly type: "custom";
29
+ readonly create: (options: {
30
+ abortSignal?: AbortSignal | undefined;
31
+ }) => McpTransport | Promise<McpTransport>;
32
+ };
33
+ type McpClientTransport = McpStdioTransport | McpStreamableHttpTransport | McpCustomTransport;
34
+ type McpClientOptions = {
35
+ readonly name: string;
36
+ readonly transport: McpClientTransport;
37
+ readonly tools?: {
38
+ readonly prefix?: string | undefined;
39
+ };
40
+ };
41
+ type McpConnectOptions = {
42
+ readonly abortSignal?: AbortSignal | undefined;
43
+ };
44
+ type McpServerInfo = {
45
+ readonly name: string;
46
+ readonly version: string;
47
+ readonly title?: string | undefined;
48
+ readonly description?: string | undefined;
49
+ readonly websiteUrl?: string | undefined;
50
+ readonly icons?: readonly {
51
+ readonly src: string;
52
+ readonly mimeType?: string | undefined;
53
+ readonly sizes?: readonly string[] | undefined;
54
+ readonly theme?: "light" | "dark" | undefined;
55
+ }[];
56
+ };
57
+ type McpTool = AnyTool & {
58
+ readonly mcp: {
59
+ readonly serverName: string;
60
+ readonly remoteName: string;
61
+ };
62
+ };
63
+ type McpServer = {
64
+ readonly name: string;
65
+ readonly tools: readonly McpTool[];
66
+ readonly serverInfo?: McpServerInfo | undefined;
67
+ readonly capabilities?: JsonObject | undefined;
68
+ readonly instructions?: string | undefined;
69
+ };
70
+ type McpClientGroupConnectOptions = {
71
+ readonly clients: readonly McpClient[];
72
+ readonly abortSignal?: AbortSignal | undefined;
73
+ };
74
+
75
+ declare class McpClient {
76
+ #private;
77
+ readonly name: string;
78
+ constructor(options: McpClientOptions);
79
+ connect(options?: McpConnectOptions): Promise<McpServer>;
80
+ close(): Promise<void>;
81
+ }
82
+
83
+ export { McpClient as M, type McpServer as a, type McpClientGroupConnectOptions as b, type McpTool as c, type McpClientOptions as d, type McpClientTransport as e, type McpConnectOptions as f, type McpCustomTransport as g, type McpServerInfo as h, type McpStdioTransport as i, type McpStreamableHttpTransport as j, type McpTransport as k };
@@ -1,42 +1,12 @@
1
- export { C as CreateCompletionBaseOptions, a as CreateCompletionInput, b as CreateCompletionOptions, c as CreateCompletionResult, d as CreateCompletionStreamOptions, e as CreateParsedCompletionOptions, f as CreateParsedCompletionResult, g as createCompletion, h as createCompletionStream, i as createParsedCompletion, j as isJsonValue, k as isStreamingCompletionModel } from '../json-BVPssigK.js';
2
- import { D as Document, M as Message, C as CompletionModel, i as CompletionTool, L as ToolChoice, l as JsonValue, J as JsonObject, f as CompletionRequest, g as CompletionResponse } from '../types-G12i56s2.js';
3
- export { A as AssistantContent, a as AssistantGenerationMetadata, b as AssistantMessage, c as AssistantMessageOptions, N as CompletionCapabilityError, O as CompletionModelCapabilities, d as CompletionModelInfo, e as CompletionModelMetadataOptions, h as CompletionSource, Q as CompletionStreamEvent, j as ContextUsage, R as DocumentContent, I as ImageContent, V as ImageDetail, k as JsonPrimitive, m as MessageOptions, n as ModelContextLimits, P as ProviderTool, o as ProviderToolCall, W as Reasoning, X as ReasoningContent, Y as ReasoningContentType, Z as StreamingCompletionModel, S as SystemMessage, T as Text, p as ToolCall, _ as ToolCallArgumentsMode, q as ToolContent, r as ToolDefinition, $ as ToolFunction, s as ToolMessage, t as ToolResult, u as ToolResultContent, v as ToolResultMessageOptions, w as ToolResultOptions, U as Usage, a0 as UsageDetails, x as UserContent, y as UserMessage, a1 as assertCompletionRequestSupported, z as calculateContextUsage, B as getAssistantGenerationMetadata, E as isProviderTool, H as isToolResultContentArray, a2 as reasoningDisplayText, F as resolveCompletionModelInfo, K as serializeToolResultOutput, a3 as textFromAssistantContent, G as withContextUsage } from '../types-G12i56s2.js';
1
+ export { M as ModelCallOptions } from '../model-call-options-CZkSw_xN.js';
2
+ export { R as RetryContext, a as RetryOptions, b as RetrySetting } from '../retry-CjvSlKGW.js';
3
+ import { D as Document, M as Message } from '../types-CQ_ioXWK.js';
4
+ export { A as AssistantContentPart, a as AssistantGenerationMetadata, b as AssistantMessage, O as CompletionCapabilityError, C as CompletionModel, Q as CompletionModelCapabilities, c as CompletionModelInfo, d as CompletionModelStreamEvent, e as CompletionRequest, f as CompletionResponse, g as CompletionResult, h as CompletionSource, i as CompletionStreamEvent, V as CompletionStreamPart, j as CompletionTool, k as ContextUsage, F as FileData, l as FilePart, I as ImageDetail, m as ImagePart, J as JsonObject, n as JsonPrimitive, o as JsonValue, p as ModelContextLimits, P as ProviderTool, q as ProviderToolCall, R as ReasoningContentType, r as ReasoningDetail, s as ReasoningPart, W as StreamingCompletionModel, S as SystemMessage, T as TextPart, X as ToolCallArgumentsMode, t as ToolCallPart, u as ToolChoice, v as ToolDefinition, w as ToolMessage, x as ToolResultContentPart, y as ToolResultOutput, z as ToolResultPart, U as Usage, Y as UsageDetails, B as UserContentPart, E as UserMessage, Z as assertCompletionRequestSupported, G as calculateContextUsage, H as getAssistantGenerationMetadata, K as isProviderTool, _ as reasoningDisplayText, L as resolveModelContextLimits, $ as textFromAssistantContent, N as withContextUsage } from '../types-CQ_ioXWK.js';
5
+ export { C as CompletionBaseOptions, a as CompletionInput, G as GenerateCompletionOptions, b as GenerateStructuredCompletionOptions, M as MessageMetadataSchema, S as StreamCompletionOptions, c as StreamStructuredCompletionOptions, d as createMessageSchema, g as generateCompletion, i as isJsonValue, e as isMessage, j as isStreamingCompletionModel, m as messageSchema, f as messagesSchema, p as parseMessage, h as parseMessages, s as streamCompletion } from '../message-schema-Cn7ezRfJ.js';
4
6
  import '../zod-schema-C7F4clpm.js';
5
7
  import 'zod';
6
8
 
7
9
  declare function normalizeDocuments(documents: Document[]): Message | undefined;
8
10
  declare function formatDocument(document: Document): string;
9
11
 
10
- type ModelNameOf<M extends CompletionModel> = M extends CompletionModel<unknown, infer ModelName> ? ModelName : string;
11
- type RawResponseOf<M extends CompletionModel> = M extends CompletionModel<infer RawResponse, infer _ModelName> ? RawResponse : unknown;
12
- declare class CompletionRequestBuilder<M extends CompletionModel = CompletionModel> {
13
- private readonly model;
14
- private readonly promptMessage;
15
- private requestModel;
16
- private instructionBlocks;
17
- private history;
18
- private docs;
19
- private toolDefs;
20
- private providerToolDefs;
21
- private temp;
22
- private maxTokenCount;
23
- private choice;
24
- private params;
25
- private schema;
26
- constructor(model: M, promptMessage: Message);
27
- modelOverride(model: ModelNameOf<M> | undefined): this;
28
- instructions(instructions: string | undefined): this;
29
- messages(messages: Message[]): this;
30
- documents(documents: Document[]): this;
31
- tools(tools: CompletionTool[]): this;
32
- temperature(temperature: number | undefined): this;
33
- maxTokens(maxTokens: number | undefined): this;
34
- toolChoice(toolChoice: ToolChoice | undefined): this;
35
- additionalParams(additionalParams: JsonValue | undefined): this;
36
- outputSchema(outputSchema: JsonObject | undefined): this;
37
- build(): CompletionRequest<ModelNameOf<M>>;
38
- send(): Promise<CompletionResponse<RawResponseOf<M>>>;
39
- private buildInstructions;
40
- }
41
-
42
- export { CompletionModel, CompletionRequest, CompletionRequestBuilder, CompletionResponse, CompletionTool, Document, JsonObject, JsonValue, Message, ToolChoice, formatDocument, normalizeDocuments };
12
+ export { Document, Message, formatDocument, normalizeDocuments };
@@ -1,57 +1,53 @@
1
1
  import {
2
- CompletionRequestBuilder,
3
2
  formatDocument,
4
3
  normalizeDocuments
5
- } from "../chunk-Q25IWLBT.js";
4
+ } from "../chunk-MGNTXGTX.js";
6
5
  import {
7
- createCompletion,
8
- createCompletionStream,
9
- createParsedCompletion,
10
- isStreamingCompletionModel
11
- } from "../chunk-MC3CCKEB.js";
12
- import {
13
- AssistantContent,
14
6
  CompletionCapabilityError,
15
- Message,
16
- ToolContent,
17
7
  Usage,
18
- UserContent,
19
8
  assertCompletionRequestSupported,
20
9
  calculateContextUsage,
10
+ generateCompletion,
21
11
  getAssistantGenerationMetadata,
22
- isJsonValue,
23
12
  isProviderTool,
24
- isToolResultContentArray,
13
+ isStreamingCompletionModel,
25
14
  reasoningDisplayText,
26
- resolveCompletionModelInfo,
27
- serializeToolResultOutput,
15
+ resolveModelContextLimits,
16
+ streamCompletion,
28
17
  textFromAssistantContent,
29
18
  withContextUsage
30
- } from "../chunk-ADH7NNCS.js";
31
- import "../chunk-WQKHFADH.js";
19
+ } from "../chunk-KR3RCCHJ.js";
20
+ import {
21
+ createMessageSchema,
22
+ isJsonValue,
23
+ isMessage,
24
+ messageSchema,
25
+ messagesSchema,
26
+ parseMessage,
27
+ parseMessages
28
+ } from "../chunk-TIZYTPJO.js";
29
+ import "../chunk-FN7HLLAZ.js";
32
30
  export {
33
- AssistantContent,
34
31
  CompletionCapabilityError,
35
- CompletionRequestBuilder,
36
- Message,
37
- ToolContent,
38
32
  Usage,
39
- UserContent,
40
33
  assertCompletionRequestSupported,
41
34
  calculateContextUsage,
42
- createCompletion,
43
- createCompletionStream,
44
- createParsedCompletion,
35
+ createMessageSchema,
45
36
  formatDocument,
37
+ generateCompletion,
46
38
  getAssistantGenerationMetadata,
47
39
  isJsonValue,
40
+ isMessage,
48
41
  isProviderTool,
49
42
  isStreamingCompletionModel,
50
- isToolResultContentArray,
43
+ messageSchema,
44
+ messagesSchema,
51
45
  normalizeDocuments,
46
+ parseMessage,
47
+ parseMessages,
52
48
  reasoningDisplayText,
53
- resolveCompletionModelInfo,
54
- serializeToolResultOutput,
49
+ resolveModelContextLimits,
50
+ streamCompletion,
55
51
  textFromAssistantContent,
56
52
  withContextUsage
57
53
  };
@@ -0,0 +1,45 @@
1
+ import { b as RetrySetting } from './retry-CjvSlKGW.js';
2
+ import { v as ToolDefinition } from './types-CQ_ioXWK.js';
3
+ import { V as VectorMetadata, E as EmbeddingModel, a as EmbeddedDocument } from './types-Cr4uiYo5.js';
4
+ import { A as AnyTool } from './tool--Mz4v1eL.js';
5
+ import { V as VectorFilter, a as VectorSearchResult, b as VectorInspectRequest, c as VectorInspectPage } from './types-Dld1TpWj.js';
6
+
7
+ type ToolSearchDocument<Metadata extends VectorMetadata = VectorMetadata> = {
8
+ toolName: string;
9
+ definition: ToolDefinition;
10
+ text: string;
11
+ metadata?: Metadata | undefined;
12
+ };
13
+ type EmbedToolsOptions<Metadata extends VectorMetadata = VectorMetadata> = {
14
+ model: EmbeddingModel;
15
+ tools: readonly AnyTool[];
16
+ content?: ((tool: AnyTool, definition: ToolDefinition) => string | string[]) | undefined;
17
+ metadata?: ((tool: AnyTool, definition: ToolDefinition) => Metadata | undefined) | undefined;
18
+ concurrency?: number | undefined;
19
+ retries?: RetrySetting | undefined;
20
+ abortSignal?: AbortSignal | undefined;
21
+ };
22
+ type CreateToolIndexOptions<Metadata extends VectorMetadata = VectorMetadata> = EmbedToolsOptions<Metadata> & {
23
+ topK: number;
24
+ minScore?: number | undefined;
25
+ filter?: VectorFilter | undefined;
26
+ };
27
+ interface ToolIndex<Metadata extends VectorMetadata = VectorMetadata> {
28
+ readonly kind: "tool-index";
29
+ readonly tools: readonly AnyTool[];
30
+ readonly topK: number;
31
+ readonly minScore?: number | undefined;
32
+ readonly filter?: VectorFilter | undefined;
33
+ search(options: {
34
+ query: string;
35
+ abortSignal?: AbortSignal | undefined;
36
+ }): Promise<Array<VectorSearchResult<ToolSearchDocument<Metadata>, Metadata>>>;
37
+ inspect?(request: VectorInspectRequest): Promise<VectorInspectPage<ToolSearchDocument<Metadata>, Metadata>>;
38
+ }
39
+ declare function embedTools<Metadata extends VectorMetadata = VectorMetadata>(options: EmbedToolsOptions<Metadata>): Promise<{
40
+ documents: Array<EmbeddedDocument<ToolSearchDocument<Metadata>, Metadata>>;
41
+ }>;
42
+ declare function createToolIndex<Metadata extends VectorMetadata = VectorMetadata>(options: CreateToolIndexOptions<Metadata>): Promise<ToolIndex<Metadata>>;
43
+ declare function isToolIndex(value: unknown): value is ToolIndex;
44
+
45
+ export { type CreateToolIndexOptions as C, type EmbedToolsOptions as E, type ToolIndex as T, type ToolSearchDocument as a, createToolIndex as c, embedTools as e, isToolIndex as i };
@@ -1,5 +1,7 @@
1
- import { V as VectorMetadata, E as EmbeddingModel, b as EmbedDocumentsOptions, c as EmbeddedDocument, d as EmbedHybridDocumentsOptions, S as SparseEmbeddingModel, e as SparseEmbedding, f as Embedding } from '../types-BCTRUGex.js';
2
- export { g as SparseVector, a as VectorMetadataValue } from '../types-BCTRUGex.js';
1
+ export { M as ModelCallOptions } from '../model-call-options-CZkSw_xN.js';
2
+ export { R as RetryContext, a as RetryOptions, b as RetrySetting } from '../retry-CjvSlKGW.js';
3
+ import { V as VectorMetadata, d as EmbedDocumentsOptions, e as EmbedDocumentsResult, f as EmbedHybridDocumentsOptions, g as EmbedSparseQueryOptions, h as EmbedSparseQueryResult, i as EmbedSparseTextsOptions, j as EmbedSparseTextsResult, k as EmbedTextOptions, l as EmbedTextResult, m as EmbedTextsOptions, n as EmbedTextsResult } from '../types-Cr4uiYo5.js';
4
+ export { o as EmbedDocumentsBaseOptions, a as EmbeddedDocument, p as Embedding, E as EmbeddingModel, q as EmbeddingOperationOptions, r as SparseEmbedding, c as SparseEmbeddingModel, S as SparseVector, b as VectorMetadataValue } from '../types-Cr4uiYo5.js';
3
5
 
4
6
  declare function dotProduct(left: number[], right: number[]): number;
5
7
  declare function cosineSimilarity(left: number[], right: number[]): number;
@@ -8,11 +10,11 @@ declare function euclideanDistance(left: number[], right: number[]): number;
8
10
  declare function manhattanDistance(left: number[], right: number[]): number;
9
11
  declare function chebyshevDistance(left: number[], right: number[]): number;
10
12
 
11
- declare function embedText(model: EmbeddingModel, text: string): Promise<Embedding>;
12
- declare function embedTexts(model: EmbeddingModel, texts: string[]): Promise<Embedding[]>;
13
- declare function embedSparseTexts(model: SparseEmbeddingModel, texts: string[]): Promise<SparseEmbedding[]>;
14
- declare function embedSparseQuery(model: SparseEmbeddingModel, query: string): Promise<SparseEmbedding>;
15
- declare function embedDocuments<T, Metadata extends VectorMetadata = VectorMetadata>(model: EmbeddingModel, documents: T[], options: EmbedDocumentsOptions<T, Metadata>): Promise<Array<EmbeddedDocument<T, Metadata>>>;
16
- declare function embedHybridDocuments<T, Metadata extends VectorMetadata = VectorMetadata>(models: EmbedHybridDocumentsOptions, documents: T[], options: EmbedDocumentsOptions<T, Metadata>): Promise<Array<EmbeddedDocument<T, Metadata>>>;
13
+ declare function embedText(options: EmbedTextOptions): Promise<EmbedTextResult>;
14
+ declare function embedTexts(options: EmbedTextsOptions): Promise<EmbedTextsResult>;
15
+ declare function embedSparseTexts(options: EmbedSparseTextsOptions): Promise<EmbedSparseTextsResult>;
16
+ declare function embedSparseQuery(options: EmbedSparseQueryOptions): Promise<EmbedSparseQueryResult>;
17
+ declare function embedDocuments<T, Metadata extends VectorMetadata = VectorMetadata>(options: EmbedDocumentsOptions<T, Metadata>): Promise<EmbedDocumentsResult<T, Metadata>>;
18
+ declare function embedDocuments<T, Metadata extends VectorMetadata = VectorMetadata>(options: EmbedHybridDocumentsOptions<T, Metadata>): Promise<EmbedDocumentsResult<T, Metadata>>;
17
19
 
18
- export { EmbedDocumentsOptions, EmbedHybridDocumentsOptions, EmbeddedDocument, Embedding, EmbeddingModel, SparseEmbedding, SparseEmbeddingModel, VectorMetadata, angularDistance, chebyshevDistance, cosineSimilarity, dotProduct, embedDocuments, embedHybridDocuments, embedSparseQuery, embedSparseTexts, embedText, embedTexts, euclideanDistance, manhattanDistance };
20
+ export { EmbedDocumentsOptions, EmbedDocumentsResult, EmbedHybridDocumentsOptions, EmbedSparseQueryOptions, EmbedSparseQueryResult, EmbedSparseTextsOptions, EmbedSparseTextsResult, EmbedTextOptions, EmbedTextResult, EmbedTextsOptions, EmbedTextsResult, VectorMetadata, angularDistance, chebyshevDistance, cosineSimilarity, dotProduct, embedDocuments, embedSparseQuery, embedSparseTexts, embedText, embedTexts, euclideanDistance, manhattanDistance };
@@ -4,22 +4,20 @@ import {
4
4
  cosineSimilarity,
5
5
  dotProduct,
6
6
  embedDocuments,
7
- embedHybridDocuments,
8
7
  embedSparseQuery,
9
8
  embedSparseTexts,
10
9
  embedText,
11
10
  embedTexts,
12
11
  euclideanDistance,
13
12
  manhattanDistance
14
- } from "../chunk-MNWK2USR.js";
15
- import "../chunk-OIMLU4SF.js";
13
+ } from "../chunk-FMHLROPQ.js";
14
+ import "../chunk-FN7HLLAZ.js";
16
15
  export {
17
16
  angularDistance,
18
17
  chebyshevDistance,
19
18
  cosineSimilarity,
20
19
  dotProduct,
21
20
  embedDocuments,
22
- embedHybridDocuments,
23
21
  embedSparseQuery,
24
22
  embedSparseTexts,
25
23
  embedText,
@@ -1,15 +1,15 @@
1
+ import { U as Usage, J as JsonObject, C as CompletionModel, M as Message } from '../types-CQ_ioXWK.js';
1
2
  import { Z as ZodSchema } from '../zod-schema-C7F4clpm.js';
2
- import { U as Usage, l as JsonValue, C as CompletionModel, M as Message } from '../types-G12i56s2.js';
3
- import { A as Agent } from '../agent-x3YTyv5i.js';
4
- import { P as PromptResponse } from '../index-BxSbmOMr.js';
5
- import { E as EmbeddingModel } from '../types-BCTRUGex.js';
3
+ import { b as AgentApprovalRequiredResult, m as AgentResponse, o as AgentRunOptions, n as AgentResult } from '../types-3x3mOLHU.js';
4
+ import { E as EmbeddingModel } from '../types-Cr4uiYo5.js';
5
+ import '../model-call-options-CZkSw_xN.js';
6
6
  import 'zod';
7
+ import '../retry-CjvSlKGW.js';
7
8
  import '../guardrails/index.js';
8
- import '../types-D9JpeAPF.js';
9
- import '../types-BrLbKnEz.js';
10
- import '../tool-Cohdv5GC.js';
11
- import '../middleware-Dp3d_pxi.js';
12
- import '../types-O-abTIin.js';
9
+ import '../type-utils-CtHVDRn_.js';
10
+ import '../types-BVzM4RsC.js';
11
+ import '../tool--Mz4v1eL.js';
12
+ import '../middleware-C7PdmKF7.js';
13
13
 
14
14
  type EvalOutcome<Score = unknown> = {
15
15
  outcome: "pass";
@@ -50,7 +50,8 @@ declare const EvalOutcome: {
50
50
  }): EvalOutcome<Score>;
51
51
  };
52
52
 
53
- type EvalMetadata = Record<string, JsonValue | undefined>;
53
+ type EvalMetadata = JsonObject;
54
+ type EvalReporterErrorPolicy = "collect" | "throw";
54
55
  type EvalRunOptions = {
55
56
  id?: string | undefined;
56
57
  datasetName?: string | undefined;
@@ -78,6 +79,7 @@ type EvalTurn = {
78
79
  metadata?: EvalMetadata | undefined;
79
80
  };
80
81
  type EvalTraceRef = {
82
+ observer?: string | undefined;
81
83
  traceId: string;
82
84
  observationId?: string | undefined;
83
85
  responseId?: string | undefined;
@@ -248,7 +250,7 @@ type RunEvalSuiteOptions<Input, Output, Expected = unknown, Metrics extends read
248
250
  concurrency?: number | undefined;
249
251
  trace?: EvalTraceSelector<NoInfer<Input>, NoInfer<Output>, NoInfer<Expected>> | undefined;
250
252
  reporters?: readonly EvalReporter<NoInfer<Input>, NoInfer<Output>, NoInfer<Expected>>[] | undefined;
251
- failOnReporterError?: boolean | undefined;
253
+ reporterErrorPolicy?: EvalReporterErrorPolicy | undefined;
252
254
  targetUsage?: EvalTargetUsageSelector<NoInfer<Input>, NoInfer<Output>, NoInfer<Expected>> | undefined;
253
255
  cost?: EvalCostOptions<NoInfer<Input>, NoInfer<Output>, NoInfer<Expected>> | undefined;
254
256
  };
@@ -381,12 +383,33 @@ declare function knowledgeRetention<Input, Output, Expected = unknown, const Nam
381
383
  }): EvalMetric<Input, Output, number, Expected, Name>;
382
384
  type ConversationSource = EvalTurn[] | Message[];
383
385
 
384
- type AgentEvalTargetOptions<Input, Output = PromptResponse, Expected = unknown> = {
385
- prompt?: ((input: Input, testCase: EvalCase<Input, Expected>) => string | Message) | undefined;
386
- output?: ((response: PromptResponse, testCase: EvalCase<Input, Expected>) => Output) | undefined;
387
- };
388
- declare function agentEvalTarget<Input, Expected = unknown>(agent: Agent, options?: AgentEvalTargetOptions<Input, PromptResponse, Expected>): EvalTarget<Input, PromptResponse, Expected>;
389
- declare function agentEvalTarget<Input, Output, Expected = unknown>(agent: Agent, options: AgentEvalTargetOptions<Input, Output, Expected>): EvalTarget<Input, Output, Expected>;
386
+ type EvaluableAgent<Output> = {
387
+ generate(input: AgentRunOptions<Output>): Promise<AgentResult<Output>>;
388
+ };
389
+ type IsAny<Value> = 0 extends 1 & Value ? true : false;
390
+ type IsExactly<Left, Right> = IsAny<Left> extends true ? false : [Left] extends [Right] ? [Right] extends [Left] ? true : false : false;
391
+ type AgentEvalTargetOptions<Input, AgentOutput = string, Output = AgentResponse<AgentOutput>, Expected = unknown> = {
392
+ agent: EvaluableAgent<AgentOutput>;
393
+ request(args: {
394
+ input: Input;
395
+ testCase: EvalCase<Input, Expected>;
396
+ }): AgentRunOptions<AgentOutput> | Promise<AgentRunOptions<AgentOutput>>;
397
+ } & (IsExactly<Output, AgentResponse<AgentOutput>> extends true ? {
398
+ output?(args: {
399
+ response: AgentResponse<AgentOutput>;
400
+ testCase: EvalCase<Input, Expected>;
401
+ }): Output | Promise<Output>;
402
+ } : {
403
+ output(args: {
404
+ response: AgentResponse<AgentOutput>;
405
+ testCase: EvalCase<Input, Expected>;
406
+ }): Output | Promise<Output>;
407
+ });
408
+ declare class AgentEvalApprovalError extends Error {
409
+ readonly result: AgentApprovalRequiredResult;
410
+ constructor(result: AgentApprovalRequiredResult);
411
+ }
412
+ declare function agentEvalTarget<Input, AgentOutput = string, Output = AgentResponse<AgentOutput>, Expected = unknown>(options: AgentEvalTargetOptions<Input, AgentOutput, Output, Expected>): EvalTarget<Input, Output, Expected>;
390
413
 
391
414
  type EvalOutputFormat = "pretty" | "json" | "quiet";
392
415
  type EvalExpectedTotals = Partial<EvalTotals> & {
@@ -562,6 +585,10 @@ declare function resolveEvalTraceRef(args: {
562
585
  }): EvalTraceRef | undefined;
563
586
  declare function defaultEvalTraceSelector<Input, Output, Expected>(args: EvalTraceSelectorArgs<Input, Output, Expected>): EvalTraceRef | undefined;
564
587
 
588
+ declare class EvalReporterDispatchError extends AggregateError {
589
+ readonly phase: string;
590
+ constructor(phase: string, errors: readonly unknown[]);
591
+ }
565
592
  declare function runEvalSuite<Input, Output, Expected = unknown, const Metrics extends readonly EvalMetric<NoInfer<Input>, NoInfer<Output>, unknown, NoInfer<Expected>, string>[] = readonly EvalMetric<NoInfer<Input>, NoInfer<Output>, unknown, NoInfer<Expected>, string>[]>(options: RunEvalSuiteOptions<Input, Output, Expected, Metrics>): Promise<EvalSuiteResult<Input, Output, Expected, Metrics>>;
566
593
 
567
594
  declare function selectPromptOutput(args: EvalMetricArgs<unknown, unknown, unknown>): string;
@@ -599,7 +626,7 @@ type DefinedEvalSuite<Cases extends readonly EvalCaseLike[], Output, Metrics ext
599
626
  target: EvalTarget<EvalCasesInput<Cases>, Output, EvalCasesExpected<Cases>>;
600
627
  metrics: Metrics;
601
628
  };
602
- type EvalSuiteTypeBuilder<Input, Output, Expected = unknown> = {
629
+ type EvalMetricFactory<Input, Output, Expected = unknown> = {
603
630
  defineMetric<const Name extends string = string>(metric: EvalMetric<Input, Output, boolean, Expected, Name> & {
604
631
  dataType: "BOOLEAN";
605
632
  }): EvalMetric<Input, Output, boolean, Expected, Name>;
@@ -626,11 +653,11 @@ type EvalSuiteTypeBuilder<Input, Output, Expected = unknown> = {
626
653
  }): EvalMetric<Input, Output, Score, Expected, Name>;
627
654
  };
628
655
  declare function defineEvalCases<const Cases extends readonly EvalCaseLike[]>(cases: Cases): Cases;
629
- declare function defineEvalSuite<Input, Output, Expected = unknown>(): EvalSuiteTypeBuilder<Input, Output, Expected>;
656
+ declare function defineEvalSuite<Input, Output, Expected = unknown>(): EvalMetricFactory<Input, Output, Expected>;
630
657
  declare function defineEvalSuite<const Cases extends readonly EvalCaseLike[], const Target extends (input: EvalCasesInput<Cases>, testCase: EvalCase<EvalCasesInput<Cases>, EvalCasesExpected<Cases>>) => unknown, const Metrics extends readonly EvalMetric<EvalCasesInput<Cases>, Awaited<ReturnType<Target>>, unknown, EvalCasesExpected<Cases>, string>[]>(options: DefinedEvalSuite<Cases, Awaited<ReturnType<Target>>, Metrics> & {
631
658
  target: Target;
632
659
  }): DefinedEvalSuite<Cases, Awaited<ReturnType<Target>>, Metrics> & {
633
660
  target: Target;
634
661
  };
635
662
 
636
- export { type AbstentionCategory, type AbstentionOptions, type AgentEvalTargetOptions, type AnswerRelevancyOptions, type AnyEvalMetric, type ContainsAllOptions, type ContainsAnyOptions, type ContainsListOptions, type ContainsOptions, type DefaultEvalActual, type DefinedEvalSuite, type DoesNotMatchOptions, EvalAssertionError, type EvalCase, type EvalCaseRequirements, type EvalCaseResult, type EvalCasesExpected, type EvalCasesForMetrics, type EvalCasesInput, type EvalCostCalculatorArgs, type EvalCostOptions, type EvalCostSummary, type EvalDataType, type EvalExpectations, type EvalExpectedOutcomes, type EvalExpectedTotals, type EvalMetadata, type EvalMetric, type EvalMetricArgs, type EvalMetricDescriptor, type EvalMetricResult, type EvalMetricResultFor, type EvalMetricScore, EvalOutcome, type EvalOutcomeStatus, type EvalOutputFormat, type EvalOutputWriters, type EvalReportArgs, type EvalReporter, type EvalRunContext, type EvalRunEndArgs, type EvalRunOptions, type EvalRunStartArgs, type EvalScoreDirection, type EvalScoreMap, type EvalScoreProjection, type EvalSuiteResult, type EvalSuiteTypeBuilder, type EvalTarget, type EvalTargetUsageSelector, type EvalTotals, type EvalTraceCarrier, type EvalTraceRef, type EvalTraceSelector, type EvalTraceSelectorArgs, type EvalTurn, type EvalUsageSummary, type ExactMatchOptions, type FaithfulnessOptions, type GEvalOptions, type GEvalParameter, type GEvalRubric, type HallucinationOptions, type JsonCorrectnessOptions, type KnowledgeRetentionOptions, type LlmJudgeOptions, type LlmScoreMetricScore, type LlmScoreOptions, type MatchesOptions, type MaxLengthOptions, type NotContainsOptions, type PrintEvalResultOptions, type PromptAlignmentOptions, type RequiredFieldsOptions, type RunEvalCliOptions, type RunEvalSuiteOptions, type SelectorOrValue, type SemanticSimilarityOptions, type SummarizationOptions, type TurnRelevancyOptions, type ValueSelector, abstention, agentEvalTarget, answerRelevancy, assertEvalOutcomes, assertEvalTotals, contains, containsAll, containsAny, defaultEvalTraceSelector, defineEvalCases, defineEvalSuite, defineMetric, doesNotMatch, evalExitCode, exactMatch, faithfulness, gEval, hallucination, jsonCorrectness, knowledgeRetention, llmJudge, llmScore, matches, maxLength, notContains, printEvalResult, projectEvalOutcome, promptAlignment, requiredFields, resolveEvalTraceRef, runEvalCli, runEvalSuite, selectPromptOutput, semanticSimilarity, summarization, turnRelevancy };
663
+ export { type AbstentionCategory, type AbstentionOptions, AgentEvalApprovalError, type AgentEvalTargetOptions, type AnswerRelevancyOptions, type AnyEvalMetric, type ContainsAllOptions, type ContainsAnyOptions, type ContainsListOptions, type ContainsOptions, type DefaultEvalActual, type DefinedEvalSuite, type DoesNotMatchOptions, EvalAssertionError, type EvalCase, type EvalCaseRequirements, type EvalCaseResult, type EvalCasesExpected, type EvalCasesForMetrics, type EvalCasesInput, type EvalCostCalculatorArgs, type EvalCostOptions, type EvalCostSummary, type EvalDataType, type EvalExpectations, type EvalExpectedOutcomes, type EvalExpectedTotals, type EvalMetadata, type EvalMetric, type EvalMetricArgs, type EvalMetricDescriptor, type EvalMetricResult, type EvalMetricResultFor, type EvalMetricScore, EvalOutcome, type EvalOutcomeStatus, type EvalOutputFormat, type EvalOutputWriters, type EvalReportArgs, type EvalReporter, EvalReporterDispatchError, type EvalReporterErrorPolicy, type EvalRunContext, type EvalRunEndArgs, type EvalRunOptions, type EvalRunStartArgs, type EvalScoreDirection, type EvalScoreMap, type EvalScoreProjection, type EvalSuiteResult, type EvalTarget, type EvalTargetUsageSelector, type EvalTotals, type EvalTraceCarrier, type EvalTraceRef, type EvalTraceSelector, type EvalTraceSelectorArgs, type EvalTurn, type EvalUsageSummary, type ExactMatchOptions, type FaithfulnessOptions, type GEvalOptions, type GEvalParameter, type GEvalRubric, type HallucinationOptions, type JsonCorrectnessOptions, type KnowledgeRetentionOptions, type LlmJudgeOptions, type LlmScoreMetricScore, type LlmScoreOptions, type MatchesOptions, type MaxLengthOptions, type NotContainsOptions, type PrintEvalResultOptions, type PromptAlignmentOptions, type RequiredFieldsOptions, type RunEvalCliOptions, type RunEvalSuiteOptions, type SelectorOrValue, type SemanticSimilarityOptions, type SummarizationOptions, type TurnRelevancyOptions, type ValueSelector, abstention, agentEvalTarget, answerRelevancy, assertEvalOutcomes, assertEvalTotals, contains, containsAll, containsAny, defaultEvalTraceSelector, defineEvalCases, defineEvalSuite, defineMetric, doesNotMatch, evalExitCode, exactMatch, faithfulness, gEval, hallucination, jsonCorrectness, knowledgeRetention, llmJudge, llmScore, matches, maxLength, notContains, printEvalResult, projectEvalOutcome, promptAlignment, requiredFields, resolveEvalTraceRef, runEvalCli, runEvalSuite, selectPromptOutput, semanticSimilarity, summarization, turnRelevancy };