@anvia/core 0.12.0 → 0.12.1

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 (52) hide show
  1. package/dist/agent/index.d.ts +8 -8
  2. package/dist/agent/index.js +8 -8
  3. package/dist/{agent-BWF8_O8k.d.ts → agent-BBj3jvBi.d.ts} +4 -4
  4. package/dist/{chunk-KTTIPWE7.js → chunk-CO7YK4JZ.js} +23 -143
  5. package/dist/chunk-CO7YK4JZ.js.map +1 -0
  6. package/dist/{chunk-YRERPIA5.js → chunk-CWUJUSOS.js} +4 -164
  7. package/dist/chunk-CWUJUSOS.js.map +1 -0
  8. package/dist/{chunk-R7F2JF7J.js → chunk-GISFLLNL.js} +5 -5
  9. package/dist/chunk-GISFLLNL.js.map +1 -0
  10. package/dist/{chunk-ZGIE73BH.js → chunk-HF4KHHNM.js} +2 -2
  11. package/dist/{chunk-PGFYN5ZX.js → chunk-IZM6FNCT.js} +5 -7
  12. package/dist/chunk-IZM6FNCT.js.map +1 -0
  13. package/dist/{chunk-4AJJIIAQ.js → chunk-J4XZCE4A.js} +4 -4
  14. package/dist/{chunk-MIJUAWHU.js → chunk-L62HQ5Y4.js} +4 -4
  15. package/dist/{chunk-TIH4QM55.js → chunk-MX6ATKGT.js} +4 -4
  16. package/dist/evals/index.d.ts +5 -5
  17. package/dist/evals/index.js +10 -10
  18. package/dist/extractor/index.d.ts +5 -5
  19. package/dist/extractor/index.js +9 -9
  20. package/dist/guardrails/index.d.ts +6 -84
  21. package/dist/guardrails/index.js +3 -11
  22. package/dist/{index-DsWWqP0Q.d.ts → index-Oucb3Ljj.d.ts} +1 -1
  23. package/dist/index.d.ts +9 -9
  24. package/dist/index.js +9 -13
  25. package/dist/internal/agent.d.ts +5 -5
  26. package/dist/internal/agent.js +7 -7
  27. package/dist/mcp/index.d.ts +3 -4
  28. package/dist/{middleware-BTR0eRtx.d.ts → middleware-ByyL6Rj0.d.ts} +2 -2
  29. package/dist/observability/index.d.ts +2 -2
  30. package/dist/pipeline/index.d.ts +5 -5
  31. package/dist/request/index.d.ts +5 -5
  32. package/dist/request/index.js +6 -6
  33. package/dist/skills/index.d.ts +3 -4
  34. package/dist/skills/index.js +5 -5
  35. package/dist/{think-tool-Bn3HHu_z.d.ts → think-tool-B065hm73.d.ts} +1 -4
  36. package/dist/tool/index.d.ts +4 -5
  37. package/dist/tool/index.js +4 -4
  38. package/dist/{tool-DGELXD2z.d.ts → tool-B8K543oQ.d.ts} +0 -3
  39. package/dist/{types-Dc83Qzch.d.ts → types-7F_IKQQW.d.ts} +1 -1
  40. package/dist/{types-Bx_ZtjPi.d.ts → types-BzUuhjKr.d.ts} +1 -1
  41. package/dist/{types-9VPKg7ih.d.ts → types-Pl4PFQWL.d.ts} +1 -1
  42. package/dist/vector-store/index.d.ts +3 -4
  43. package/dist/vector-store/index.js +2 -2
  44. package/package.json +1 -1
  45. package/dist/chunk-KTTIPWE7.js.map +0 -1
  46. package/dist/chunk-PGFYN5ZX.js.map +0 -1
  47. package/dist/chunk-R7F2JF7J.js.map +0 -1
  48. package/dist/chunk-YRERPIA5.js.map +0 -1
  49. /package/dist/{chunk-ZGIE73BH.js.map → chunk-HF4KHHNM.js.map} +0 -0
  50. /package/dist/{chunk-4AJJIIAQ.js.map → chunk-J4XZCE4A.js.map} +0 -0
  51. /package/dist/{chunk-MIJUAWHU.js.map → chunk-L62HQ5Y4.js.map} +0 -0
  52. /package/dist/{chunk-TIH4QM55.js.map → chunk-MX6ATKGT.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tool/errors.ts","../src/tool/tool.ts","../src/tool/tool-set.ts","../src/tool/dynamic-tools.ts","../src/tool/middleware.ts","../src/tool/think-tool.ts"],"sourcesContent":["export class ToolCallError extends Error {\n constructor(\n message: string,\n readonly cause?: unknown,\n ) {\n super(message);\n this.name = \"ToolCallError\";\n }\n}\n\nexport class ToolNotFoundError extends Error {\n constructor(readonly toolName: string) {\n super(`Tool not found: ${toolName}`);\n this.name = \"ToolNotFoundError\";\n }\n}\n\nexport class ToolJsonError extends Error {\n constructor(\n message: string,\n readonly cause?: unknown,\n ) {\n super(message);\n this.name = \"ToolJsonError\";\n }\n}\n","import type { JsonObject, JsonValue, ToolDefinition, ToolResultContent } from \"../completion/types\";\nimport {\n isToolResultContentArray,\n serializeToolResultOutput as serializeToolOutput,\n} from \"../completion/types\";\n\nexport type ToolApprovalRunContext = {\n agentId: string;\n runId: string;\n sessionId?: string;\n metadata?: JsonObject;\n};\n\nexport type ToolApprovalContext<Args = unknown> = {\n toolName: string;\n args: Args;\n rawArgs: string;\n toolCallId?: string;\n internalCallId: string;\n run: ToolApprovalRunContext;\n};\n\nexport type ToolApprovalPolicy<Args = unknown> = {\n when(ctx: ToolApprovalContext<Args>): boolean | Promise<boolean>;\n reason?: string | ((ctx: ToolApprovalContext<Args>) => string | Promise<string>);\n rejectMessage?: string | ((ctx: ToolApprovalContext<Args>) => string | Promise<string>);\n};\n\nexport type ToolApprovalRequest<Args = unknown> = ToolApprovalContext<Args> & {\n reason?: string;\n rejectMessage?: string;\n};\n\nexport type ToolApprovalDecision =\n | boolean\n | { approved: true; reason?: string }\n | { approved: false; reason?: string; rejectMessage?: string };\n\nexport type ToolApprovalsOptions = {\n handler(request: ToolApprovalRequest): ToolApprovalDecision | Promise<ToolApprovalDecision>;\n};\n\nexport type ToolCallStreamEvent = {\n agentId: string;\n agentName?: string | undefined;\n event: unknown;\n};\n\nexport type ToolCallContext = {\n emitStreamEvent?(event: ToolCallStreamEvent): void | Promise<void>;\n};\n\nexport interface Tool<Args = unknown, Output = unknown> {\n readonly name: string;\n readonly approval?: ToolApprovalPolicy<Args>;\n definition(prompt: string): ToolDefinition | Promise<ToolDefinition>;\n call(args: Args, context?: ToolCallContext): Output | Promise<Output>;\n parseApprovalArgs?(args: unknown): Args;\n}\n\nexport type AnyTool = Omit<Tool<unknown, unknown>, \"approval\"> & {\n readonly approval?: unknown;\n};\n\nexport type NormalizedToolOutput = string | ToolResultContent[];\n\nexport const ToolOutput = {\n content(content: ToolResultContent[]): ToolResultContent[] {\n return content;\n },\n};\n\nexport { isToolResultContentArray, serializeToolOutput };\n\nexport function normalizeToolResultOutput(output: unknown): NormalizedToolOutput {\n return isToolResultContentArray(output) ? output : serializeToolOutput(output);\n}\n\nexport function toolResultContentToText(content: ToolResultContent[]): string {\n return content\n .map((item) => (item.type === \"text\" ? item.text : `[image:${item.mediaType ?? \"image/png\"}]`))\n .join(\"\\n\");\n}\n\nexport function parseToolArgs(args: string): JsonValue {\n if (args.trim() === \"\") {\n return {};\n }\n\n return JSON.parse(args) as JsonValue;\n}\n","import type { ToolDefinition } from \"../completion/types\";\nimport { ToolCallError, ToolJsonError, ToolNotFoundError } from \"./errors\";\nimport {\n type AnyTool,\n type NormalizedToolOutput,\n normalizeToolResultOutput,\n parseToolArgs,\n type ToolCallContext,\n} from \"./tool\";\n\nexport class ToolSet {\n private readonly tools = new Map<string, AnyTool>();\n\n static fromTools(tools: AnyTool[]): ToolSet {\n const toolSet = new ToolSet();\n for (const tool of tools) {\n toolSet.addTool(tool);\n }\n return toolSet;\n }\n\n addTool(tool: AnyTool): this {\n this.tools.set(tool.name, tool);\n return this;\n }\n\n addTools(tools: AnyTool[] | ToolSet): this {\n const values = Array.isArray(tools) ? tools : tools.values();\n for (const tool of values) {\n this.addTool(tool);\n }\n return this;\n }\n\n deleteTool(toolName: string): boolean {\n return this.tools.delete(toolName);\n }\n\n contains(toolName: string): boolean {\n return this.tools.has(toolName);\n }\n\n get(toolName: string): AnyTool | undefined {\n return this.tools.get(toolName);\n }\n\n values(): AnyTool[] {\n return [...this.tools.values()];\n }\n\n async getToolDefinitions(prompt = \"\"): Promise<ToolDefinition[]> {\n const defs: ToolDefinition[] = [];\n for (const tool of this.tools.values()) {\n defs.push(await tool.definition(prompt));\n }\n return defs;\n }\n\n async call(\n toolName: string,\n args: string,\n context?: ToolCallContext,\n ): Promise<NormalizedToolOutput> {\n const tool = this.tools.get(toolName);\n if (tool === undefined) {\n throw new ToolNotFoundError(toolName);\n }\n\n let parsedArgs: unknown;\n try {\n parsedArgs = parseToolArgs(args);\n } catch (error) {\n throw new ToolJsonError(`Invalid JSON arguments for tool ${toolName}`, error);\n }\n\n try {\n const output = await tool.call(parsedArgs, context);\n return normalizeToolResultOutput(output);\n } catch (error) {\n if (error instanceof Error) {\n throw new ToolCallError(error.message, error);\n }\n throw new ToolCallError(`Tool ${toolName} failed`, error);\n }\n }\n}\n","import type { ToolDefinition } from \"../completion\";\nimport type { EmbeddedDocument, EmbeddingModel, VectorMetadata } from \"../embeddings\";\nimport { embedDocuments } from \"../embeddings\";\nimport { compact } from \"../internal/compact\";\nimport type {\n VectorInspectPage,\n VectorInspectRequest,\n VectorSearchResult,\n VectorSearchToolOptions,\n} from \"../vector-store\";\nimport {\n InMemoryVectorStore,\n type VectorSearchIndex,\n type VectorSearchRequest,\n} from \"../vector-store\";\nimport type { AnyTool, Tool } from \"./tool\";\nimport { ToolSet } from \"./tool-set\";\n\nexport type ToolSearchDocument<Metadata extends VectorMetadata = VectorMetadata> = {\n toolName: string;\n definition: ToolDefinition;\n text: string;\n metadata?: Metadata | undefined;\n};\n\nexport type EmbedToolsOptions<Metadata extends VectorMetadata = VectorMetadata> = {\n content?: ((tool: AnyTool, definition: ToolDefinition) => string | string[]) | undefined;\n metadata?: ((tool: AnyTool, definition: ToolDefinition) => Metadata | undefined) | undefined;\n concurrency?: number | undefined;\n};\n\nexport interface DynamicToolIndex<Metadata extends VectorMetadata = VectorMetadata>\n extends VectorSearchIndex<ToolSearchDocument<Metadata>, Metadata> {\n readonly toolSet: ToolSet;\n}\n\nexport async function embedTools<Metadata extends VectorMetadata = VectorMetadata>(\n model: EmbeddingModel,\n tools: AnyTool[] | ToolSet,\n options: EmbedToolsOptions<Metadata> = {},\n): Promise<Array<EmbeddedDocument<ToolSearchDocument<Metadata>, Metadata>>> {\n const toolList = Array.isArray(tools) ? tools : tools.values();\n const definitions = await Promise.all(\n toolList.map(async (tool) => ({ tool, definition: await tool.definition(\"\") })),\n );\n const documents = definitions.map(({ tool, definition }) => {\n const content = options.content?.(tool, definition) ?? defaultToolEmbeddingText(definition);\n const texts = Array.isArray(content) ? content : [content];\n const metadata = options.metadata?.(tool, definition);\n const document: ToolSearchDocument<Metadata> = compact({\n toolName: tool.name,\n definition,\n text: texts.join(\"\\n\"),\n metadata,\n }) as ToolSearchDocument<Metadata>;\n return { tool, document, texts, metadata };\n });\n\n return embedDocuments(model, documents, {\n id: (item) => item.tool.name,\n content: (item) => item.texts,\n metadata: (item) => item.metadata,\n concurrency: options.concurrency,\n }).then((embedded) =>\n embedded.map((item) => ({\n ...item,\n document: item.document.document,\n })),\n );\n}\n\nexport async function createToolIndex<Metadata extends VectorMetadata = VectorMetadata>(\n model: EmbeddingModel,\n tools: AnyTool[] | ToolSet,\n options: EmbedToolsOptions<Metadata> = {},\n): Promise<DynamicToolIndex<Metadata>> {\n const toolSet = Array.isArray(tools) ? ToolSet.fromTools(tools) : tools;\n const embedded = await embedTools(model, toolSet, options);\n const index = InMemoryVectorStore.fromDocuments(embedded).index(model);\n return new DynamicToolSearchIndex(index, toolSet);\n}\n\nexport function isDynamicToolIndex(value: unknown): value is DynamicToolIndex {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"toolSet\" in value &&\n (value as { toolSet?: unknown }).toolSet instanceof ToolSet\n );\n}\n\nclass DynamicToolSearchIndex<Metadata extends VectorMetadata>\n implements DynamicToolIndex<Metadata>\n{\n readonly inspect?: (\n request: VectorInspectRequest,\n ) => Promise<VectorInspectPage<ToolSearchDocument<Metadata>, Metadata>>;\n\n constructor(\n private readonly index: VectorSearchIndex<ToolSearchDocument<Metadata>, Metadata>,\n readonly toolSet: ToolSet,\n ) {\n if (index.inspect !== undefined) {\n this.inspect = (request) =>\n index.inspect?.(request) as Promise<\n VectorInspectPage<ToolSearchDocument<Metadata>, Metadata>\n >;\n }\n }\n\n search(\n request: VectorSearchRequest,\n ): Promise<Array<VectorSearchResult<ToolSearchDocument<Metadata>, Metadata>>> {\n return this.index.search(request);\n }\n\n searchIds(request: VectorSearchRequest): Promise<Array<{ score: number; id: string }>> {\n return this.index.searchIds(request);\n }\n\n asTool(options: VectorSearchToolOptions): Tool<{ query: string; topK?: number }, unknown> {\n return this.index.asTool(options);\n }\n}\n\nfunction defaultToolEmbeddingText(definition: ToolDefinition): string[] {\n return [definition.name, definition.description, JSON.stringify(definition.parameters)];\n}\n","import type {\n CompletionRequest,\n CompletionResponse,\n JsonValue,\n ToolResultContent,\n} from \"../completion\";\n\ntype MaybePromise<T> = T | Promise<T>;\n\nexport type CompletionRequestMiddlewareArgs = {\n turn: number;\n request: CompletionRequest;\n originalRequest: CompletionRequest;\n};\n\nexport type CompletionRequestMiddlewareResult =\n | {\n request: CompletionRequest;\n }\n | undefined;\n\nexport type CompletionResponseMiddlewareArgs<RawResponse = unknown> = {\n turn: number;\n request: CompletionRequest;\n response: CompletionResponse<RawResponse>;\n originalResponse: CompletionResponse<RawResponse>;\n};\n\nexport type CompletionResponseMiddlewareResult<RawResponse = unknown> =\n | {\n response: CompletionResponse<RawResponse>;\n }\n | undefined;\n\nexport type ToolInputMiddlewareArgs = {\n toolName: string;\n args: string;\n originalArgs: string;\n turn: number;\n toolCallId?: string | undefined;\n internalCallId: string;\n};\n\nexport type ToolInputMiddlewareResult =\n | {\n args: JsonValue | string;\n }\n | undefined;\n\nexport type ToolResultMiddlewareArgs = {\n toolName: string;\n args: string;\n result: string;\n originalResult: string;\n structuredResult?: ToolResultContent[] | undefined;\n originalStructuredResult?: ToolResultContent[] | undefined;\n turn: number;\n toolCallId?: string | undefined;\n internalCallId: string;\n};\n\nexport type ToolOutputMiddlewareArgs = ToolResultMiddlewareArgs;\n\nexport type ToolOutputMiddlewareResult =\n | string\n | {\n result?: string | undefined;\n structuredResult?: ToolResultContent[] | undefined;\n }\n | undefined;\n\nexport interface AgentMiddleware<RawResponse = unknown> {\n onCompletionRequest?(\n args: CompletionRequestMiddlewareArgs,\n ): MaybePromise<CompletionRequestMiddlewareResult>;\n onCompletionResponse?(\n args: CompletionResponseMiddlewareArgs<RawResponse>,\n ): MaybePromise<CompletionResponseMiddlewareResult<RawResponse>>;\n onToolInput?(args: ToolInputMiddlewareArgs): MaybePromise<ToolInputMiddlewareResult>;\n onToolOutput?(args: ToolOutputMiddlewareArgs): MaybePromise<ToolOutputMiddlewareResult>;\n /**\n * @deprecated Use `onToolOutput` instead.\n */\n onResult?(args: ToolResultMiddlewareArgs): string | undefined | Promise<string | undefined>;\n}\n\n/**\n * @deprecated Use `AgentMiddleware` instead.\n */\nexport type ToolMiddleware<RawResponse = unknown> = AgentMiddleware<RawResponse>;\n\nexport function createMiddleware<RawResponse = unknown>(\n middleware: AgentMiddleware<RawResponse>,\n): AgentMiddleware<RawResponse> {\n return middleware;\n}\n\n/**\n * @deprecated Use `createMiddleware` instead.\n */\nexport function createToolMiddleware<RawResponse = unknown>(\n middleware: ToolMiddleware<RawResponse>,\n): ToolMiddleware<RawResponse> {\n return middleware;\n}\n","import { z } from \"zod\";\nimport { createTool } from \"./create-tool\";\n\nconst defaultThinkToolDescription =\n \"Use this tool to record a thought while reasoning through a complex task. It does not retrieve information, store memory, or change external state.\";\n\nconst thinkToolInput = z.object({\n thought: z.string().describe(\"A thought to record while reasoning through a task.\"),\n});\n\nexport type CreateThinkToolOptions = {\n name?: string;\n description?: string;\n};\n\nexport function createThinkTool(options: CreateThinkToolOptions = {}) {\n return createTool({\n name: options.name ?? \"think\",\n description: options.description ?? defaultThinkToolDescription,\n input: thinkToolInput,\n output: z.string(),\n execute: (args) => args.thought,\n });\n}\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-YK4WAAS4.js";
4
4
  import {
5
5
  createTool
6
- } from "./chunk-PGFYN5ZX.js";
6
+ } from "./chunk-IZM6FNCT.js";
7
7
  import {
8
8
  isRecord
9
9
  } from "./chunk-MMHG7WAM.js";
@@ -395,4 +395,4 @@ export {
395
395
  SkillValidationError,
396
396
  skill
397
397
  };
398
- //# sourceMappingURL=chunk-ZGIE73BH.js.map
398
+ //# sourceMappingURL=chunk-HF4KHHNM.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  compact
3
3
  } from "./chunk-MMHG7WAM.js";
4
- import {
5
- toProviderJsonSchema
6
- } from "./chunk-WQKHFADH.js";
7
4
  import {
8
5
  cosineSimilarity,
9
6
  embedText
10
7
  } from "./chunk-JS5MGVNM.js";
8
+ import {
9
+ toProviderJsonSchema
10
+ } from "./chunk-WQKHFADH.js";
11
11
 
12
12
  // src/vector-store/index.ts
13
13
  import { z } from "zod";
@@ -18,9 +18,7 @@ function createTool(options) {
18
18
  return {
19
19
  ...compact({
20
20
  name: options.name,
21
- approval: options.approval,
22
- inputGuardrails: options.inputGuardrails === void 0 ? void 0 : [...options.inputGuardrails],
23
- outputGuardrails: options.outputGuardrails === void 0 ? void 0 : [...options.outputGuardrails]
21
+ approval: options.approval
24
22
  }),
25
23
  definition() {
26
24
  return {
@@ -330,4 +328,4 @@ export {
330
328
  InMemoryVectorIndex,
331
329
  createVectorSearchTool
332
330
  };
333
- //# sourceMappingURL=chunk-PGFYN5ZX.js.map
331
+ //# sourceMappingURL=chunk-IZM6FNCT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/vector-store/index.ts","../src/tool/create-tool.ts","../src/vector-store/filter.ts","../src/vector-store/lsh.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {\n cosineSimilarity,\n type EmbeddedDocument,\n type Embedding,\n type EmbeddingModel,\n embedText,\n type VectorMetadata,\n} from \"../embeddings\";\nimport { createTool } from \"../tool/create-tool\";\nimport type { Tool } from \"../tool/tool\";\nimport { matchesVectorFilter } from \"./filter\";\nimport { LshIndex } from \"./lsh\";\nimport type {\n IndexStrategy,\n VectorInspectPage,\n VectorInspectRequest,\n VectorSearchIndex,\n VectorSearchRequest,\n VectorSearchResult,\n VectorSearchToolOptions,\n} from \"./types\";\n\nexport { vectorFilter } from \"./filter\";\nexport type * from \"./types\";\n\ntype StoredDocument<T, Metadata extends VectorMetadata> = EmbeddedDocument<T, Metadata>;\n\nexport class InMemoryVectorStore<T, Metadata extends VectorMetadata = VectorMetadata> {\n private readonly documents = new Map<string, StoredDocument<T, Metadata>>();\n private indexStrategy: IndexStrategy;\n private lshIndex: LshIndex | undefined;\n private embeddingDimension: number | undefined;\n\n constructor(options: { index?: IndexStrategy } = {}) {\n this.indexStrategy = options.index ?? { type: \"bruteForce\" };\n }\n\n static fromDocuments<T, Metadata extends VectorMetadata = VectorMetadata>(\n documents: Array<EmbeddedDocument<T, Metadata>>,\n options: { index?: IndexStrategy } = {},\n ): InMemoryVectorStore<T, Metadata> {\n const store = new InMemoryVectorStore<T, Metadata>(options);\n store.addDocuments(documents);\n return store;\n }\n\n addDocuments(documents: Array<EmbeddedDocument<T, Metadata>>): this {\n this.validateDocumentDimensions(documents);\n for (const document of documents) {\n this.documents.set(document.id, document);\n }\n this.rebuildLshIndex();\n return this;\n }\n\n get(id: string): StoredDocument<T, Metadata> | undefined {\n return this.documents.get(id);\n }\n\n values(): Array<StoredDocument<T, Metadata>> {\n return [...this.documents.values()];\n }\n\n len(): number {\n return this.documents.size;\n }\n\n isEmpty(): boolean {\n return this.documents.size === 0;\n }\n\n index(model: EmbeddingModel): InMemoryVectorIndex<T, Metadata> {\n return new InMemoryVectorIndex(model, this);\n }\n\n candidates(queryEmbedding: Embedding): Array<StoredDocument<T, Metadata>> {\n this.validateQueryDimension(queryEmbedding);\n if (this.indexStrategy.type !== \"lsh\" || this.lshIndex === undefined) {\n return this.values();\n }\n\n const candidateIds = this.lshIndex.query(queryEmbedding.vector);\n if (candidateIds.size === 0) {\n return this.values();\n }\n\n return [...candidateIds].flatMap((id) => {\n const document = this.documents.get(id);\n return document === undefined ? [] : [document];\n });\n }\n\n private rebuildLshIndex(): void {\n if (this.indexStrategy.type !== \"lsh\") {\n this.lshIndex = undefined;\n return;\n }\n\n const firstEmbedding = this.values().flatMap((document) => document.embeddings)[0];\n if (firstEmbedding === undefined) {\n this.lshIndex = undefined;\n return;\n }\n\n const index = new LshIndex(firstEmbedding.vector.length, this.indexStrategy);\n for (const document of this.documents.values()) {\n for (const embedding of document.embeddings) {\n index.insert(document.id, embedding.vector);\n }\n }\n this.lshIndex = index;\n }\n\n private validateDocumentDimensions(documents: Array<EmbeddedDocument<T, Metadata>>): void {\n let dimension = this.embeddingDimension;\n for (const document of documents) {\n for (const embedding of document.embeddings) {\n dimension = validateEmbeddingDimension(dimension, embedding, document.id);\n }\n }\n this.embeddingDimension = dimension;\n }\n\n private validateQueryDimension(queryEmbedding: Embedding): void {\n if (this.embeddingDimension === undefined) {\n return;\n }\n validateEmbeddingDimension(this.embeddingDimension, queryEmbedding, \"query\");\n }\n}\n\nexport class InMemoryVectorIndex<T, Metadata extends VectorMetadata = VectorMetadata>\n implements VectorSearchIndex<T, Metadata>\n{\n constructor(\n private readonly model: EmbeddingModel,\n private readonly store: InMemoryVectorStore<T, Metadata>,\n ) {}\n\n async search(request: VectorSearchRequest): Promise<Array<VectorSearchResult<T, Metadata>>> {\n const queryEmbedding = await embedText(this.model, request.query);\n return this.store\n .candidates(queryEmbedding)\n .filter((document) => matchesVectorFilter(document.metadata, request.filter))\n .flatMap((document) => {\n const score = bestScore(queryEmbedding, document.embeddings);\n if (score === undefined) {\n return [];\n }\n if (request.threshold !== undefined && score < request.threshold) {\n return [];\n }\n return [\n {\n score,\n id: document.id,\n document: document.document,\n ...(document.metadata !== undefined && { metadata: document.metadata }),\n },\n ];\n })\n .sort((left, right) => right.score - left.score)\n .slice(0, Math.max(0, Math.trunc(request.topK)));\n }\n\n async searchIds(request: VectorSearchRequest): Promise<Array<{ score: number; id: string }>> {\n return (await this.search(request)).map(({ score, id }) => ({ score, id }));\n }\n\n async inspect(request: VectorInspectRequest): Promise<VectorInspectPage<T, Metadata>> {\n const limit = Math.max(0, Math.trunc(request.limit));\n const start = Math.max(0, Math.trunc(Number(request.cursor ?? \"0\")));\n const documents = this.store\n .values()\n .filter((document) => matchesVectorFilter(document.metadata, request.filter));\n const page = documents.slice(start, start + limit);\n const nextOffset = start + page.length;\n return {\n items: page.map((document) => ({\n id: document.id,\n document: document.document,\n ...(document.metadata !== undefined && { metadata: document.metadata }),\n })),\n ...(nextOffset < documents.length ? { nextCursor: String(nextOffset) } : {}),\n totalCount: documents.length,\n };\n }\n\n asTool(options: VectorSearchToolOptions): Tool<{ query: string; topK?: number }, unknown> {\n return createVectorSearchTool(this, options);\n }\n}\n\nexport function createVectorSearchTool<T, Metadata extends VectorMetadata>(\n index: VectorSearchIndex<T, Metadata>,\n options: VectorSearchToolOptions,\n): Tool<{ query: string; topK?: number }, Array<VectorSearchResult<T, Metadata>>> {\n return createTool({\n name: options.name,\n description:\n options.description ?? \"Search a vector store for documents relevant to the provided query.\",\n input: z.object({\n query: z.string().describe(\"The query string to search for relevant documents.\"),\n topK: z.number().int().positive().optional().describe(\"The maximum number of results.\"),\n }),\n output: z.array(\n z.object({\n score: z.number(),\n id: z.string(),\n document: z.any(),\n metadata: z\n .record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))\n .optional(),\n }),\n ),\n execute: ({ query, topK }) =>\n index.search({\n query,\n topK: topK ?? options.topK ?? 5,\n threshold: options.threshold,\n filter: options.filter,\n }),\n }) as Tool<{ query: string; topK?: number }, Array<VectorSearchResult<T, Metadata>>>;\n}\n\nfunction bestScore(queryEmbedding: Embedding, embeddings: Embedding[]): number | undefined {\n let best: number | undefined;\n for (const embedding of embeddings) {\n const score = cosineSimilarity(queryEmbedding.vector, embedding.vector);\n best = best === undefined ? score : Math.max(best, score);\n }\n return best;\n}\n\nfunction validateEmbeddingDimension(\n expectedDimension: number | undefined,\n embedding: Embedding,\n id: string,\n): number {\n if (expectedDimension === undefined) {\n return embedding.vector.length;\n }\n if (embedding.vector.length !== expectedDimension) {\n throw new Error(\n `Vector dimension mismatch: expected ${expectedDimension} dimensions but received ${embedding.vector.length} for ${id}`,\n );\n }\n return expectedDimension;\n}\n","import type { z } from \"zod\";\nimport { compact } from \"../internal/compact\";\nimport { toProviderJsonSchema, type ZodSchema } from \"../schema/zod-schema\";\nimport type { Tool, ToolApprovalPolicy, ToolCallContext } from \"./tool\";\n\nexport type CreateToolOptions<\n InputSchema extends ZodSchema,\n OutputSchema extends ZodSchema | undefined = undefined,\n Output = unknown,\n> = {\n name: string;\n description: string;\n input: InputSchema;\n output?: OutputSchema;\n approval?: ToolApprovalPolicy<z.output<InputSchema>>;\n execute(\n args: z.output<InputSchema>,\n context: ToolCallContext,\n ): OutputSchema extends ZodSchema\n ? z.input<OutputSchema> | Promise<z.input<OutputSchema>>\n : Output | Promise<Output>;\n};\n\ntype CreateToolOutput<\n OutputSchema extends ZodSchema | undefined,\n Output,\n> = OutputSchema extends ZodSchema ? z.output<OutputSchema> : Output;\n\nexport function createTool<InputSchema extends ZodSchema, Output = unknown>(\n options: CreateToolOptions<InputSchema, undefined, Output> & { output?: undefined },\n): Tool<z.output<InputSchema>, Output>;\n\nexport function createTool<InputSchema extends ZodSchema, OutputSchema extends ZodSchema>(\n options: CreateToolOptions<InputSchema, OutputSchema>,\n): Tool<z.output<InputSchema>, z.output<OutputSchema>>;\n\nexport function createTool<\n InputSchema extends ZodSchema,\n OutputSchema extends ZodSchema | undefined = undefined,\n Output = unknown,\n>(\n options: CreateToolOptions<InputSchema, OutputSchema, Output>,\n): Tool<z.output<InputSchema>, CreateToolOutput<OutputSchema, Output>> {\n const parameters = toProviderJsonSchema(options.input);\n\n return {\n ...compact({\n name: options.name,\n approval: options.approval,\n }),\n definition() {\n return {\n name: options.name,\n description: options.description,\n parameters,\n };\n },\n async call(args, context = {}): Promise<CreateToolOutput<OutputSchema, Output>> {\n const parsedArgs = options.input.parse(args);\n const result = await options.execute(parsedArgs, context);\n return (\n options.output === undefined ? result : options.output.parse(result)\n ) as CreateToolOutput<OutputSchema, Output>;\n },\n parseApprovalArgs(args): z.output<InputSchema> {\n return options.input.parse(args);\n },\n };\n}\n","import type { VectorMetadata, VectorMetadataValue } from \"../embeddings\";\nimport type { VectorFilter } from \"./types\";\n\nexport type { VectorFilter } from \"./types\";\n\nexport const vectorFilter = {\n eq(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"eq\", key, value };\n },\n gt(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"gt\", key, value };\n },\n lt(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"lt\", key, value };\n },\n and(left: VectorFilter, right: VectorFilter): VectorFilter {\n return { type: \"and\", filters: [left, right] };\n },\n or(left: VectorFilter, right: VectorFilter): VectorFilter {\n return { type: \"or\", filters: [left, right] };\n },\n};\n\nexport function matchesVectorFilter(\n metadata: VectorMetadata | undefined,\n filter: VectorFilter | undefined,\n): boolean {\n if (filter === undefined) {\n return true;\n }\n if (metadata === undefined) {\n return false;\n }\n\n switch (filter.type) {\n case \"eq\":\n return metadata[filter.key] === filter.value;\n case \"gt\":\n return compare(metadata[filter.key], filter.value) > 0;\n case \"lt\":\n return compare(metadata[filter.key], filter.value) < 0;\n case \"and\":\n return (\n matchesVectorFilter(metadata, filter.filters[0]) &&\n matchesVectorFilter(metadata, filter.filters[1])\n );\n case \"or\":\n return (\n matchesVectorFilter(metadata, filter.filters[0]) ||\n matchesVectorFilter(metadata, filter.filters[1])\n );\n }\n}\n\nfunction compare(left: VectorMetadataValue | undefined, right: VectorMetadataValue): number {\n if (typeof left === \"number\" && typeof right === \"number\") {\n return left - right;\n }\n if (typeof left === \"string\" && typeof right === \"string\") {\n return left.localeCompare(right);\n }\n if (typeof left === \"boolean\" && typeof right === \"boolean\") {\n return Number(left) - Number(right);\n }\n return 0;\n}\n","import type { LshOptions } from \"./types\";\n\nexport type { LshOptions } from \"./types\";\n\nexport class LshIndex {\n private readonly hyperplanes: number[][];\n private readonly tables: Array<Map<string, Set<string>>>;\n\n constructor(\n dimensions: number,\n private readonly options: LshOptions,\n ) {\n const rng = seededRandom(options.seed ?? 42);\n this.hyperplanes = [];\n for (let index = 0; index < options.numTables * options.numHyperplanes; index += 1) {\n const plane = Array.from({ length: dimensions }, () => rng() * 2 - 1);\n const norm = Math.sqrt(plane.reduce((sum, value) => sum + value ** 2, 0));\n this.hyperplanes.push(norm === 0 ? plane : plane.map((value) => value / norm));\n }\n this.tables = Array.from({ length: options.numTables }, () => new Map());\n }\n\n insert(id: string, vector: number[]): void {\n for (let table = 0; table < this.options.numTables; table += 1) {\n const hash = this.hash(vector, table);\n const bucket = this.tables[table]?.get(hash) ?? new Set<string>();\n bucket.add(id);\n this.tables[table]?.set(hash, bucket);\n }\n }\n\n query(vector: number[]): Set<string> {\n const candidates = new Set<string>();\n for (let table = 0; table < this.options.numTables; table += 1) {\n const hash = this.hash(vector, table);\n for (const id of this.tables[table]?.get(hash) ?? []) {\n candidates.add(id);\n }\n }\n return candidates;\n }\n\n private hash(vector: number[], table: number): string {\n let hash = \"\";\n const start = table * this.options.numHyperplanes;\n for (let offset = 0; offset < this.options.numHyperplanes; offset += 1) {\n const plane = this.hyperplanes[start + offset] as number[];\n const dot = vector.reduce((sum, value, index) => sum + value * (plane[index] ?? 0), 0);\n hash += dot >= 0 ? \"1\" : \"0\";\n }\n return hash;\n }\n}\n\nfunction seededRandom(seed: number): () => number {\n let state = seed >>> 0;\n return () => {\n state = (state * 1664525 + 1013904223) >>> 0;\n return state / 0x100000000;\n };\n}\n"],"mappings":"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","names":[]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  PromptRequest
3
- } from "./chunk-KTTIPWE7.js";
3
+ } from "./chunk-CO7YK4JZ.js";
4
4
  import {
5
5
  isSkillTool
6
6
  } from "./chunk-YK4WAAS4.js";
7
7
  import {
8
8
  ToolSet
9
- } from "./chunk-R7F2JF7J.js";
9
+ } from "./chunk-GISFLLNL.js";
10
10
  import {
11
11
  createTool
12
- } from "./chunk-PGFYN5ZX.js";
12
+ } from "./chunk-IZM6FNCT.js";
13
13
  import {
14
14
  compact
15
15
  } from "./chunk-MMHG7WAM.js";
@@ -204,4 +204,4 @@ export {
204
204
  Agent,
205
205
  AgentSession
206
206
  };
207
- //# sourceMappingURL=chunk-4AJJIIAQ.js.map
207
+ //# sourceMappingURL=chunk-J4XZCE4A.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AgentBuilder
3
- } from "./chunk-TIH4QM55.js";
3
+ } from "./chunk-MX6ATKGT.js";
4
4
  import {
5
5
  extractRagText
6
- } from "./chunk-KTTIPWE7.js";
6
+ } from "./chunk-CO7YK4JZ.js";
7
7
  import {
8
8
  createTool
9
- } from "./chunk-PGFYN5ZX.js";
9
+ } from "./chunk-IZM6FNCT.js";
10
10
  import {
11
11
  CompletionRequestBuilder
12
12
  } from "./chunk-SRBW3LD7.js";
@@ -138,4 +138,4 @@ export {
138
138
  Extractor,
139
139
  ExtractorBuilder
140
140
  };
141
- //# sourceMappingURL=chunk-MIJUAWHU.js.map
141
+ //# sourceMappingURL=chunk-L62HQ5Y4.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Agent,
3
3
  normalizeAgentId
4
- } from "./chunk-4AJJIIAQ.js";
4
+ } from "./chunk-J4XZCE4A.js";
5
5
  import {
6
6
  ToolSet
7
- } from "./chunk-R7F2JF7J.js";
7
+ } from "./chunk-GISFLLNL.js";
8
8
  import {
9
9
  resolveMemoryOptions
10
10
  } from "./chunk-M6RPFHG7.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-WQKHFADH.js";
14
14
  import {
15
15
  appendGuardrailPolicies
16
- } from "./chunk-YRERPIA5.js";
16
+ } from "./chunk-CWUJUSOS.js";
17
17
 
18
18
  // src/agent/builder.ts
19
19
  var AgentBuilder = class {
@@ -212,4 +212,4 @@ var AgentBuilder = class {
212
212
  export {
213
213
  AgentBuilder
214
214
  };
215
- //# sourceMappingURL=chunk-TIH4QM55.js.map
215
+ //# sourceMappingURL=chunk-MX6ATKGT.js.map
@@ -1,14 +1,14 @@
1
- import { A as Agent } from '../agent-BWF8_O8k.js';
1
+ import { A as Agent } from '../agent-BBj3jvBi.js';
2
2
  import { e as JsonValue, M as Message, C as CompletionModel } from '../types-q9G7Bvwl.js';
3
- import { P as PromptResponse } from '../index-DsWWqP0Q.js';
3
+ import { P as PromptResponse } from '../index-Oucb3Ljj.js';
4
4
  import { Z as ZodSchema } from '../zod-schema-C7F4clpm.js';
5
5
  import { E as EmbeddingModel } from '../types-DHHZztGO.js';
6
6
  import '../guardrails/index.js';
7
7
  import '../types-CGML74sE.js';
8
8
  import '../types-CqG6d7Ce.js';
9
- import '../tool-DGELXD2z.js';
10
- import '../middleware-BTR0eRtx.js';
11
- import '../types-9VPKg7ih.js';
9
+ import '../tool-B8K543oQ.js';
10
+ import '../middleware-ByyL6Rj0.js';
11
+ import '../types-Pl4PFQWL.js';
12
12
  import 'zod';
13
13
 
14
14
  type EvalOutcome<Score = unknown> = {
@@ -1,21 +1,18 @@
1
1
  import {
2
2
  ExtractorBuilder
3
- } from "../chunk-MIJUAWHU.js";
4
- import "../chunk-TIH4QM55.js";
5
- import "../chunk-4AJJIIAQ.js";
6
- import "../chunk-KTTIPWE7.js";
3
+ } from "../chunk-L62HQ5Y4.js";
4
+ import "../chunk-MX6ATKGT.js";
5
+ import "../chunk-J4XZCE4A.js";
6
+ import "../chunk-CO7YK4JZ.js";
7
7
  import "../chunk-YK4WAAS4.js";
8
8
  import "../chunk-XUUY2L2D.js";
9
- import "../chunk-R7F2JF7J.js";
10
- import "../chunk-PGFYN5ZX.js";
9
+ import "../chunk-GISFLLNL.js";
10
+ import "../chunk-IZM6FNCT.js";
11
11
  import "../chunk-NPZDYOE6.js";
12
12
  import {
13
13
  compact
14
14
  } from "../chunk-MMHG7WAM.js";
15
15
  import "../chunk-M6RPFHG7.js";
16
- import "../chunk-SRBW3LD7.js";
17
- import "../chunk-5LFGEMIW.js";
18
- import "../chunk-WQKHFADH.js";
19
16
  import {
20
17
  cosineSimilarity,
21
18
  embedText
@@ -23,7 +20,10 @@ import {
23
20
  import {
24
21
  mapWithConcurrency
25
22
  } from "../chunk-OIMLU4SF.js";
26
- import "../chunk-YRERPIA5.js";
23
+ import "../chunk-SRBW3LD7.js";
24
+ import "../chunk-5LFGEMIW.js";
25
+ import "../chunk-WQKHFADH.js";
26
+ import "../chunk-CWUJUSOS.js";
27
27
 
28
28
  // src/evals/agent-target.ts
29
29
  function agentEvalTarget(agent, options = {}) {
@@ -1,14 +1,14 @@
1
- import { A as Agent } from '../agent-BWF8_O8k.js';
1
+ import { A as Agent } from '../agent-BBj3jvBi.js';
2
2
  import { Z as ZodSchema } from '../zod-schema-C7F4clpm.js';
3
3
  import { U as Usage, M as Message, C as CompletionModel, e as JsonValue, n as ToolChoice } from '../types-q9G7Bvwl.js';
4
4
  import '../guardrails/index.js';
5
5
  import '../types-CGML74sE.js';
6
6
  import '../types-CqG6d7Ce.js';
7
- import '../index-DsWWqP0Q.js';
8
- import '../tool-DGELXD2z.js';
9
- import '../middleware-BTR0eRtx.js';
7
+ import '../index-Oucb3Ljj.js';
8
+ import '../tool-B8K543oQ.js';
9
+ import '../middleware-ByyL6Rj0.js';
10
10
  import '../types-DHHZztGO.js';
11
- import '../types-9VPKg7ih.js';
11
+ import '../types-Pl4PFQWL.js';
12
12
  import 'zod';
13
13
 
14
14
  type ExtractionResponse<T> = {
@@ -2,23 +2,23 @@ import {
2
2
  ExtractionError,
3
3
  Extractor,
4
4
  ExtractorBuilder
5
- } from "../chunk-MIJUAWHU.js";
6
- import "../chunk-TIH4QM55.js";
7
- import "../chunk-4AJJIIAQ.js";
8
- import "../chunk-KTTIPWE7.js";
5
+ } from "../chunk-L62HQ5Y4.js";
6
+ import "../chunk-MX6ATKGT.js";
7
+ import "../chunk-J4XZCE4A.js";
8
+ import "../chunk-CO7YK4JZ.js";
9
9
  import "../chunk-YK4WAAS4.js";
10
10
  import "../chunk-XUUY2L2D.js";
11
- import "../chunk-R7F2JF7J.js";
12
- import "../chunk-PGFYN5ZX.js";
11
+ import "../chunk-GISFLLNL.js";
12
+ import "../chunk-IZM6FNCT.js";
13
13
  import "../chunk-NPZDYOE6.js";
14
14
  import "../chunk-MMHG7WAM.js";
15
15
  import "../chunk-M6RPFHG7.js";
16
+ import "../chunk-JS5MGVNM.js";
17
+ import "../chunk-OIMLU4SF.js";
16
18
  import "../chunk-SRBW3LD7.js";
17
19
  import "../chunk-5LFGEMIW.js";
18
20
  import "../chunk-WQKHFADH.js";
19
- import "../chunk-JS5MGVNM.js";
20
- import "../chunk-OIMLU4SF.js";
21
- import "../chunk-YRERPIA5.js";
21
+ import "../chunk-CWUJUSOS.js";
22
22
  export {
23
23
  ExtractionError,
24
24
  Extractor,
@@ -1,8 +1,8 @@
1
- import { J as JsonObject, e as JsonValue, k as ToolResultContent, M as Message, U as Usage } from '../types-q9G7Bvwl.js';
1
+ import { M as Message, J as JsonObject, U as Usage } from '../types-q9G7Bvwl.js';
2
2
 
3
3
  type MaybePromise<T> = T | Promise<T>;
4
4
  type GuardrailMode = "enforce" | "observe";
5
- type GuardrailBoundary = "input" | "tool" | "tool_result" | "output";
5
+ type GuardrailBoundary = "input" | "output";
6
6
  type GuardrailRunContext = {
7
7
  agentId: string;
8
8
  runId: string;
@@ -21,7 +21,7 @@ type GuardrailDecisionRecord = {
21
21
  metadata?: JsonObject | undefined;
22
22
  latencyMs: number;
23
23
  };
24
- type GuardrailActionName = "allow" | "block" | "rewrite" | "request_approval" | "error";
24
+ type GuardrailActionName = "allow" | "block" | "rewrite" | "error";
25
25
  type GuardrailActionBase = {
26
26
  reason?: string | undefined;
27
27
  metadata?: JsonObject | undefined;
@@ -39,27 +39,11 @@ type InputGuardrailRewrite = GuardrailActionBase & {
39
39
  prompt?: Message | undefined;
40
40
  inputText?: string | undefined;
41
41
  };
42
- type ToolGuardrailRewrite = GuardrailActionBase & {
43
- action: "rewrite";
44
- args: JsonValue | string;
45
- };
46
- type ToolResultGuardrailRewrite = GuardrailActionBase & {
47
- action: "rewrite";
48
- result?: string | undefined;
49
- structuredResult?: ToolResultContent[] | undefined;
50
- };
51
42
  type OutputGuardrailRewrite = GuardrailActionBase & {
52
43
  action: "rewrite";
53
44
  outputText: string;
54
45
  };
55
- type ToolGuardrailApprovalRequest = GuardrailActionBase & {
56
- action: "request_approval";
57
- reason?: string | undefined;
58
- rejectMessage?: string | undefined;
59
- };
60
46
  type InputGuardrailResult = GuardrailAllow | GuardrailBlock | InputGuardrailRewrite;
61
- type ToolGuardrailResult = GuardrailAllow | GuardrailBlock | ToolGuardrailRewrite | ToolGuardrailApprovalRequest;
62
- type ToolResultGuardrailResult = GuardrailAllow | GuardrailBlock | ToolResultGuardrailRewrite;
63
47
  type OutputGuardrailResult = GuardrailAllow | GuardrailBlock | OutputGuardrailRewrite;
64
48
  type GuardrailCommonActions = {
65
49
  allow(options?: GuardrailActionBase): GuardrailAllow;
@@ -68,13 +52,6 @@ type GuardrailCommonActions = {
68
52
  type InputGuardrailActions = GuardrailCommonActions & {
69
53
  rewrite(options: Omit<InputGuardrailRewrite, "action">): InputGuardrailRewrite;
70
54
  };
71
- type ToolGuardrailActions = GuardrailCommonActions & {
72
- rewrite(options: Omit<ToolGuardrailRewrite, "action">): ToolGuardrailRewrite;
73
- requestApproval(options?: Omit<ToolGuardrailApprovalRequest, "action">): ToolGuardrailApprovalRequest;
74
- };
75
- type ToolResultGuardrailActions = GuardrailCommonActions & {
76
- rewrite(options: Omit<ToolResultGuardrailRewrite, "action">): ToolResultGuardrailRewrite;
77
- };
78
55
  type OutputGuardrailActions = GuardrailCommonActions & {
79
56
  rewrite(options: Omit<OutputGuardrailRewrite, "action">): OutputGuardrailRewrite;
80
57
  };
@@ -84,26 +61,6 @@ type InputGuardrailContext = {
84
61
  inputText: string;
85
62
  run: GuardrailRunContext;
86
63
  };
87
- type ToolGuardrailContext<Args = unknown> = {
88
- toolName: string;
89
- args: Args;
90
- rawArgs: string;
91
- toolCallId?: string | undefined;
92
- internalCallId: string;
93
- turn: number;
94
- run: GuardrailRunContext;
95
- };
96
- type ToolResultGuardrailContext<Args = unknown> = {
97
- toolName: string;
98
- args: Args;
99
- rawArgs: string;
100
- result: string;
101
- structuredResult?: ToolResultContent[] | undefined;
102
- toolCallId?: string | undefined;
103
- internalCallId: string;
104
- turn: number;
105
- run: GuardrailRunContext;
106
- };
107
64
  type OutputGuardrailContext = {
108
65
  outputText: string;
109
66
  messages: Message[];
@@ -114,16 +71,6 @@ type InputGuardrail = {
114
71
  id: string;
115
72
  check(context: InputGuardrailContext, actions: InputGuardrailActions): MaybePromise<InputGuardrailResult | undefined>;
116
73
  };
117
- type ToolGuardrail<Args = unknown> = {
118
- id: string;
119
- tool?: string | string[] | undefined;
120
- check(context: ToolGuardrailContext<Args>, actions: ToolGuardrailActions): MaybePromise<ToolGuardrailResult | undefined>;
121
- };
122
- type ToolResultGuardrail<Args = unknown> = {
123
- id: string;
124
- tool?: string | string[] | undefined;
125
- check(context: ToolResultGuardrailContext<Args>, actions: ToolResultGuardrailActions): MaybePromise<ToolResultGuardrailResult | undefined>;
126
- };
127
74
  type OutputGuardrail = {
128
75
  id: string;
129
76
  check(context: OutputGuardrailContext, actions: OutputGuardrailActions): MaybePromise<OutputGuardrailResult | undefined>;
@@ -132,16 +79,12 @@ type GuardrailPolicy = {
132
79
  id: string;
133
80
  mode: GuardrailMode;
134
81
  input: InputGuardrail[];
135
- tools: ToolGuardrail[];
136
- toolResults: ToolResultGuardrail[];
137
82
  output: OutputGuardrail[];
138
83
  };
139
84
  type GuardrailPolicyOptions = {
140
85
  id: string;
141
86
  mode?: GuardrailMode | undefined;
142
87
  input?: InputGuardrail[] | undefined;
143
- tools?: ToolGuardrail[] | undefined;
144
- toolResults?: ToolResultGuardrail[] | undefined;
145
88
  output?: OutputGuardrail[] | undefined;
146
89
  };
147
90
  type GuardrailPolicyInput = GuardrailPolicy | GuardrailPolicy[];
@@ -152,23 +95,6 @@ type InputGuardrailRunResult = {
152
95
  message?: string | undefined;
153
96
  decisions: GuardrailDecisionRecord[];
154
97
  };
155
- type ToolGuardrailRunResult = {
156
- rawArgs: string;
157
- blocked: boolean;
158
- message?: string | undefined;
159
- approval?: {
160
- reason?: string | undefined;
161
- rejectMessage?: string | undefined;
162
- } | undefined;
163
- decisions: GuardrailDecisionRecord[];
164
- };
165
- type ToolResultGuardrailRunResult = {
166
- result: string;
167
- structuredResult?: ToolResultContent[] | undefined;
168
- blocked: boolean;
169
- message?: string | undefined;
170
- decisions: GuardrailDecisionRecord[];
171
- };
172
98
  type OutputGuardrailRunResult = {
173
99
  outputText: string;
174
100
  blocked: boolean;
@@ -177,8 +103,6 @@ type OutputGuardrailRunResult = {
177
103
  };
178
104
  declare function defineGuardrailPolicy(options: GuardrailPolicyOptions): GuardrailPolicy;
179
105
  declare function defineInputGuardrail(guardrail: InputGuardrail): InputGuardrail;
180
- declare function defineToolGuardrail<Args = unknown>(guardrail: ToolGuardrail<Args>): ToolGuardrail<Args>;
181
- declare function defineToolResultGuardrail<Args = unknown>(guardrail: ToolResultGuardrail<Args>): ToolResultGuardrail<Args>;
182
106
  declare function defineOutputGuardrail(guardrail: OutputGuardrail): OutputGuardrail;
183
107
  declare function allow(options?: GuardrailActionBase): GuardrailAllow;
184
108
  declare function block(options: Omit<GuardrailBlock, "action">): GuardrailBlock;
@@ -190,11 +114,9 @@ declare function normalizeGuardrailPolicies(policies: GuardrailPolicyInput | und
190
114
  declare function appendGuardrailPolicies(current: GuardrailPolicy[], next: GuardrailPolicyInput): GuardrailPolicy[];
191
115
  declare function hasEnforcedOutputGuardrails(policies: GuardrailPolicy[]): boolean;
192
116
  declare function runInputGuardrails(policies: GuardrailPolicy[], context: InputGuardrailContext): Promise<InputGuardrailRunResult>;
193
- declare function runToolGuardrails<Args>(policies: GuardrailPolicy[], toolGuardrails: ToolGuardrail<Args>[], context: ToolGuardrailContext<Args>): Promise<ToolGuardrailRunResult>;
194
- declare function runToolResultGuardrails<Args>(policies: GuardrailPolicy[], toolGuardrails: ToolResultGuardrail<Args>[], context: ToolResultGuardrailContext<Args>): Promise<ToolResultGuardrailRunResult>;
195
117
  declare function runOutputGuardrails(policies: GuardrailPolicy[], context: OutputGuardrailContext): Promise<OutputGuardrailRunResult>;
196
- type TextPatternBoundary = "input" | "output" | "tool_result";
197
- type TextPatternGuardrailFor<Boundary extends TextPatternBoundary> = Boundary extends "input" ? InputGuardrail : Boundary extends "output" ? OutputGuardrail : ToolResultGuardrail;
118
+ type TextPatternBoundary = "input" | "output";
119
+ type TextPatternGuardrailFor<Boundary extends TextPatternBoundary> = Boundary extends "input" ? InputGuardrail : OutputGuardrail;
198
120
  type TextPatternGuardrailOptions<Boundary extends TextPatternBoundary = TextPatternBoundary> = {
199
121
  id: string;
200
122
  boundary: Boundary;
@@ -208,4 +130,4 @@ type TextPatternRedactOptions<Boundary extends TextPatternBoundary = TextPattern
208
130
  declare function blockText<Boundary extends TextPatternBoundary>(options: TextPatternGuardrailOptions<Boundary>): TextPatternGuardrailFor<Boundary>;
209
131
  declare function redactText<Boundary extends TextPatternBoundary>(options: TextPatternRedactOptions<Boundary>): TextPatternGuardrailFor<Boundary>;
210
132
 
211
- export { type GuardrailActionBase, type GuardrailActionName, type GuardrailAllow, type GuardrailBlock, type GuardrailBoundary, type GuardrailCommonActions, type GuardrailDecisionRecord, type GuardrailMode, type GuardrailPolicy, type GuardrailPolicyInput, type GuardrailPolicyOptions, type GuardrailRunContext, type InputGuardrail, type InputGuardrailActions, type InputGuardrailContext, type InputGuardrailResult, type InputGuardrailRewrite, type InputGuardrailRunResult, type OutputGuardrail, type OutputGuardrailActions, type OutputGuardrailContext, type OutputGuardrailResult, type OutputGuardrailRewrite, type OutputGuardrailRunResult, type ToolGuardrail, type ToolGuardrailActions, type ToolGuardrailApprovalRequest, type ToolGuardrailContext, type ToolGuardrailResult, type ToolGuardrailRewrite, type ToolGuardrailRunResult, type ToolResultGuardrail, type ToolResultGuardrailActions, type ToolResultGuardrailContext, type ToolResultGuardrailResult, type ToolResultGuardrailRewrite, type ToolResultGuardrailRunResult, allow, appendGuardrailPolicies, block, defineGuardrailPolicy, defineInputGuardrail, defineOutputGuardrail, defineToolGuardrail, defineToolResultGuardrail, guardrails, hasEnforcedOutputGuardrails, normalizeGuardrailPolicies, runInputGuardrails, runOutputGuardrails, runToolGuardrails, runToolResultGuardrails };
133
+ export { type GuardrailActionBase, type GuardrailActionName, type GuardrailAllow, type GuardrailBlock, type GuardrailBoundary, type GuardrailCommonActions, type GuardrailDecisionRecord, type GuardrailMode, type GuardrailPolicy, type GuardrailPolicyInput, type GuardrailPolicyOptions, type GuardrailRunContext, type InputGuardrail, type InputGuardrailActions, type InputGuardrailContext, type InputGuardrailResult, type InputGuardrailRewrite, type InputGuardrailRunResult, type OutputGuardrail, type OutputGuardrailActions, type OutputGuardrailContext, type OutputGuardrailResult, type OutputGuardrailRewrite, type OutputGuardrailRunResult, allow, appendGuardrailPolicies, block, defineGuardrailPolicy, defineInputGuardrail, defineOutputGuardrail, guardrails, hasEnforcedOutputGuardrails, normalizeGuardrailPolicies, runInputGuardrails, runOutputGuardrails };
@@ -5,16 +5,12 @@ import {
5
5
  defineGuardrailPolicy,
6
6
  defineInputGuardrail,
7
7
  defineOutputGuardrail,
8
- defineToolGuardrail,
9
- defineToolResultGuardrail,
10
8
  guardrails,
11
9
  hasEnforcedOutputGuardrails,
12
10
  normalizeGuardrailPolicies,
13
11
  runInputGuardrails,
14
- runOutputGuardrails,
15
- runToolGuardrails,
16
- runToolResultGuardrails
17
- } from "../chunk-YRERPIA5.js";
12
+ runOutputGuardrails
13
+ } from "../chunk-CWUJUSOS.js";
18
14
  export {
19
15
  allow,
20
16
  appendGuardrailPolicies,
@@ -22,14 +18,10 @@ export {
22
18
  defineGuardrailPolicy,
23
19
  defineInputGuardrail,
24
20
  defineOutputGuardrail,
25
- defineToolGuardrail,
26
- defineToolResultGuardrail,
27
21
  guardrails,
28
22
  hasEnforcedOutputGuardrails,
29
23
  normalizeGuardrailPolicies,
30
24
  runInputGuardrails,
31
- runOutputGuardrails,
32
- runToolGuardrails,
33
- runToolResultGuardrails
25
+ runOutputGuardrails
34
26
  };
35
27
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import { x as ReasoningContentType, f as ToolCall, U as Usage, M as Message, k as ToolResultContent, c as CompletionResponse, b as CompletionRequest, J as JsonObject, t as CompletionModelCapabilities, h as ToolDefinition, e as JsonValue } from './types-q9G7Bvwl.js';
2
2
  import { GuardrailDecisionRecord } from './guardrails/index.js';
3
- import { g as ToolCallStreamEvent } from './tool-DGELXD2z.js';
3
+ import { g as ToolCallStreamEvent } from './tool-B8K543oQ.js';
4
4
 
5
5
  type PromptResponse = {
6
6
  output: string;
package/dist/index.d.ts CHANGED
@@ -1,23 +1,23 @@
1
1
  export { AgentBuilder } from './agent/index.js';
2
2
  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 } from './create-completion-Y6YsYbQB.js';
3
3
  export { A as AssistantContent, a as AssistantMessage, C as CompletionModel, b as CompletionRequest, c as CompletionResponse, D as Document, I as ImageContent, J as JsonObject, d as JsonPrimitive, e as JsonValue, M as Message, S as SystemMessage, T as Text, f as ToolCall, g as ToolContent, h as ToolDefinition, i as ToolMessage, j as ToolResult, k as ToolResultContent, U as Usage, l as UserContent, m as UserMessage } from './types-q9G7Bvwl.js';
4
+ export { GuardrailBoundary, GuardrailDecisionRecord, GuardrailMode, GuardrailPolicy, GuardrailPolicyInput, GuardrailPolicyOptions, InputGuardrail, InputGuardrailActions, InputGuardrailContext, OutputGuardrail, OutputGuardrailActions, OutputGuardrailContext, allow, block, defineGuardrailPolicy, defineInputGuardrail, defineOutputGuardrail, guardrails } from './guardrails/index.js';
4
5
  export { cancelPrompt, createHook, requestToolApproval, runControl, skipTool, toolCallControl } from './hooks/index.js';
5
- export { GuardrailBoundary, GuardrailDecisionRecord, GuardrailMode, GuardrailPolicy, GuardrailPolicyInput, GuardrailPolicyOptions, InputGuardrail, InputGuardrailActions, InputGuardrailContext, OutputGuardrail, OutputGuardrailActions, OutputGuardrailContext, ToolGuardrail, ToolGuardrailActions, ToolGuardrailContext, ToolResultGuardrail, ToolResultGuardrailActions, ToolResultGuardrailContext, allow, block, defineGuardrailPolicy, defineInputGuardrail, defineOutputGuardrail, defineToolGuardrail, defineToolResultGuardrail, guardrails } from './guardrails/index.js';
6
6
  export { M as MemoryStore } from './types-CqG6d7Ce.js';
7
7
  export { MaxTurnsError, PromptCancelledError, ToolApprovalRequiredError } from './request/index.js';
8
- export { A as AgentChildStreamEvent, a as AgentStreamEvent, P as PromptResponse } from './index-DsWWqP0Q.js';
8
+ export { A as AgentChildStreamEvent, a as AgentStreamEvent, P as PromptResponse } from './index-Oucb3Ljj.js';
9
9
  export { Z as ZodSchema } from './zod-schema-C7F4clpm.js';
10
10
  export { loadSkills, skill } from './skills/index.js';
11
- export { S as SkillValidationError } from './types-Bx_ZtjPi.js';
12
- export { C as CreateToolOptions, c as createThinkTool, a as createTool } from './think-tool-Bn3HHu_z.js';
13
- export { A as AnyTool, T as Tool, a as ToolApprovalContext, b as ToolApprovalDecision, c as ToolApprovalPolicy, d as ToolApprovalRequest, e as ToolApprovalsOptions, f as ToolCallContext, g as ToolCallStreamEvent } from './tool-DGELXD2z.js';
14
- export { A as AgentMiddleware, C as CompletionRequestMiddlewareArgs, a as CompletionRequestMiddlewareResult, b as CompletionResponseMiddlewareArgs, c as CompletionResponseMiddlewareResult, T as ToolInputMiddlewareArgs, d as ToolInputMiddlewareResult, e as ToolMiddleware, f as ToolOutputMiddlewareArgs, g as ToolOutputMiddlewareResult, h as ToolResultMiddlewareArgs, i as createMiddleware, j as createToolMiddleware } from './middleware-BTR0eRtx.js';
11
+ export { S as SkillValidationError } from './types-BzUuhjKr.js';
12
+ export { C as CreateToolOptions, c as createThinkTool, a as createTool } from './think-tool-B065hm73.js';
13
+ export { A as AnyTool, T as Tool, a as ToolApprovalContext, b as ToolApprovalDecision, c as ToolApprovalPolicy, d as ToolApprovalRequest, e as ToolApprovalsOptions, f as ToolCallContext, g as ToolCallStreamEvent } from './tool-B8K543oQ.js';
14
+ export { A as AgentMiddleware, C as CompletionRequestMiddlewareArgs, a as CompletionRequestMiddlewareResult, b as CompletionResponseMiddlewareArgs, c as CompletionResponseMiddlewareResult, T as ToolInputMiddlewareArgs, d as ToolInputMiddlewareResult, e as ToolMiddleware, f as ToolOutputMiddlewareArgs, g as ToolOutputMiddlewareResult, h as ToolResultMiddlewareArgs, i as createMiddleware, j as createToolMiddleware } from './middleware-ByyL6Rj0.js';
15
15
  export { UIError, UIMessage, UIMessagePart, UIMessageRole, UIStreamEvent, UIStreamRequest, coreMessagesToUIMessages, uiMessagesToCoreMessages } from './ui/index.js';
16
- import './agent-BWF8_O8k.js';
16
+ import './agent-BBj3jvBi.js';
17
17
  import './types-CGML74sE.js';
18
- import './types-9VPKg7ih.js';
18
+ import './types-Pl4PFQWL.js';
19
19
  import './types-DHHZztGO.js';
20
- import './types-Dc83Qzch.js';
20
+ import './types-7F_IKQQW.js';
21
21
  import '@modelcontextprotocol/sdk/client/sse.js';
22
22
  import '@modelcontextprotocol/sdk/client/stdio.js';
23
23
  import '@modelcontextprotocol/sdk/client/streamableHttp.js';