@anvia/core 0.11.1 → 0.11.3

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 (96) hide show
  1. package/dist/agent/index.d.ts +13 -31
  2. package/dist/agent/index.js +14 -36
  3. package/dist/{agent-DoF-xWGj.d.ts → agent-Bcpuodu2.d.ts} +8 -125
  4. package/dist/audio-generation/index.d.ts +4 -3
  5. package/dist/audio-generation/index.js +1 -1
  6. package/dist/audio-generation/index.js.map +1 -1
  7. package/dist/{chunk-VJ7AZVLS.js → chunk-2GXGB6U5.js} +6 -6
  8. package/dist/chunk-2GXGB6U5.js.map +1 -0
  9. package/dist/{chunk-T22FYPE2.js → chunk-5EDHXYH5.js} +6 -6
  10. package/dist/{chunk-WJO6NVE2.js → chunk-5LFGEMIW.js} +1 -1
  11. package/dist/{chunk-WJO6NVE2.js.map → chunk-5LFGEMIW.js.map} +1 -1
  12. package/dist/{chunk-IFQVPV32.js → chunk-7CQAERL3.js} +318 -543
  13. package/dist/chunk-7CQAERL3.js.map +1 -0
  14. package/dist/{chunk-BVGDCFQW.js → chunk-FV5B4SGK.js} +7 -7
  15. package/dist/{chunk-AREAH2X5.js → chunk-JNO4AR7Q.js} +4 -240
  16. package/dist/chunk-JNO4AR7Q.js.map +1 -0
  17. package/dist/{chunk-W4DZU6IW.js → chunk-JS5MGVNM.js} +50 -48
  18. package/dist/chunk-JS5MGVNM.js.map +1 -0
  19. package/dist/{chunk-XXT2UCAR.js → chunk-M6RPFHG7.js} +2 -2
  20. package/dist/chunk-M6RPFHG7.js.map +1 -0
  21. package/dist/chunk-MLMXQ2OV.js +205 -0
  22. package/dist/chunk-MLMXQ2OV.js.map +1 -0
  23. package/dist/{chunk-M4T4ID34.js → chunk-NI637AGP.js} +6 -6
  24. package/dist/chunk-NI637AGP.js.map +1 -0
  25. package/dist/chunk-NPZDYOE6.js +53 -0
  26. package/dist/chunk-NPZDYOE6.js.map +1 -0
  27. package/dist/{chunk-5G3VME2D.js → chunk-SRBW3LD7.js} +2 -2
  28. package/dist/chunk-SRBW3LD7.js.map +1 -0
  29. package/dist/{chunk-246MPVBE.js → chunk-V3WTT7TE.js} +2 -2
  30. package/dist/completion/index.d.ts +8 -6
  31. package/dist/completion/index.js +2 -2
  32. package/dist/{create-completion-7GNUka0b.d.ts → create-completion-Y6YsYbQB.d.ts} +2 -2
  33. package/dist/embeddings/index.d.ts +6 -5
  34. package/dist/embeddings/index.js +1 -1
  35. package/dist/evals/index.d.ts +9 -9
  36. package/dist/evals/index.js +16 -14
  37. package/dist/evals/index.js.map +1 -1
  38. package/dist/extractor/index.d.ts +9 -9
  39. package/dist/extractor/index.js +14 -12
  40. package/dist/hooks/index.d.ts +12 -0
  41. package/dist/hooks/index.js +18 -0
  42. package/dist/hooks/index.js.map +1 -0
  43. package/dist/image-generation/index.d.ts +4 -3
  44. package/dist/image-generation/index.js +1 -1
  45. package/dist/image-generation/index.js.map +1 -1
  46. package/dist/index-CD9jb9Or.d.ts +198 -0
  47. package/dist/index.d.ts +17 -15
  48. package/dist/index.js +26 -31
  49. package/dist/internal/agent.d.ts +9 -9
  50. package/dist/internal/agent.js +11 -9
  51. package/dist/loaders/index.d.ts +8 -7
  52. package/dist/loaders/index.js.map +1 -1
  53. package/dist/mcp/index.d.ts +4 -4
  54. package/dist/memory/index.d.ts +4 -40
  55. package/dist/memory/index.js +1 -1
  56. package/dist/{middleware-D7nRBusA.d.ts → middleware-ByyL6Rj0.d.ts} +4 -4
  57. package/dist/model-listing/index.d.ts +14 -12
  58. package/dist/model-listing/index.js +1 -1
  59. package/dist/model-listing/index.js.map +1 -1
  60. package/dist/observability/index.d.ts +3 -138
  61. package/dist/observability/index.js.map +1 -1
  62. package/dist/pipeline/index.d.ts +9 -9
  63. package/dist/pipeline/index.js +3 -3
  64. package/dist/request/index.d.ts +27 -0
  65. package/dist/request/index.js +23 -0
  66. package/dist/request/index.js.map +1 -0
  67. package/dist/skills/index.d.ts +4 -4
  68. package/dist/skills/index.js +7 -7
  69. package/dist/{think-tool-DmBR-YzU.d.ts → think-tool-B065hm73.d.ts} +1 -1
  70. package/dist/tool/index.d.ts +6 -6
  71. package/dist/tool/index.js +6 -6
  72. package/dist/{tool-Hlcb459D.d.ts → tool-B8K543oQ.d.ts} +1 -1
  73. package/dist/transcription/index.d.ts +3 -3
  74. package/dist/{types-CiFIAGqq.d.ts → types-7F_IKQQW.d.ts} +2 -2
  75. package/dist/{types-DrkBkjzk.d.ts → types-BzUuhjKr.d.ts} +1 -1
  76. package/dist/types-CGML74sE.d.ts +114 -0
  77. package/dist/types-CqG6d7Ce.d.ts +42 -0
  78. package/dist/{types-IB2e9u5M.d.ts → types-DHHZztGO.d.ts} +1 -1
  79. package/dist/{types-B0cuzkjP.d.ts → types-Pl4PFQWL.d.ts} +2 -2
  80. package/dist/{types-CP3iyh6j.d.ts → types-q9G7Bvwl.d.ts} +9 -9
  81. package/dist/ui/index.d.ts +2 -28
  82. package/dist/ui/index.js +2 -12
  83. package/dist/vector-store/index.d.ts +5 -5
  84. package/dist/vector-store/index.js +4 -4
  85. package/package.json +10 -2
  86. package/dist/chunk-5G3VME2D.js.map +0 -1
  87. package/dist/chunk-AREAH2X5.js.map +0 -1
  88. package/dist/chunk-IFQVPV32.js.map +0 -1
  89. package/dist/chunk-M4T4ID34.js.map +0 -1
  90. package/dist/chunk-VJ7AZVLS.js.map +0 -1
  91. package/dist/chunk-W4DZU6IW.js.map +0 -1
  92. package/dist/chunk-XXT2UCAR.js.map +0 -1
  93. package/dist/types-C2ArxcON.d.ts +0 -65
  94. /package/dist/{chunk-T22FYPE2.js.map → chunk-5EDHXYH5.js.map} +0 -0
  95. /package/dist/{chunk-BVGDCFQW.js.map → chunk-FV5B4SGK.js.map} +0 -0
  96. /package/dist/{chunk-246MPVBE.js.map → chunk-V3WTT7TE.js.map} +0 -0
@@ -0,0 +1,27 @@
1
+ import { M as Message } from '../types-q9G7Bvwl.js';
2
+ import { d as ToolApprovalRequest } from '../tool-B8K543oQ.js';
3
+ export { P as PromptRequest } from '../agent-Bcpuodu2.js';
4
+ export { A as AgentChildStreamEvent, e as AgentDeltaEvent, a as AgentStreamEvent, P as PromptResponse } from '../index-CD9jb9Or.js';
5
+ import '../types-CGML74sE.js';
6
+ import '../types-CqG6d7Ce.js';
7
+ import '../middleware-ByyL6Rj0.js';
8
+ import '../types-DHHZztGO.js';
9
+ import '../types-Pl4PFQWL.js';
10
+
11
+ declare class MaxTurnsError extends Error {
12
+ readonly maxTurns: number;
13
+ readonly chatHistory: Message[];
14
+ readonly prompt: Message;
15
+ constructor(maxTurns: number, chatHistory: Message[], prompt: Message);
16
+ }
17
+ declare class PromptCancelledError extends Error {
18
+ readonly chatHistory: Message[];
19
+ readonly reason: string;
20
+ constructor(chatHistory: Message[], reason: string);
21
+ }
22
+ declare class ToolApprovalRequiredError extends Error {
23
+ readonly request: ToolApprovalRequest;
24
+ constructor(request: ToolApprovalRequest);
25
+ }
26
+
27
+ export { MaxTurnsError, PromptCancelledError, ToolApprovalRequiredError };
@@ -0,0 +1,23 @@
1
+ import {
2
+ MaxTurnsError,
3
+ PromptCancelledError,
4
+ PromptRequest,
5
+ ToolApprovalRequiredError
6
+ } from "../chunk-7CQAERL3.js";
7
+ import "../chunk-XUUY2L2D.js";
8
+ import "../chunk-FV5B4SGK.js";
9
+ import "../chunk-5EDHXYH5.js";
10
+ import "../chunk-JS5MGVNM.js";
11
+ import "../chunk-OIMLU4SF.js";
12
+ import "../chunk-SRBW3LD7.js";
13
+ import "../chunk-5LFGEMIW.js";
14
+ import "../chunk-WQKHFADH.js";
15
+ import "../chunk-NPZDYOE6.js";
16
+ import "../chunk-MMHG7WAM.js";
17
+ export {
18
+ MaxTurnsError,
19
+ PromptCancelledError,
20
+ PromptRequest,
21
+ ToolApprovalRequiredError
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,7 @@
1
- import { b as SkillLoader, a as SkillSet } from '../types-DrkBkjzk.js';
2
- export { c as Skill, S as SkillValidationError, d as SkillValidationIssue } from '../types-DrkBkjzk.js';
3
- import '../tool-Hlcb459D.js';
4
- import '../types-CP3iyh6j.js';
1
+ import { b as SkillLoader, a as SkillSet } from '../types-BzUuhjKr.js';
2
+ export { c as Skill, S as SkillValidationError, d as SkillValidationIssue } from '../types-BzUuhjKr.js';
3
+ import '../tool-B8K543oQ.js';
4
+ import '../types-q9G7Bvwl.js';
5
5
 
6
6
  declare function loadSkills(loaders: SkillLoader | SkillLoader[]): Promise<SkillSet>;
7
7
 
@@ -2,15 +2,15 @@ import {
2
2
  SkillValidationError,
3
3
  loadSkills,
4
4
  skill
5
- } from "../chunk-246MPVBE.js";
5
+ } from "../chunk-V3WTT7TE.js";
6
6
  import "../chunk-YK4WAAS4.js";
7
- import "../chunk-BVGDCFQW.js";
8
- import "../chunk-T22FYPE2.js";
9
- import "../chunk-MMHG7WAM.js";
10
- import "../chunk-WJO6NVE2.js";
11
- import "../chunk-WQKHFADH.js";
12
- import "../chunk-W4DZU6IW.js";
7
+ import "../chunk-FV5B4SGK.js";
8
+ import "../chunk-5EDHXYH5.js";
9
+ import "../chunk-JS5MGVNM.js";
13
10
  import "../chunk-OIMLU4SF.js";
11
+ import "../chunk-5LFGEMIW.js";
12
+ import "../chunk-WQKHFADH.js";
13
+ import "../chunk-MMHG7WAM.js";
14
14
  export {
15
15
  SkillValidationError,
16
16
  loadSkills,
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { Z as ZodSchema } from './zod-schema-C7F4clpm.js';
3
- import { c as ToolApprovalPolicy, f as ToolCallContext, T as Tool } from './tool-Hlcb459D.js';
3
+ import { c as ToolApprovalPolicy, f as ToolCallContext, T as Tool } from './tool-B8K543oQ.js';
4
4
 
5
5
  type CreateToolOptions<InputSchema extends ZodSchema, OutputSchema extends ZodSchema | undefined = undefined, Output = unknown> = {
6
6
  name: string;
@@ -1,11 +1,11 @@
1
- export { b as CreateThinkToolOptions, C as CreateToolOptions, c as createThinkTool, a as createTool } from '../think-tool-DmBR-YzU.js';
2
- export { A as AgentMiddleware, C as CompletionRequestMiddlewareArgs, a as CompletionRequestMiddlewareResult, b as CompletionResponseMiddlewareArgs, c as CompletionResponseMiddlewareResult, D as DynamicToolIndex, E as EmbedToolsOptions, T as ToolInputMiddlewareArgs, d as ToolInputMiddlewareResult, e as ToolMiddleware, f as ToolOutputMiddlewareArgs, g as ToolOutputMiddlewareResult, h as ToolResultMiddlewareArgs, k as ToolSearchDocument, l as ToolSet, i as createMiddleware, m as createToolIndex, j as createToolMiddleware, n as embedTools, o as isDynamicToolIndex } from '../middleware-D7nRBusA.js';
3
- export { A as AnyTool, N as NormalizedToolOutput, T as Tool, a as ToolApprovalContext, b as ToolApprovalDecision, c as ToolApprovalPolicy, d as ToolApprovalRequest, h as ToolApprovalRunContext, e as ToolApprovalsOptions, f as ToolCallContext, g as ToolCallStreamEvent, i as ToolOutput, n as normalizeToolResultOutput, p as parseToolArgs, t as toolResultContentToText } from '../tool-Hlcb459D.js';
4
- export { n as isToolResultContentArray, s as serializeToolOutput } from '../types-CP3iyh6j.js';
1
+ export { b as CreateThinkToolOptions, C as CreateToolOptions, c as createThinkTool, a as createTool } from '../think-tool-B065hm73.js';
2
+ export { A as AgentMiddleware, C as CompletionRequestMiddlewareArgs, a as CompletionRequestMiddlewareResult, b as CompletionResponseMiddlewareArgs, c as CompletionResponseMiddlewareResult, D as DynamicToolIndex, E as EmbedToolsOptions, T as ToolInputMiddlewareArgs, d as ToolInputMiddlewareResult, e as ToolMiddleware, f as ToolOutputMiddlewareArgs, g as ToolOutputMiddlewareResult, h as ToolResultMiddlewareArgs, k as ToolSearchDocument, l as ToolSet, i as createMiddleware, m as createToolIndex, j as createToolMiddleware, n as embedTools, o as isDynamicToolIndex } from '../middleware-ByyL6Rj0.js';
3
+ export { A as AnyTool, N as NormalizedToolOutput, T as Tool, a as ToolApprovalContext, b as ToolApprovalDecision, c as ToolApprovalPolicy, d as ToolApprovalRequest, h as ToolApprovalRunContext, e as ToolApprovalsOptions, f as ToolCallContext, g as ToolCallStreamEvent, i as ToolOutput, n as normalizeToolResultOutput, p as parseToolArgs, t as toolResultContentToText } from '../tool-B8K543oQ.js';
4
+ export { q as isToolResultContentArray, s as serializeToolOutput } from '../types-q9G7Bvwl.js';
5
5
  import 'zod';
6
6
  import '../zod-schema-C7F4clpm.js';
7
- import '../types-IB2e9u5M.js';
8
- import '../types-B0cuzkjP.js';
7
+ import '../types-DHHZztGO.js';
8
+ import '../types-Pl4PFQWL.js';
9
9
 
10
10
  declare class ToolCallError extends Error {
11
11
  readonly cause?: unknown | undefined;
@@ -13,18 +13,18 @@ import {
13
13
  normalizeToolResultOutput,
14
14
  parseToolArgs,
15
15
  toolResultContentToText
16
- } from "../chunk-BVGDCFQW.js";
16
+ } from "../chunk-FV5B4SGK.js";
17
17
  import {
18
18
  createTool
19
- } from "../chunk-T22FYPE2.js";
20
- import "../chunk-MMHG7WAM.js";
19
+ } from "../chunk-5EDHXYH5.js";
20
+ import "../chunk-JS5MGVNM.js";
21
+ import "../chunk-OIMLU4SF.js";
21
22
  import {
22
23
  isToolResultContentArray,
23
24
  serializeToolResultOutput
24
- } from "../chunk-WJO6NVE2.js";
25
+ } from "../chunk-5LFGEMIW.js";
25
26
  import "../chunk-WQKHFADH.js";
26
- import "../chunk-W4DZU6IW.js";
27
- import "../chunk-OIMLU4SF.js";
27
+ import "../chunk-MMHG7WAM.js";
28
28
  export {
29
29
  ToolCallError,
30
30
  ToolJsonError,
@@ -1,4 +1,4 @@
1
- import { J as JsonObject, h as ToolDefinition, k as ToolResultContent, e as JsonValue } from './types-CP3iyh6j.js';
1
+ import { J as JsonObject, h as ToolDefinition, k as ToolResultContent, e as JsonValue } from './types-q9G7Bvwl.js';
2
2
 
3
3
  type ToolApprovalRunContext = {
4
4
  agentId: string;
@@ -1,4 +1,4 @@
1
- import { e as JsonValue } from '../types-CP3iyh6j.js';
1
+ import { e as JsonValue } from '../types-q9G7Bvwl.js';
2
2
 
3
3
  type TranscriptionRequest = {
4
4
  data: Uint8Array;
@@ -12,9 +12,9 @@ type TranscriptionResponse<RawResponse = unknown> = {
12
12
  text: string;
13
13
  rawResponse: RawResponse;
14
14
  };
15
- interface TranscriptionModel<RawResponse = unknown> {
15
+ interface TranscriptionModel<RawResponse = unknown, ModelName extends string = string> {
16
16
  readonly provider?: string | undefined;
17
- readonly defaultModel?: string | undefined;
17
+ readonly defaultModel?: ModelName | undefined;
18
18
  transcription(request: TranscriptionRequest): Promise<TranscriptionResponse<RawResponse>>;
19
19
  }
20
20
 
@@ -1,8 +1,8 @@
1
1
  import { SSEClientTransportOptions } from '@modelcontextprotocol/sdk/client/sse.js';
2
2
  import { StdioServerParameters } from '@modelcontextprotocol/sdk/client/stdio.js';
3
3
  import { StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
4
- import { J as JsonObject } from './types-CP3iyh6j.js';
5
- import { A as AnyTool } from './tool-Hlcb459D.js';
4
+ import { J as JsonObject } from './types-q9G7Bvwl.js';
5
+ import { A as AnyTool } from './tool-B8K543oQ.js';
6
6
 
7
7
  type McpToolDefinition = {
8
8
  name: string;
@@ -1,4 +1,4 @@
1
- import { A as AnyTool } from './tool-Hlcb459D.js';
1
+ import { A as AnyTool } from './tool-B8K543oQ.js';
2
2
 
3
3
  type Skill = {
4
4
  readonly name: string;
@@ -0,0 +1,114 @@
1
+ import { M as Message, U as Usage, c as CompletionResponse, k as ToolResultContent } from './types-q9G7Bvwl.js';
2
+
3
+ type HookAction = {
4
+ type: "continue";
5
+ } | {
6
+ type: "terminate";
7
+ reason: string;
8
+ };
9
+ type ToolApprovalRequestOptions = {
10
+ reason?: string;
11
+ rejectMessage?: string;
12
+ };
13
+ type ToolCallHookAction = {
14
+ type: "continue";
15
+ } | {
16
+ type: "skip";
17
+ reason: string;
18
+ } | {
19
+ type: "terminate";
20
+ reason: string;
21
+ } | ({
22
+ type: "approval_request";
23
+ } & ToolApprovalRequestOptions);
24
+ type RunControl = {
25
+ continue(): HookAction;
26
+ cancel(reason: string): HookAction;
27
+ };
28
+ type ToolCallControl = {
29
+ run(): ToolCallHookAction;
30
+ skip(reason: string): ToolCallHookAction;
31
+ cancel(reason: string): ToolCallHookAction;
32
+ requestApproval(options?: ToolApprovalRequestOptions): ToolCallHookAction;
33
+ };
34
+ type HookResult = HookAction | undefined;
35
+ type ToolCallHookResult = ToolCallHookAction | undefined;
36
+ type HookCallback<Args> = (args: Args) => HookAction | Promise<HookAction | undefined> | Promise<void> | void;
37
+ type ToolCallHookCallback<Args> = (args: Args) => ToolCallHookAction | Promise<ToolCallHookAction | undefined> | Promise<void> | void;
38
+ type CompletionCallHookArgs = {
39
+ prompt: Message;
40
+ history: Message[];
41
+ run: RunControl;
42
+ };
43
+ type RunStartHookArgs = {
44
+ prompt: Message;
45
+ history: Message[];
46
+ maxTurns: number;
47
+ run: RunControl;
48
+ };
49
+ type RunEndHookArgs = {
50
+ output: string;
51
+ usage: Usage;
52
+ messages: Message[];
53
+ run: RunControl;
54
+ };
55
+ type RunErrorHookArgs = {
56
+ error: unknown;
57
+ usage: Usage;
58
+ messages: Message[];
59
+ run: RunControl;
60
+ };
61
+ type TurnStartHookArgs = {
62
+ turn: number;
63
+ prompt: Message;
64
+ history: Message[];
65
+ run: RunControl;
66
+ };
67
+ type TurnEndHookArgs<RawResponse = unknown> = {
68
+ turn: number;
69
+ response: CompletionResponse<RawResponse>;
70
+ run: RunControl;
71
+ };
72
+ type CompletionResponseHookArgs<RawResponse = unknown> = {
73
+ prompt: Message;
74
+ response: CompletionResponse<RawResponse>;
75
+ run: RunControl;
76
+ };
77
+ type CompletionErrorHookArgs = {
78
+ prompt: Message;
79
+ error: unknown;
80
+ run: RunControl;
81
+ };
82
+ type ToolHookArgs = {
83
+ toolName: string;
84
+ toolCallId?: string;
85
+ internalCallId: string;
86
+ args: string;
87
+ };
88
+ type ToolCallHookArgs = ToolHookArgs & {
89
+ tool: ToolCallControl;
90
+ };
91
+ type ToolResultHookArgs = ToolHookArgs & {
92
+ result: string;
93
+ structuredResult?: ToolResultContent[] | undefined;
94
+ run: RunControl;
95
+ };
96
+ type ToolErrorHookArgs = ToolHookArgs & {
97
+ error: unknown;
98
+ run: RunControl;
99
+ };
100
+ interface PromptHook<RawResponse = unknown> {
101
+ onRunStart?: HookCallback<RunStartHookArgs>;
102
+ onRunEnd?: HookCallback<RunEndHookArgs>;
103
+ onRunError?: HookCallback<RunErrorHookArgs>;
104
+ onTurnStart?: HookCallback<TurnStartHookArgs>;
105
+ onTurnEnd?: HookCallback<TurnEndHookArgs<RawResponse>>;
106
+ onCompletionCall?: HookCallback<CompletionCallHookArgs>;
107
+ onCompletionResponse?: HookCallback<CompletionResponseHookArgs<RawResponse>>;
108
+ onCompletionError?: HookCallback<CompletionErrorHookArgs>;
109
+ onToolCall?: ToolCallHookCallback<ToolCallHookArgs>;
110
+ onToolResult?: HookCallback<ToolResultHookArgs>;
111
+ onToolError?: HookCallback<ToolErrorHookArgs>;
112
+ }
113
+
114
+ export type { CompletionCallHookArgs as C, HookAction as H, PromptHook as P, RunControl as R, ToolApprovalRequestOptions as T, ToolCallHookAction as a, ToolCallControl as b, CompletionErrorHookArgs as c, CompletionResponseHookArgs as d, HookResult as e, RunEndHookArgs as f, RunErrorHookArgs as g, RunStartHookArgs as h, ToolCallHookArgs as i, ToolCallHookResult as j, ToolErrorHookArgs as k, ToolHookArgs as l, ToolResultHookArgs as m, TurnEndHookArgs as n, TurnStartHookArgs as o };
@@ -0,0 +1,42 @@
1
+ import { J as JsonObject, M as Message } from './types-q9G7Bvwl.js';
2
+
3
+ type MemorySavePolicy = "message" | "turn" | "run";
4
+ type MemoryContext = {
5
+ sessionId: string;
6
+ userId?: string | undefined;
7
+ metadata?: JsonObject | undefined;
8
+ };
9
+ type MemoryAppendInput = {
10
+ context: MemoryContext;
11
+ runId: string;
12
+ turn: number;
13
+ messages: Message[];
14
+ };
15
+ type MemoryErrorInput = {
16
+ context: MemoryContext;
17
+ runId: string;
18
+ error: unknown;
19
+ messages: Message[];
20
+ };
21
+ interface MemoryStore {
22
+ load(context: MemoryContext): Promise<Message[]>;
23
+ append(input: MemoryAppendInput): Promise<void>;
24
+ clear(context: MemoryContext): Promise<void>;
25
+ recordError?(input: MemoryErrorInput): Promise<void>;
26
+ }
27
+ type MemoryOptions = {
28
+ savePolicy?: MemorySavePolicy | undefined;
29
+ };
30
+ type ResolvedMemoryOptions = {
31
+ savePolicy: MemorySavePolicy;
32
+ };
33
+ type MemoryRegistration = {
34
+ store: MemoryStore;
35
+ options: ResolvedMemoryOptions;
36
+ };
37
+ type SessionOptions = {
38
+ userId?: string | undefined;
39
+ metadata?: JsonObject | undefined;
40
+ };
41
+
42
+ export type { MemoryStore as M, ResolvedMemoryOptions as R, SessionOptions as S, MemoryOptions as a, MemoryAppendInput as b, MemoryContext as c, MemoryErrorInput as d, MemoryRegistration as e, MemorySavePolicy as f };
@@ -22,4 +22,4 @@ type EmbedDocumentsOptions<T, Metadata extends VectorMetadata = VectorMetadata>
22
22
  concurrency?: number | undefined;
23
23
  };
24
24
 
25
- export type { EmbeddingModel as E, VectorMetadata as V, EmbedDocumentsOptions as a, EmbeddedDocument as b, Embedding as c, VectorMetadataValue as d };
25
+ export type { EmbeddingModel as E, VectorMetadata as V, VectorMetadataValue as a, EmbedDocumentsOptions as b, EmbeddedDocument as c, Embedding as d };
@@ -1,5 +1,5 @@
1
- import { V as VectorMetadata, d as VectorMetadataValue } from './types-IB2e9u5M.js';
2
- import { T as Tool } from './tool-Hlcb459D.js';
1
+ import { V as VectorMetadata, a as VectorMetadataValue } from './types-DHHZztGO.js';
2
+ import { T as Tool } from './tool-B8K543oQ.js';
3
3
 
4
4
  type VectorFilter = {
5
5
  type: "eq";
@@ -179,8 +179,8 @@ declare const Usage: {
179
179
  empty(): Usage;
180
180
  add(left: Usage, right: Usage): Usage;
181
181
  };
182
- type CompletionRequest = {
183
- model?: string;
182
+ type CompletionRequest<ModelName extends string = string> = {
183
+ model?: ModelName;
184
184
  instructions?: string;
185
185
  chatHistory: Message[];
186
186
  documents: Document[];
@@ -206,14 +206,14 @@ type CompletionModelCapabilities = {
206
206
  outputSchema: boolean;
207
207
  reasoning: boolean;
208
208
  };
209
- interface CompletionModel<RawResponse = unknown> {
209
+ interface CompletionModel<RawResponse = unknown, ModelName extends string = string> {
210
210
  readonly provider: string;
211
- readonly defaultModel: string;
211
+ readonly defaultModel: ModelName;
212
212
  readonly capabilities: CompletionModelCapabilities;
213
- traceRequest?(request: CompletionRequest, options?: {
213
+ traceRequest?(request: CompletionRequest<ModelName>, options?: {
214
214
  stream?: boolean | undefined;
215
215
  }): JsonObject | undefined;
216
- completion(request: CompletionRequest): Promise<CompletionResponse<RawResponse>>;
216
+ completion(request: CompletionRequest<ModelName>): Promise<CompletionResponse<RawResponse>>;
217
217
  }
218
218
  type CompletionStreamEvent<RawResponse = unknown> = {
219
219
  type: "text_delta";
@@ -244,8 +244,8 @@ type CompletionStreamEvent<RawResponse = unknown> = {
244
244
  type: "error";
245
245
  error: unknown;
246
246
  };
247
- interface StreamingCompletionModel<RawResponse = unknown> extends CompletionModel<RawResponse> {
248
- streamCompletion(request: CompletionRequest): AsyncIterable<CompletionStreamEvent<RawResponse>>;
247
+ interface StreamingCompletionModel<RawResponse = unknown, ModelName extends string = string> extends CompletionModel<RawResponse, ModelName> {
248
+ streamCompletion(request: CompletionRequest<ModelName>): AsyncIterable<CompletionStreamEvent<RawResponse>>;
249
249
  }
250
250
  declare class CompletionCapabilityError extends Error {
251
251
  constructor(message: string);
@@ -255,4 +255,4 @@ declare function assertCompletionRequestSupported(model: CompletionModel, reques
255
255
  }): void;
256
256
  declare function textFromAssistantContent(content: AssistantContent[]): string;
257
257
 
258
- export { AssistantContent as A, reasoningDisplayText as B, type CompletionModel as C, type Document as D, textFromAssistantContent as E, type ImageContent as I, type JsonObject as J, Message as M, type ReasoningContentType as R, type SystemMessage as S, type Text as T, Usage as U, type AssistantMessage as a, type CompletionRequest as b, type CompletionResponse as c, type JsonPrimitive as d, type JsonValue as e, type ToolCall as f, ToolContent as g, type ToolDefinition as h, type ToolMessage as i, type ToolResult as j, type ToolResultContent as k, UserContent as l, type UserMessage as m, isToolResultContentArray as n, type ToolChoice as o, type StreamingCompletionModel as p, type CompletionStreamEvent as q, CompletionCapabilityError as r, serializeToolResultOutput as s, type CompletionModelCapabilities as t, type DocumentContent as u, type ImageDetail as v, type Reasoning as w, type ReasoningContent as x, type ToolFunction as y, assertCompletionRequestSupported as z };
258
+ export { AssistantContent as A, reasoningDisplayText as B, type CompletionModel as C, type Document as D, textFromAssistantContent as E, type ImageContent as I, type JsonObject as J, Message as M, type Reasoning as R, type SystemMessage as S, type Text as T, Usage as U, type AssistantMessage as a, type CompletionRequest as b, type CompletionResponse as c, type JsonPrimitive as d, type JsonValue as e, type ToolCall as f, ToolContent as g, type ToolDefinition as h, type ToolMessage as i, type ToolResult as j, type ToolResultContent as k, UserContent as l, type UserMessage as m, type ToolChoice as n, type StreamingCompletionModel as o, type CompletionStreamEvent as p, isToolResultContentArray as q, CompletionCapabilityError as r, serializeToolResultOutput as s, type CompletionModelCapabilities as t, type DocumentContent as u, type ImageDetail as v, type ReasoningContent as w, type ReasoningContentType as x, type ToolFunction as y, assertCompletionRequestSupported as z };
@@ -1,10 +1,4 @@
1
- import { d as CreateCompletionStreamOptions } from '../create-completion-7GNUka0b.js';
2
- import { e as JsonValue, U as Usage, M as Message, q as CompletionStreamEvent, p as StreamingCompletionModel } from '../types-CP3iyh6j.js';
3
- import { a as AgentStreamEvent } from '../types-C2ArxcON.js';
4
- import '../zod-schema-C7F4clpm.js';
5
- import 'zod';
6
- import '../observability/index.js';
7
- import '../tool-Hlcb459D.js';
1
+ import { e as JsonValue, U as Usage, M as Message } from '../types-q9G7Bvwl.js';
8
2
 
9
3
  type UIMessageRole = "system" | "user" | "assistant" | "tool";
10
4
  type UIError = {
@@ -85,24 +79,4 @@ type UIStreamEvent = {
85
79
  declare function uiMessagesToCoreMessages(messages: UIMessage[]): Message[];
86
80
  declare function coreMessagesToUIMessages(messages: Message[]): UIMessage[];
87
81
 
88
- type CreateCompletionUIStreamOptions = Omit<CreateCompletionStreamOptions, "input" | "messages"> & {
89
- messages: UIMessage[];
90
- };
91
- type AgentLike = {
92
- prompt(prompt: string | Message | Message[]): {
93
- stream(): AsyncIterable<AgentStreamEvent>;
94
- };
95
- };
96
- type CreateAgentUIStreamOptions = {
97
- messages: UIMessage[];
98
- };
99
- declare function createCompletionUIStream<Model extends StreamingCompletionModel>(model: Model, options: CreateCompletionUIStreamOptions): AsyncIterable<UIStreamEvent>;
100
- declare function createAgentUIStream(agent: AgentLike, options: CreateAgentUIStreamOptions): AsyncIterable<UIStreamEvent>;
101
- declare function completionStreamToUIStream(events: AsyncIterable<CompletionStreamEvent>, options?: {
102
- messageId?: string | undefined;
103
- }): AsyncIterable<UIStreamEvent>;
104
- declare function agentStreamToUIStream(events: AsyncIterable<AgentStreamEvent>, options?: {
105
- messageId?: string | undefined;
106
- }): AsyncIterable<UIStreamEvent>;
107
-
108
- export { type AgentLike, type CreateAgentUIStreamOptions, type CreateCompletionUIStreamOptions, type UIError, type UIMessage, type UIMessagePart, type UIMessageRole, type UIStreamEvent, type UIStreamRequest, agentStreamToUIStream, completionStreamToUIStream, coreMessagesToUIMessages, createAgentUIStream, createCompletionUIStream, uiMessagesToCoreMessages };
82
+ export { type UIError, type UIMessage, type UIMessagePart, type UIMessageRole, type UIStreamEvent, type UIStreamRequest, coreMessagesToUIMessages, uiMessagesToCoreMessages };
package/dist/ui/index.js CHANGED
@@ -1,20 +1,10 @@
1
1
  import {
2
- agentStreamToUIStream,
3
- completionStreamToUIStream,
4
2
  coreMessagesToUIMessages,
5
- createAgentUIStream,
6
- createCompletionUIStream,
7
3
  uiMessagesToCoreMessages
8
- } from "../chunk-AREAH2X5.js";
9
- import "../chunk-5G3VME2D.js";
10
- import "../chunk-WJO6NVE2.js";
11
- import "../chunk-WQKHFADH.js";
4
+ } from "../chunk-JNO4AR7Q.js";
5
+ import "../chunk-5LFGEMIW.js";
12
6
  export {
13
- agentStreamToUIStream,
14
- completionStreamToUIStream,
15
7
  coreMessagesToUIMessages,
16
- createAgentUIStream,
17
- createCompletionUIStream,
18
8
  uiMessagesToCoreMessages
19
9
  };
20
10
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- import { d as VectorMetadataValue, V as VectorMetadata, E as EmbeddingModel, b as EmbeddedDocument, c as Embedding } from '../types-IB2e9u5M.js';
2
- import { T as Tool } from '../tool-Hlcb459D.js';
3
- import { V as VectorFilter, a as VectorSearchIndex, I as IndexStrategy, b as VectorSearchRequest, c as VectorSearchResult, d as VectorInspectRequest, e as VectorInspectPage, f as VectorSearchToolOptions } from '../types-B0cuzkjP.js';
4
- export { L as LshOptions, g as VectorInspectItem } from '../types-B0cuzkjP.js';
5
- import '../types-CP3iyh6j.js';
1
+ import { a as VectorMetadataValue, V as VectorMetadata, E as EmbeddingModel, c as EmbeddedDocument, d as Embedding } from '../types-DHHZztGO.js';
2
+ import { T as Tool } from '../tool-B8K543oQ.js';
3
+ import { V as VectorFilter, a as VectorSearchIndex, I as IndexStrategy, b as VectorSearchRequest, c as VectorSearchResult, d as VectorInspectRequest, e as VectorInspectPage, f as VectorSearchToolOptions } from '../types-Pl4PFQWL.js';
4
+ export { L as LshOptions, g as VectorInspectItem } from '../types-Pl4PFQWL.js';
5
+ import '../types-q9G7Bvwl.js';
6
6
 
7
7
  declare const vectorFilter: {
8
8
  eq(key: string, value: VectorMetadataValue): VectorFilter;
@@ -3,11 +3,11 @@ import {
3
3
  InMemoryVectorStore,
4
4
  createVectorSearchTool,
5
5
  vectorFilter
6
- } from "../chunk-T22FYPE2.js";
7
- import "../chunk-MMHG7WAM.js";
8
- import "../chunk-WQKHFADH.js";
9
- import "../chunk-W4DZU6IW.js";
6
+ } from "../chunk-5EDHXYH5.js";
7
+ import "../chunk-JS5MGVNM.js";
10
8
  import "../chunk-OIMLU4SF.js";
9
+ import "../chunk-WQKHFADH.js";
10
+ import "../chunk-MMHG7WAM.js";
11
11
  export {
12
12
  InMemoryVectorIndex,
13
13
  InMemoryVectorStore,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anvia/core",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "Core runtime primitives for context-aware Anvia agents.",
5
5
  "author": "anvia",
6
6
  "maintainer": "Indra Zulfi",
@@ -64,6 +64,10 @@
64
64
  "types": "./dist/memory/index.d.ts",
65
65
  "import": "./dist/memory/index.js"
66
66
  },
67
+ "./hooks": {
68
+ "types": "./dist/hooks/index.d.ts",
69
+ "import": "./dist/hooks/index.js"
70
+ },
67
71
  "./model-listing": {
68
72
  "types": "./dist/model-listing/index.d.ts",
69
73
  "import": "./dist/model-listing/index.js"
@@ -76,6 +80,10 @@
76
80
  "types": "./dist/pipeline/index.d.ts",
77
81
  "import": "./dist/pipeline/index.js"
78
82
  },
83
+ "./request": {
84
+ "types": "./dist/request/index.d.ts",
85
+ "import": "./dist/request/index.js"
86
+ },
79
87
  "./skills": {
80
88
  "types": "./dist/skills/index.d.ts",
81
89
  "import": "./dist/skills/index.js"
@@ -119,7 +127,7 @@
119
127
  "vitest": "^4.0.8"
120
128
  },
121
129
  "scripts": {
122
- "build": "tsup src/index.ts src/agent/index.ts src/internal/agent.ts src/audio-generation/index.ts src/completion/index.ts src/embeddings/index.ts src/evals/index.ts src/image-generation/index.ts src/loaders/index.ts src/extractor/index.ts src/mcp/index.ts src/memory/index.ts src/model-listing/index.ts src/observability/index.ts src/pipeline/index.ts src/skills/index.ts src/streaming/index.ts src/tool/index.ts src/ui/index.ts src/transcription/index.ts src/vector-store/index.ts --format esm --dts --sourcemap --clean",
130
+ "build": "tsup src/index.ts src/agent/index.ts src/hooks/index.ts src/request/index.ts src/internal/agent.ts src/audio-generation/index.ts src/completion/index.ts src/embeddings/index.ts src/evals/index.ts src/image-generation/index.ts src/loaders/index.ts src/extractor/index.ts src/mcp/index.ts src/memory/index.ts src/model-listing/index.ts src/observability/index.ts src/pipeline/index.ts src/skills/index.ts src/streaming/index.ts src/tool/index.ts src/ui/index.ts src/transcription/index.ts src/vector-store/index.ts --format esm --dts --sourcemap --clean",
123
131
  "test": "vitest run",
124
132
  "typecheck": "tsc --noEmit"
125
133
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/completion/create-completion.ts","../src/completion/documents.ts","../src/completion/request.ts"],"sourcesContent":["import { toProviderJsonSchema, type ZodSchema } from \"../schema/zod-schema\";\nimport type {\n AssistantContent,\n CompletionModel,\n CompletionRequest,\n CompletionResponse,\n CompletionStreamEvent,\n Document,\n JsonObject,\n JsonValue,\n Message as MessageType,\n StreamingCompletionModel,\n ToolChoice,\n ToolDefinition,\n Usage,\n} from \"./types\";\nimport { assertCompletionRequestSupported, Message, textFromAssistantContent } from \"./types\";\n\nexport type CreateCompletionInput = string | MessageType | MessageType[];\n\nexport type CreateCompletionBaseOptions = {\n input?: CreateCompletionInput | undefined;\n messages?: MessageType[] | undefined;\n instructions?: string | undefined;\n documents?: Document[] | undefined;\n tools?: ToolDefinition[] | undefined;\n temperature?: number | undefined;\n maxTokens?: number | undefined;\n toolChoice?: ToolChoice | undefined;\n outputSchema?: JsonObject | undefined;\n params?: JsonValue | undefined;\n};\n\nexport type CreateCompletionOptions = CreateCompletionBaseOptions;\n\nexport type CreateCompletionStreamOptions = CreateCompletionBaseOptions;\n\nexport type CreateParsedCompletionOptions<T> = Omit<CreateCompletionBaseOptions, \"outputSchema\"> & {\n schema: ZodSchema<T>;\n};\n\nexport type CreateCompletionResult<RawResponse = unknown> = {\n text: string;\n content: AssistantContent[];\n usage: Usage;\n response: CompletionResponse<RawResponse>;\n};\n\nexport type CreateParsedCompletionResult<\n T,\n RawResponse = unknown,\n> = CreateCompletionResult<RawResponse> & {\n data: T;\n};\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\nexport function createCompletion<Model extends CompletionModel>(\n model: Model,\n options: CreateCompletionOptions,\n): Promise<CreateCompletionResult<RawResponseOf<Model>>> {\n return sendCompletion(model, options);\n}\n\nexport function createCompletionStream<Model extends StreamingCompletionModel>(\n model: Model,\n options: CreateCompletionStreamOptions,\n): AsyncIterable<CompletionStreamEvent<RawResponseOf<Model>>> {\n const request = toCompletionRequest(options);\n if (!isStreamingCompletionModel(model) || !model.capabilities.streaming) {\n throw new Error(\"This completion model does not support streaming\");\n }\n assertCompletionRequestSupported(model, request, { streaming: true });\n return model.streamCompletion(request) as AsyncIterable<\n CompletionStreamEvent<RawResponseOf<Model>>\n >;\n}\n\nexport async function createParsedCompletion<T, Model extends CompletionModel>(\n model: Model,\n options: CreateParsedCompletionOptions<T>,\n): Promise<CreateParsedCompletionResult<T, RawResponseOf<Model>>> {\n const { schema, ...completionOptions } = options;\n const request = toCompletionRequest(\n {\n ...completionOptions,\n outputSchema: toProviderJsonSchema(schema),\n },\n \"createParsedCompletion\",\n );\n assertCompletionRequestSupported(model, request);\n const response = (await model.completion(request)) as CompletionResponse<RawResponseOf<Model>>;\n const text = textFromAssistantContent(response.choice);\n return {\n data: parseCompletionData(text, schema),\n text,\n content: response.choice,\n usage: response.usage,\n response,\n };\n}\n\nasync function sendCompletion<Model extends CompletionModel>(\n model: Model,\n options: CreateCompletionOptions,\n): Promise<CreateCompletionResult<RawResponseOf<Model>>> {\n const request = toCompletionRequest(options);\n assertCompletionRequestSupported(model, request);\n const response = (await model.completion(request)) as CompletionResponse<RawResponseOf<Model>>;\n return {\n text: textFromAssistantContent(response.choice),\n content: response.choice,\n usage: response.usage,\n response,\n };\n}\n\nfunction toCompletionRequest(\n options: CreateCompletionBaseOptions,\n helperName = \"createCompletion\",\n): CompletionRequest {\n const chatHistory = [\n ...messagesFromMessages(options.messages),\n ...messagesFromInput(options.input),\n ];\n\n if (chatHistory.length === 0) {\n throw new Error(`${helperName} requires input or messages.`);\n }\n\n const request: CompletionRequest = {\n chatHistory,\n documents: [...(options.documents ?? [])],\n tools: [...(options.tools ?? [])],\n };\n\n if (options.instructions !== undefined && options.instructions.length > 0) {\n request.instructions = options.instructions;\n }\n if (options.temperature !== undefined) request.temperature = options.temperature;\n if (options.maxTokens !== undefined) request.maxTokens = options.maxTokens;\n if (options.toolChoice !== undefined) request.toolChoice = options.toolChoice;\n if (options.outputSchema !== undefined) request.outputSchema = options.outputSchema;\n if (options.params !== undefined) request.additionalParams = options.params;\n\n return request;\n}\n\nfunction messagesFromInput(input: CreateCompletionInput | undefined): MessageType[] {\n if (input === undefined) {\n return [];\n }\n if (typeof input === \"string\") {\n return [Message.user(input)];\n }\n if (Array.isArray(input)) {\n return normalizeMessageArray(input, \"input\");\n }\n if (!isCoreMessage(input)) {\n throw new TypeError(\"input must be a string, Message, or Message[].\");\n }\n return [input];\n}\n\nfunction messagesFromMessages(messages: MessageType[] | undefined): MessageType[] {\n return messages === undefined ? [] : normalizeMessageArray(messages, \"messages\");\n}\n\nfunction normalizeMessageArray(\n messages: MessageType[],\n fieldName: \"input\" | \"messages\",\n): MessageType[] {\n if (!messages.every(isCoreMessage)) {\n throw new TypeError(`${fieldName} must contain only Message values.`);\n }\n\n return [...messages];\n}\n\nfunction isCoreMessage(value: unknown): value is MessageType {\n if (!isRecord(value)) {\n return false;\n }\n\n if (value.role === \"system\") {\n return typeof value.content === \"string\";\n }\n\n if (value.role === \"user\") {\n return Array.isArray(value.content) && value.content.every(isUserContent);\n }\n\n if (value.role === \"assistant\") {\n return (\n (value.id === undefined || typeof value.id === \"string\") &&\n Array.isArray(value.content) &&\n value.content.every(isAssistantContent)\n );\n }\n\n if (value.role === \"tool\") {\n return Array.isArray(value.content) && value.content.every(isToolContent);\n }\n\n return false;\n}\n\nfunction isUserContent(value: unknown): boolean {\n if (!isRecord(value)) {\n return false;\n }\n\n if (value.type === \"text\") {\n return typeof value.text === \"string\";\n }\n\n if (value.type === \"image\") {\n return isImageContent(value);\n }\n\n if (value.type === \"document\") {\n return isDocumentContent(value);\n }\n\n return false;\n}\n\nfunction isAssistantContent(value: unknown): boolean {\n if (!isRecord(value)) {\n return false;\n }\n\n if (value.type === \"text\") {\n return typeof value.text === \"string\";\n }\n\n if (value.type === \"reasoning\") {\n return (\n typeof value.text === \"string\" &&\n (value.id === undefined || typeof value.id === \"string\") &&\n (value.content === undefined || Array.isArray(value.content))\n );\n }\n\n if (value.type === \"tool_call\") {\n return (\n typeof value.id === \"string\" &&\n (value.callId === undefined || typeof value.callId === \"string\") &&\n isRecord(value.function) &&\n typeof value.function.name === \"string\" &&\n \"arguments\" in value.function\n );\n }\n\n if (value.type === \"image\") {\n return isImageContent(value);\n }\n\n return false;\n}\n\nfunction isToolContent(value: unknown): boolean {\n return (\n isRecord(value) &&\n value.type === \"tool_result\" &&\n typeof value.id === \"string\" &&\n (value.callId === undefined || typeof value.callId === \"string\") &&\n Array.isArray(value.content) &&\n value.content.every(isToolResultContent)\n );\n}\n\nfunction isToolResultContent(value: unknown): boolean {\n if (!isRecord(value)) {\n return false;\n }\n\n if (value.type === \"text\") {\n return typeof value.text === \"string\";\n }\n\n if (value.type === \"image\") {\n return (\n typeof value.data === \"string\" &&\n (value.mediaType === undefined || typeof value.mediaType === \"string\")\n );\n }\n\n return false;\n}\n\nfunction isImageContent(value: Record<string, unknown>): boolean {\n if (!isRecord(value.source)) {\n return false;\n }\n\n if (value.source.type === \"url\") {\n return typeof value.source.url === \"string\";\n }\n\n if (value.source.type === \"base64\") {\n return typeof value.source.data === \"string\" && typeof value.source.mediaType === \"string\";\n }\n\n return false;\n}\n\nfunction isDocumentContent(value: Record<string, unknown>): boolean {\n if (!isRecord(value.source)) {\n return false;\n }\n\n if (value.source.type === \"url\") {\n return typeof value.source.url === \"string\" && typeof value.source.mediaType === \"string\";\n }\n\n if (value.source.type === \"base64\") {\n return typeof value.source.data === \"string\" && typeof value.source.mediaType === \"string\";\n }\n\n if (value.source.type === \"text\") {\n return (\n typeof value.source.text === \"string\" &&\n (value.source.mediaType === undefined || typeof value.source.mediaType === \"string\")\n );\n }\n\n return false;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nexport function isStreamingCompletionModel(\n model: CompletionModel,\n): model is StreamingCompletionModel {\n return typeof (model as { streamCompletion?: unknown }).streamCompletion === \"function\";\n}\n\nfunction parseCompletionData<T>(text: string, schema: ZodSchema<T>): T {\n let json: unknown;\n try {\n json = JSON.parse(text);\n } catch (error) {\n throw new Error(\"createParsedCompletion expected the model response to be valid JSON.\", {\n cause: error,\n });\n }\n\n return schema.parse(json);\n}\n","import { type Document, Message, type Message as MessageType } from \"./types\";\n\nexport function normalizeDocuments(documents: Document[]): MessageType | undefined {\n if (documents.length === 0) {\n return undefined;\n }\n\n return Message.user(documents.map(formatDocument).join(\"\\n\"));\n}\n\nexport function formatDocument(document: Document): string {\n return `<file id: ${document.id}>\\n${formatDocumentBody(document)}\\n</file>\\n`;\n}\n\nfunction formatDocumentBody(document: Document): string {\n const metadata = formatMetadata(document.additionalProps);\n return metadata === undefined ? document.text : `${metadata}\\n${document.text}`;\n}\n\nfunction formatMetadata(additionalProps: Record<string, string> | undefined): string | undefined {\n if (additionalProps === undefined) {\n return undefined;\n }\n\n const entries = Object.entries(additionalProps).sort(([left], [right]) =>\n left.localeCompare(right),\n );\n if (entries.length === 0) {\n return undefined;\n }\n\n const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(\" \");\n return `<metadata ${metadata} />`;\n}\n","import type {\n CompletionModel,\n CompletionRequest,\n CompletionResponse,\n Document,\n JsonObject,\n JsonValue,\n Message as MessageType,\n ToolChoice,\n ToolDefinition,\n} from \"./types\";\nimport { assertCompletionRequestSupported } from \"./types\";\n\nexport class CompletionRequestBuilder<M extends CompletionModel = CompletionModel> {\n private requestModel: string | undefined;\n private instructionBlocks: string[] = [];\n private history: MessageType[] = [];\n private docs: Document[] = [];\n private toolDefs: ToolDefinition[] = [];\n private temp: number | undefined;\n private maxTokenCount: number | undefined;\n private choice: ToolChoice | undefined;\n private params: JsonValue | undefined;\n private schema: JsonObject | undefined;\n\n constructor(\n private readonly model: M,\n private readonly promptMessage: MessageType,\n ) {}\n\n modelOverride(model: string | undefined): this {\n this.requestModel = model;\n return this;\n }\n\n instructions(instructions: string | undefined): this {\n if (instructions !== undefined && instructions.length > 0) {\n this.instructionBlocks.push(instructions);\n }\n return this;\n }\n\n messages(messages: MessageType[]): this {\n this.history.push(...messages);\n return this;\n }\n\n documents(documents: Document[]): this {\n this.docs.push(...documents);\n return this;\n }\n\n tools(tools: ToolDefinition[]): this {\n this.toolDefs.push(...tools);\n return this;\n }\n\n temperature(temperature: number | undefined): this {\n this.temp = temperature;\n return this;\n }\n\n maxTokens(maxTokens: number | undefined): this {\n this.maxTokenCount = maxTokens;\n return this;\n }\n\n toolChoice(toolChoice: ToolChoice | undefined): this {\n this.choice = toolChoice;\n return this;\n }\n\n additionalParams(additionalParams: JsonValue | undefined): this {\n this.params = additionalParams;\n return this;\n }\n\n outputSchema(outputSchema: JsonObject | undefined): this {\n this.schema = outputSchema;\n return this;\n }\n\n build(): CompletionRequest {\n const instructions = this.buildInstructions();\n const request: CompletionRequest = {\n chatHistory: [...this.history, this.promptMessage],\n documents: [...this.docs],\n tools: [...this.toolDefs],\n };\n\n if (this.requestModel !== undefined) request.model = this.requestModel;\n if (instructions !== undefined) request.instructions = instructions;\n if (this.temp !== undefined) request.temperature = this.temp;\n if (this.maxTokenCount !== undefined) request.maxTokens = this.maxTokenCount;\n if (this.choice !== undefined) request.toolChoice = this.choice;\n if (this.params !== undefined) request.additionalParams = this.params;\n if (this.schema !== undefined) request.outputSchema = this.schema;\n\n return request;\n }\n\n async send(): Promise<CompletionResponse> {\n const request = this.build();\n assertCompletionRequestSupported(this.model, request);\n return this.model.completion(request);\n }\n\n private buildInstructions(): string | undefined {\n return this.instructionBlocks.length === 0 ? undefined : this.instructionBlocks.join(\"\\n\\n\");\n }\n}\n"],"mappings":"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","names":[]}