@assistant-ui/react 0.9.2 → 0.9.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.
- package/dist/model-context/ModelContextTypes.d.ts +1 -26
- package/dist/model-context/ModelContextTypes.d.ts.map +1 -1
- package/dist/model-context/ModelContextTypes.js.map +1 -1
- package/dist/model-context/ModelContextTypes.mjs.map +1 -1
- package/dist/model-context/index.d.ts +2 -1
- package/dist/model-context/index.d.ts.map +1 -1
- package/dist/model-context/index.js.map +1 -1
- package/dist/model-context/index.mjs.map +1 -1
- package/dist/model-context/tool.d.ts +1 -1
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/tool.js.map +1 -1
- package/dist/model-context/tool.mjs.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts +1 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantTool.mjs.map +1 -1
- package/dist/runtimes/index.d.ts +0 -1
- package/dist/runtimes/index.d.ts.map +1 -1
- package/dist/runtimes/index.js +1 -6
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/index.mjs +1 -7
- package/dist/runtimes/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/model-context/ModelContextTypes.ts +1 -52
- package/src/model-context/index.ts +2 -1
- package/src/model-context/tool.ts +1 -1
- package/src/model-context/useAssistantTool.tsx +1 -1
- package/src/runtimes/index.ts +0 -4
- package/dist/model-context/type-path-utils.d.ts +0 -19
- package/dist/model-context/type-path-utils.d.ts.map +0 -1
- package/dist/model-context/type-path-utils.js +0 -19
- package/dist/model-context/type-path-utils.js.map +0 -1
- package/dist/model-context/type-path-utils.mjs +0 -1
- package/dist/model-context/type-path-utils.mjs.map +0 -1
- package/dist/runtimes/streams/toolResultStream.d.ts +0 -5
- package/dist/runtimes/streams/toolResultStream.d.ts.map +0 -1
- package/dist/runtimes/streams/toolResultStream.js +0 -94
- package/dist/runtimes/streams/toolResultStream.js.map +0 -1
- package/dist/runtimes/streams/toolResultStream.mjs +0 -68
- package/dist/runtimes/streams/toolResultStream.mjs.map +0 -1
- package/src/model-context/type-path-utils.ts +0 -32
- package/src/runtimes/streams/toolResultStream.ts +0 -88
@@ -1,7 +1,6 @@
|
|
1
1
|
import { z } from "zod";
|
2
|
-
import type { JSONSchema7 } from "json-schema";
|
3
2
|
import { Unsubscribe } from "../types/Unsubscribe";
|
4
|
-
import {
|
3
|
+
import { Tool } from "assistant-stream";
|
5
4
|
export declare const LanguageModelV1CallSettingsSchema: z.ZodObject<{
|
6
5
|
maxTokens: z.ZodOptional<z.ZodNumber>;
|
7
6
|
temperature: z.ZodOptional<z.ZodNumber>;
|
@@ -42,29 +41,6 @@ export declare const LanguageModelConfigSchema: z.ZodObject<{
|
|
42
41
|
modelName?: string | undefined;
|
43
42
|
}>;
|
44
43
|
export type LanguageModelConfig = z.infer<typeof LanguageModelConfigSchema>;
|
45
|
-
type ToolExecutionContext = {
|
46
|
-
toolCallId: string;
|
47
|
-
abortSignal: AbortSignal;
|
48
|
-
};
|
49
|
-
type ReadableStreamIterator<T> = ReadableStream<T> & AsyncGenerator<T, void, unknown>;
|
50
|
-
interface ToolCallReader<TArgs> {
|
51
|
-
get<PathT extends TypePath<TArgs>>(...fieldPath: PathT): Promise<TypeAtPath<TArgs, PathT>>;
|
52
|
-
stream<PathT extends TypePath<TArgs>>(...fieldPath: PathT): ReadableStreamIterator<DeepPartial<TypeAtPath<TArgs, PathT>>>;
|
53
|
-
forEach<PathT extends TypePath<TArgs>>(...fieldPath: PathT): TypeAtPath<TArgs, PathT> extends Array<infer U> ? ReadableStreamIterator<U> : never;
|
54
|
-
}
|
55
|
-
export type ToolExecuteFunction<TArgs, TResult> = (args: TArgs, context: ToolExecutionContext) => TResult | Promise<TResult>;
|
56
|
-
export type ToolStreamCallFunction<TArgs, TResult> = (controller: ToolCallReader<TArgs>, context: ToolExecutionContext) => TResult | Promise<TResult>;
|
57
|
-
type OnSchemaValidationErrorFunction<TResult> = ToolExecuteFunction<unknown, TResult>;
|
58
|
-
export type Tool<TArgs = unknown, TResult = unknown> = {
|
59
|
-
description?: string | undefined;
|
60
|
-
parameters: z.ZodSchema<TArgs> | JSONSchema7;
|
61
|
-
execute?: ToolExecuteFunction<TArgs, TResult>;
|
62
|
-
/**
|
63
|
-
* @deprecated TODO not yet implemented
|
64
|
-
*/
|
65
|
-
experimental_streamCall?: ToolStreamCallFunction<TArgs, TResult>;
|
66
|
-
experimental_onSchemaValidationError?: OnSchemaValidationErrorFunction<TResult>;
|
67
|
-
};
|
68
44
|
export type ModelContext = {
|
69
45
|
priority?: number | undefined;
|
70
46
|
system?: string | undefined;
|
@@ -77,5 +53,4 @@ export type ModelContextProvider = {
|
|
77
53
|
subscribe?: (callback: () => void) => Unsubscribe;
|
78
54
|
};
|
79
55
|
export declare const mergeModelContexts: (configSet: Set<ModelContextProvider>) => ModelContext;
|
80
|
-
export {};
|
81
56
|
//# sourceMappingURL=ModelContextTypes.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ModelContextTypes.d.ts","sourceRoot":"","sources":["../../src/model-context/ModelContextTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
1
|
+
{"version":3,"file":"ModelContextTypes.d.ts","sourceRoot":"","sources":["../../src/model-context/ModelContextTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;EAQ5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACnD,YAAY,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,WAAW,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,GAAG,CAAC,oBAAoB,CAAC,KACnC,YAyCF,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/ModelContextTypes.ts"],"sourcesContent":["import { z } from \"zod\";\nimport
|
1
|
+
{"version":3,"sources":["../../src/model-context/ModelContextTypes.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Unsubscribe } from \"../types/Unsubscribe\";\nimport { Tool } from \"assistant-stream\";\n\nexport const LanguageModelV1CallSettingsSchema = z.object({\n maxTokens: z.number().int().positive().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n presencePenalty: z.number().optional(),\n frequencyPenalty: z.number().optional(),\n seed: z.number().int().optional(),\n headers: z.record(z.string().optional()).optional(),\n});\n\nexport type LanguageModelV1CallSettings = z.infer<\n typeof LanguageModelV1CallSettingsSchema\n>;\n\nexport const LanguageModelConfigSchema = z.object({\n apiKey: z.string().optional(),\n baseUrl: z.string().optional(),\n modelName: z.string().optional(),\n});\n\nexport type LanguageModelConfig = z.infer<typeof LanguageModelConfigSchema>;\n\nexport type ModelContext = {\n priority?: number | undefined;\n system?: string | undefined;\n tools?: Record<string, Tool<any, any>> | undefined;\n callSettings?: LanguageModelV1CallSettings | undefined;\n config?: LanguageModelConfig | undefined;\n};\n\nexport type ModelContextProvider = {\n getModelContext: () => ModelContext;\n subscribe?: (callback: () => void) => Unsubscribe;\n};\n\nexport const mergeModelContexts = (\n configSet: Set<ModelContextProvider>,\n): ModelContext => {\n const configs = Array.from(configSet)\n .map((c) => c.getModelContext())\n .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));\n\n return configs.reduce((acc, config) => {\n if (config.system) {\n if (acc.system) {\n // TODO should the separator be configurable?\n acc.system += `\\n\\n${config.system}`;\n } else {\n acc.system = config.system;\n }\n }\n if (config.tools) {\n for (const [name, tool] of Object.entries(config.tools)) {\n const existing = acc.tools?.[name];\n if (existing && existing !== tool) {\n throw new Error(\n `You tried to define a tool with the name ${name}, but it already exists.`,\n );\n }\n\n if (!acc.tools) acc.tools = {};\n acc.tools[name] = tool;\n }\n }\n if (config.config) {\n acc.config = {\n ...acc.config,\n ...config.config,\n };\n }\n if (config.callSettings) {\n acc.callSettings = {\n ...acc.callSettings,\n ...config.callSettings,\n };\n }\n return acc;\n }, {} as ModelContext);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAIX,IAAM,oCAAoC,aAAE,OAAO;AAAA,EACxD,WAAW,aAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,aAAa,aAAE,OAAO,EAAE,SAAS;AAAA,EACjC,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,iBAAiB,aAAE,OAAO,EAAE,SAAS;AAAA,EACrC,kBAAkB,aAAE,OAAO,EAAE,SAAS;AAAA,EACtC,MAAM,aAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChC,SAAS,aAAE,OAAO,aAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;AACpD,CAAC;AAMM,IAAM,4BAA4B,aAAE,OAAO;AAAA,EAChD,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,WAAW,aAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAiBM,IAAM,qBAAqB,CAChC,cACiB;AACjB,QAAM,UAAU,MAAM,KAAK,SAAS,EACjC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC9B,KAAK,CAAC,GAAG,OAAO,EAAE,YAAY,MAAM,EAAE,YAAY,EAAE;AAEvD,SAAO,QAAQ,OAAO,CAAC,KAAK,WAAW;AACrC,QAAI,OAAO,QAAQ;AACjB,UAAI,IAAI,QAAQ;AAEd,YAAI,UAAU;AAAA;AAAA,EAAO,OAAO,MAAM;AAAA,MACpC,OAAO;AACL,YAAI,SAAS,OAAO;AAAA,MACtB;AAAA,IACF;AACA,QAAI,OAAO,OAAO;AAChB,iBAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,OAAO,KAAK,GAAG;AACvD,cAAM,WAAW,IAAI,QAAQ,IAAI;AACjC,YAAI,YAAY,aAAa,MAAM;AACjC,gBAAM,IAAI;AAAA,YACR,4CAA4C,IAAI;AAAA,UAClD;AAAA,QACF;AAEA,YAAI,CAAC,IAAI,MAAO,KAAI,QAAQ,CAAC;AAC7B,YAAI,MAAM,IAAI,IAAI;AAAA,MACpB;AAAA,IACF;AACA,QAAI,OAAO,QAAQ;AACjB,UAAI,SAAS;AAAA,QACX,GAAG,IAAI;AAAA,QACP,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,QAAI,OAAO,cAAc;AACvB,UAAI,eAAe;AAAA,QACjB,GAAG,IAAI;AAAA,QACP,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAiB;AACvB;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/ModelContextTypes.ts"],"sourcesContent":["import { z } from \"zod\";\nimport
|
1
|
+
{"version":3,"sources":["../../src/model-context/ModelContextTypes.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Unsubscribe } from \"../types/Unsubscribe\";\nimport { Tool } from \"assistant-stream\";\n\nexport const LanguageModelV1CallSettingsSchema = z.object({\n maxTokens: z.number().int().positive().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n presencePenalty: z.number().optional(),\n frequencyPenalty: z.number().optional(),\n seed: z.number().int().optional(),\n headers: z.record(z.string().optional()).optional(),\n});\n\nexport type LanguageModelV1CallSettings = z.infer<\n typeof LanguageModelV1CallSettingsSchema\n>;\n\nexport const LanguageModelConfigSchema = z.object({\n apiKey: z.string().optional(),\n baseUrl: z.string().optional(),\n modelName: z.string().optional(),\n});\n\nexport type LanguageModelConfig = z.infer<typeof LanguageModelConfigSchema>;\n\nexport type ModelContext = {\n priority?: number | undefined;\n system?: string | undefined;\n tools?: Record<string, Tool<any, any>> | undefined;\n callSettings?: LanguageModelV1CallSettings | undefined;\n config?: LanguageModelConfig | undefined;\n};\n\nexport type ModelContextProvider = {\n getModelContext: () => ModelContext;\n subscribe?: (callback: () => void) => Unsubscribe;\n};\n\nexport const mergeModelContexts = (\n configSet: Set<ModelContextProvider>,\n): ModelContext => {\n const configs = Array.from(configSet)\n .map((c) => c.getModelContext())\n .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));\n\n return configs.reduce((acc, config) => {\n if (config.system) {\n if (acc.system) {\n // TODO should the separator be configurable?\n acc.system += `\\n\\n${config.system}`;\n } else {\n acc.system = config.system;\n }\n }\n if (config.tools) {\n for (const [name, tool] of Object.entries(config.tools)) {\n const existing = acc.tools?.[name];\n if (existing && existing !== tool) {\n throw new Error(\n `You tried to define a tool with the name ${name}, but it already exists.`,\n );\n }\n\n if (!acc.tools) acc.tools = {};\n acc.tools[name] = tool;\n }\n }\n if (config.config) {\n acc.config = {\n ...acc.config,\n ...config.config,\n };\n }\n if (config.callSettings) {\n acc.callSettings = {\n ...acc.callSettings,\n ...config.callSettings,\n };\n }\n return acc;\n }, {} as ModelContext);\n};\n"],"mappings":";AAAA,SAAS,SAAS;AAIX,IAAM,oCAAoC,EAAE,OAAO;AAAA,EACxD,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,EACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;AACpD,CAAC;AAMM,IAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAiBM,IAAM,qBAAqB,CAChC,cACiB;AACjB,QAAM,UAAU,MAAM,KAAK,SAAS,EACjC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC9B,KAAK,CAAC,GAAG,OAAO,EAAE,YAAY,MAAM,EAAE,YAAY,EAAE;AAEvD,SAAO,QAAQ,OAAO,CAAC,KAAK,WAAW;AACrC,QAAI,OAAO,QAAQ;AACjB,UAAI,IAAI,QAAQ;AAEd,YAAI,UAAU;AAAA;AAAA,EAAO,OAAO,MAAM;AAAA,MACpC,OAAO;AACL,YAAI,SAAS,OAAO;AAAA,MACtB;AAAA,IACF;AACA,QAAI,OAAO,OAAO;AAChB,iBAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,OAAO,KAAK,GAAG;AACvD,cAAM,WAAW,IAAI,QAAQ,IAAI;AACjC,YAAI,YAAY,aAAa,MAAM;AACjC,gBAAM,IAAI;AAAA,YACR,4CAA4C,IAAI;AAAA,UAClD;AAAA,QACF;AAEA,YAAI,CAAC,IAAI,MAAO,KAAI,QAAQ,CAAC;AAC7B,YAAI,MAAM,IAAI,IAAI;AAAA,MACpB;AAAA,IACF;AACA,QAAI,OAAO,QAAQ;AACjB,UAAI,SAAS;AAAA,QACX,GAAG,IAAI;AAAA,QACP,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,QAAI,OAAO,cAAc;AACvB,UAAI,eAAe;AAAA,QACjB,GAAG,IAAI;AAAA,QACP,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAiB;AACvB;","names":[]}
|
@@ -12,7 +12,8 @@ ModelContext as AssistantConfig,
|
|
12
12
|
/**
|
13
13
|
* @deprecated This type was renamed to `ModelContextProvider`.
|
14
14
|
*/
|
15
|
-
ModelContextProvider as AssistantConfigProvider, ModelContext, ModelContextProvider,
|
15
|
+
ModelContextProvider as AssistantConfigProvider, ModelContext, ModelContextProvider, } from "./ModelContextTypes";
|
16
|
+
export type { Tool } from "assistant-stream";
|
16
17
|
export { tool } from "./tool";
|
17
18
|
/**
|
18
19
|
* @deprecated This function was renamed to `makeAssistantVisible`.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,YAAY;AACV;;GAEG;AACH,YAAY,IAAI,eAAe;AAC/B;;GAEG;AACH,oBAAoB,IAAI,uBAAuB,EAC/C,YAAY,EACZ,oBAAoB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,YAAY;AACV;;GAEG;AACH,YAAY,IAAI,eAAe;AAC/B;;GAEG;AACH,oBAAoB,IAAI,uBAAuB,EAC/C,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,OAAO,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/index.ts"],"sourcesContent":["export { makeAssistantTool, type AssistantTool } from \"./makeAssistantTool\";\nexport {\n type AssistantToolUI,\n makeAssistantToolUI,\n} from \"./makeAssistantToolUI\";\nexport { useAssistantInstructions } from \"./useAssistantInstructions\";\nexport { useAssistantTool, type AssistantToolProps } from \"./useAssistantTool\";\nexport {\n useAssistantToolUI,\n type AssistantToolUIProps,\n} from \"./useAssistantToolUI\";\nexport { useInlineRender } from \"./useInlineRender\";\n\nexport type {\n /**\n * @deprecated This type was renamed to `ModelContext`.\n */\n ModelContext as AssistantConfig,\n /**\n * @deprecated This type was renamed to `ModelContextProvider`.\n */\n ModelContextProvider as AssistantConfigProvider,\n ModelContext,\n ModelContextProvider,\n
|
1
|
+
{"version":3,"sources":["../../src/model-context/index.ts"],"sourcesContent":["export { makeAssistantTool, type AssistantTool } from \"./makeAssistantTool\";\nexport {\n type AssistantToolUI,\n makeAssistantToolUI,\n} from \"./makeAssistantToolUI\";\nexport { useAssistantInstructions } from \"./useAssistantInstructions\";\nexport { useAssistantTool, type AssistantToolProps } from \"./useAssistantTool\";\nexport {\n useAssistantToolUI,\n type AssistantToolUIProps,\n} from \"./useAssistantToolUI\";\nexport { useInlineRender } from \"./useInlineRender\";\n\nexport type {\n /**\n * @deprecated This type was renamed to `ModelContext`.\n */\n ModelContext as AssistantConfig,\n /**\n * @deprecated This type was renamed to `ModelContextProvider`.\n */\n ModelContextProvider as AssistantConfigProvider,\n ModelContext,\n ModelContextProvider,\n} from \"./ModelContextTypes\";\n\nexport type { Tool } from \"assistant-stream\";\n\nexport { tool } from \"./tool\";\n\n/**\n * @deprecated This function was renamed to `makeAssistantVisible`.\n */\nexport { makeAssistantVisible as makeAssistantReadable } from \"./makeAssistantVisible\";\nexport { makeAssistantVisible } from \"./makeAssistantVisible\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAsD;AACtD,iCAGO;AACP,sCAAyC;AACzC,8BAA0D;AAC1D,gCAGO;AACP,6BAAgC;AAiBhC,kBAAqB;AAKrB,kCAA8D;AAC9D,IAAAA,+BAAqC;","names":["import_makeAssistantVisible"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/index.ts"],"sourcesContent":["export { makeAssistantTool, type AssistantTool } from \"./makeAssistantTool\";\nexport {\n type AssistantToolUI,\n makeAssistantToolUI,\n} from \"./makeAssistantToolUI\";\nexport { useAssistantInstructions } from \"./useAssistantInstructions\";\nexport { useAssistantTool, type AssistantToolProps } from \"./useAssistantTool\";\nexport {\n useAssistantToolUI,\n type AssistantToolUIProps,\n} from \"./useAssistantToolUI\";\nexport { useInlineRender } from \"./useInlineRender\";\n\nexport type {\n /**\n * @deprecated This type was renamed to `ModelContext`.\n */\n ModelContext as AssistantConfig,\n /**\n * @deprecated This type was renamed to `ModelContextProvider`.\n */\n ModelContextProvider as AssistantConfigProvider,\n ModelContext,\n ModelContextProvider,\n
|
1
|
+
{"version":3,"sources":["../../src/model-context/index.ts"],"sourcesContent":["export { makeAssistantTool, type AssistantTool } from \"./makeAssistantTool\";\nexport {\n type AssistantToolUI,\n makeAssistantToolUI,\n} from \"./makeAssistantToolUI\";\nexport { useAssistantInstructions } from \"./useAssistantInstructions\";\nexport { useAssistantTool, type AssistantToolProps } from \"./useAssistantTool\";\nexport {\n useAssistantToolUI,\n type AssistantToolUIProps,\n} from \"./useAssistantToolUI\";\nexport { useInlineRender } from \"./useInlineRender\";\n\nexport type {\n /**\n * @deprecated This type was renamed to `ModelContext`.\n */\n ModelContext as AssistantConfig,\n /**\n * @deprecated This type was renamed to `ModelContextProvider`.\n */\n ModelContextProvider as AssistantConfigProvider,\n ModelContext,\n ModelContextProvider,\n} from \"./ModelContextTypes\";\n\nexport type { Tool } from \"assistant-stream\";\n\nexport { tool } from \"./tool\";\n\n/**\n * @deprecated This function was renamed to `makeAssistantVisible`.\n */\nexport { makeAssistantVisible as makeAssistantReadable } from \"./makeAssistantVisible\";\nexport { makeAssistantVisible } from \"./makeAssistantVisible\";\n"],"mappings":";AAAA,SAAS,yBAA6C;AACtD;AAAA,EAEE;AAAA,OACK;AACP,SAAS,gCAAgC;AACzC,SAAS,wBAAiD;AAC1D;AAAA,EACE;AAAA,OAEK;AACP,SAAS,uBAAuB;AAiBhC,SAAS,YAAY;AAKrB,SAAiC,4BAA6B;AAC9D,SAAS,wBAAAA,6BAA4B;","names":["makeAssistantVisible"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Schema, z } from "zod";
|
2
|
-
import { Tool } from "
|
2
|
+
import { Tool } from "assistant-stream";
|
3
3
|
export type inferParameters<PARAMETERS extends Tool<any, any>["parameters"]> = PARAMETERS extends Schema<any> ? PARAMETERS["_type"] : PARAMETERS extends z.ZodTypeAny ? z.infer<PARAMETERS> : never;
|
4
4
|
export declare function tool<TArgs extends Tool<any, any>["parameters"], TResult = any>(tool: {
|
5
5
|
description?: string | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/model-context/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/model-context/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,IACzE,UAAU,SAAS,MAAM,CAAC,GAAG,CAAC,GAC1B,UAAU,CAAC,OAAO,CAAC,GACnB,UAAU,SAAS,CAAC,CAAC,UAAU,GAC7B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GACnB,KAAK,CAAC;AAEd,wBAAgB,IAAI,CAClB,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,EAC1C,OAAO,GAAG,GAAG,EACb,IAAI,EAAE;IACN,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,WAAW,CAAC;KAC1B,KACE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAExC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"
|
1
|
+
{"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"assistant-stream\";\n\nexport type inferParameters<PARAMETERS extends Tool<any, any>[\"parameters\"]> =\n PARAMETERS extends Schema<any>\n ? PARAMETERS[\"_type\"]\n : PARAMETERS extends z.ZodTypeAny\n ? z.infer<PARAMETERS>\n : never;\n\nexport function tool<\n TArgs extends Tool<any, any>[\"parameters\"],\n TResult = any,\n>(tool: {\n description?: string | undefined;\n parameters: TArgs;\n execute?: (\n args: inferParameters<TArgs>,\n context: {\n toolCallId: string;\n abortSignal: AbortSignal;\n },\n ) => TResult | Promise<TResult>;\n}): Tool<inferParameters<TArgs>, TResult> {\n return tool;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,KAGdA,OAUwC;AACxC,SAAOA;AACT;","names":["tool"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"
|
1
|
+
{"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"assistant-stream\";\n\nexport type inferParameters<PARAMETERS extends Tool<any, any>[\"parameters\"]> =\n PARAMETERS extends Schema<any>\n ? PARAMETERS[\"_type\"]\n : PARAMETERS extends z.ZodTypeAny\n ? z.infer<PARAMETERS>\n : never;\n\nexport function tool<\n TArgs extends Tool<any, any>[\"parameters\"],\n TResult = any,\n>(tool: {\n description?: string | undefined;\n parameters: TArgs;\n execute?: (\n args: inferParameters<TArgs>,\n context: {\n toolCallId: string;\n abortSignal: AbortSignal;\n },\n ) => TResult | Promise<TResult>;\n}): Tool<inferParameters<TArgs>, TResult> {\n return tool;\n}\n"],"mappings":";AAUO,SAAS,KAGdA,OAUwC;AACxC,SAAOA;AACT;","names":["tool"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { ToolCallContentPartComponent } from "../types/ContentPartComponentTypes";
|
2
|
-
import type { Tool } from "
|
2
|
+
import type { Tool } from "assistant-stream";
|
3
3
|
export type AssistantToolProps<TArgs, TResult> = Tool<TArgs, TResult> & {
|
4
4
|
toolName: string;
|
5
5
|
render?: ToolCallContentPartComponent<TArgs, TResult> | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,OAAO,EAC7C,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAwBzC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {\n useAssistantRuntime,\n useToolUIsStore,\n} from \"../context/react/AssistantContext\";\nimport type { ToolCallContentPartComponent } from \"../types/ContentPartComponentTypes\";\nimport type { Tool } from \"
|
1
|
+
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {\n useAssistantRuntime,\n useToolUIsStore,\n} from \"../context/react/AssistantContext\";\nimport type { ToolCallContentPartComponent } from \"../types/ContentPartComponentTypes\";\nimport type { Tool } from \"assistant-stream\";\n\nexport type AssistantToolProps<TArgs, TResult> = Tool<TArgs, TResult> & {\n toolName: string;\n render?: ToolCallContentPartComponent<TArgs, TResult> | undefined;\n disabled?: boolean | undefined;\n};\n\nexport const useAssistantTool = <TArgs, TResult>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const assistantRuntime = useAssistantRuntime();\n const toolUIsStore = useToolUIsStore();\n\n useEffect(() => {\n return tool.render\n ? toolUIsStore.getState().setToolUI(tool.toolName, tool.render)\n : undefined;\n }, [toolUIsStore, tool.toolName, tool.render]);\n\n useEffect(() => {\n const { toolName, render, disabled, ...rest } = tool;\n if (disabled) return;\n\n const context = {\n tools: {\n [toolName]: rest,\n },\n };\n return assistantRuntime.registerModelContextProvider({\n getModelContext: () => context,\n });\n }, [assistantRuntime, tool]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0B;AAC1B,8BAGO;AAUA,IAAM,mBAAmB,CAC9B,SACG;AACH,QAAM,uBAAmB,6CAAoB;AAC7C,QAAM,mBAAe,yCAAgB;AAErC,8BAAU,MAAM;AACd,WAAO,KAAK,SACR,aAAa,SAAS,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM,IAC5D;AAAA,EACN,GAAG,CAAC,cAAc,KAAK,UAAU,KAAK,MAAM,CAAC;AAE7C,8BAAU,MAAM;AACd,UAAM,EAAE,UAAU,QAAQ,UAAU,GAAG,KAAK,IAAI;AAChD,QAAI,SAAU;AAEd,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,QACL,CAAC,QAAQ,GAAG;AAAA,MACd;AAAA,IACF;AACA,WAAO,iBAAiB,6BAA6B;AAAA,MACnD,iBAAiB,MAAM;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,kBAAkB,IAAI,CAAC;AAC7B;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {\n useAssistantRuntime,\n useToolUIsStore,\n} from \"../context/react/AssistantContext\";\nimport type { ToolCallContentPartComponent } from \"../types/ContentPartComponentTypes\";\nimport type { Tool } from \"
|
1
|
+
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {\n useAssistantRuntime,\n useToolUIsStore,\n} from \"../context/react/AssistantContext\";\nimport type { ToolCallContentPartComponent } from \"../types/ContentPartComponentTypes\";\nimport type { Tool } from \"assistant-stream\";\n\nexport type AssistantToolProps<TArgs, TResult> = Tool<TArgs, TResult> & {\n toolName: string;\n render?: ToolCallContentPartComponent<TArgs, TResult> | undefined;\n disabled?: boolean | undefined;\n};\n\nexport const useAssistantTool = <TArgs, TResult>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const assistantRuntime = useAssistantRuntime();\n const toolUIsStore = useToolUIsStore();\n\n useEffect(() => {\n return tool.render\n ? toolUIsStore.getState().setToolUI(tool.toolName, tool.render)\n : undefined;\n }, [toolUIsStore, tool.toolName, tool.render]);\n\n useEffect(() => {\n const { toolName, render, disabled, ...rest } = tool;\n if (disabled) return;\n\n const context = {\n tools: {\n [toolName]: rest,\n },\n };\n return assistantRuntime.registerModelContextProvider({\n getModelContext: () => context,\n });\n }, [assistantRuntime, tool]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAUA,IAAM,mBAAmB,CAC9B,SACG;AACH,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,eAAe,gBAAgB;AAErC,YAAU,MAAM;AACd,WAAO,KAAK,SACR,aAAa,SAAS,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM,IAC5D;AAAA,EACN,GAAG,CAAC,cAAc,KAAK,UAAU,KAAK,MAAM,CAAC;AAE7C,YAAU,MAAM;AACd,UAAM,EAAE,UAAU,QAAQ,UAAU,GAAG,KAAK,IAAI;AAChD,QAAI,SAAU;AAEd,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,QACL,CAAC,QAAQ,GAAG;AAAA,MACd;AAAA,IACF;AACA,WAAO,iBAAiB,6BAA6B;AAAA,MACnD,iBAAiB,MAAM;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,kBAAkB,IAAI,CAAC;AAC7B;","names":[]}
|
package/dist/runtimes/index.d.ts
CHANGED
@@ -3,6 +3,5 @@ export * from "./core";
|
|
3
3
|
export * from "./external-store";
|
4
4
|
export * from "./local";
|
5
5
|
export * from "./remote-thread-list";
|
6
|
-
export { toolResultStream as unstable_toolResultStream, unstable_runPendingTools, } from "./streams/toolResultStream";
|
7
6
|
export { ExportedMessageRepository } from "./utils/MessageRepository";
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AAErC,OAAO,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/runtimes/index.js
CHANGED
@@ -21,9 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
21
21
|
// src/runtimes/index.ts
|
22
22
|
var runtimes_exports = {};
|
23
23
|
__export(runtimes_exports, {
|
24
|
-
ExportedMessageRepository: () => import_MessageRepository.ExportedMessageRepository
|
25
|
-
unstable_runPendingTools: () => import_toolResultStream.unstable_runPendingTools,
|
26
|
-
unstable_toolResultStream: () => import_toolResultStream.toolResultStream
|
24
|
+
ExportedMessageRepository: () => import_MessageRepository.ExportedMessageRepository
|
27
25
|
});
|
28
26
|
module.exports = __toCommonJS(runtimes_exports);
|
29
27
|
__reExport(runtimes_exports, require("./adapters/index.js"), module.exports);
|
@@ -31,13 +29,10 @@ __reExport(runtimes_exports, require("./core/index.js"), module.exports);
|
|
31
29
|
__reExport(runtimes_exports, require("./external-store/index.js"), module.exports);
|
32
30
|
__reExport(runtimes_exports, require("./local/index.js"), module.exports);
|
33
31
|
__reExport(runtimes_exports, require("./remote-thread-list/index.js"), module.exports);
|
34
|
-
var import_toolResultStream = require("./streams/toolResultStream.js");
|
35
32
|
var import_MessageRepository = require("./utils/MessageRepository.js");
|
36
33
|
// Annotate the CommonJS export names for ESM import in node:
|
37
34
|
0 && (module.exports = {
|
38
35
|
ExportedMessageRepository,
|
39
|
-
unstable_runPendingTools,
|
40
|
-
unstable_toolResultStream,
|
41
36
|
...require("./adapters/index.js"),
|
42
37
|
...require("./core/index.js"),
|
43
38
|
...require("./external-store/index.js"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport {
|
1
|
+
{"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport { ExportedMessageRepository } from \"./utils/MessageRepository\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAc,gCAAd;AACA,6BAAc,4BADd;AAEA,6BAAc,sCAFd;AAGA,6BAAc,6BAHd;AAIA,6BAAc,0CAJd;AAMA,+BAA0C;","names":[]}
|
package/dist/runtimes/index.mjs
CHANGED
@@ -4,14 +4,8 @@ export * from "./core/index.mjs";
|
|
4
4
|
export * from "./external-store/index.mjs";
|
5
5
|
export * from "./local/index.mjs";
|
6
6
|
export * from "./remote-thread-list/index.mjs";
|
7
|
-
import {
|
8
|
-
toolResultStream,
|
9
|
-
unstable_runPendingTools
|
10
|
-
} from "./streams/toolResultStream.mjs";
|
11
7
|
import { ExportedMessageRepository } from "./utils/MessageRepository.mjs";
|
12
8
|
export {
|
13
|
-
ExportedMessageRepository
|
14
|
-
unstable_runPendingTools,
|
15
|
-
toolResultStream as unstable_toolResultStream
|
9
|
+
ExportedMessageRepository
|
16
10
|
};
|
17
11
|
//# sourceMappingURL=index.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport {
|
1
|
+
{"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport { ExportedMessageRepository } from \"./utils/MessageRepository\";\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,iCAAiC;","names":[]}
|
package/package.json
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
"conversational-ui",
|
29
29
|
"conversational-ai"
|
30
30
|
],
|
31
|
-
"version": "0.9.
|
31
|
+
"version": "0.9.3",
|
32
32
|
"license": "MIT",
|
33
33
|
"exports": {
|
34
34
|
".": {
|
@@ -62,10 +62,10 @@
|
|
62
62
|
"@radix-ui/react-slot": "^1.2.0",
|
63
63
|
"@radix-ui/react-use-callback-ref": "^1.1.1",
|
64
64
|
"@radix-ui/react-use-escape-keydown": "^1.1.1",
|
65
|
-
"assistant-stream": "^0.1.
|
65
|
+
"assistant-stream": "^0.1.3",
|
66
66
|
"nanoid": "5.1.5",
|
67
67
|
"react-textarea-autosize": "^8.5.9",
|
68
|
-
"zod": "^3.24.
|
68
|
+
"zod": "^3.24.3",
|
69
69
|
"zustand": "^5.0.3"
|
70
70
|
},
|
71
71
|
"peerDependencies": {
|
@@ -88,7 +88,7 @@
|
|
88
88
|
"@types/json-schema": "^7.0.15",
|
89
89
|
"@types/node": "^22.14.1",
|
90
90
|
"eslint": "^9",
|
91
|
-
"eslint-config-next": "15.3.
|
91
|
+
"eslint-config-next": "15.3.1",
|
92
92
|
"tsx": "^4.19.3",
|
93
93
|
"vitest": "^3.1.1",
|
94
94
|
"@assistant-ui/tsbuildutils": "0.0.1",
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { z } from "zod";
|
2
|
-
import type { JSONSchema7 } from "json-schema";
|
3
2
|
import { Unsubscribe } from "../types/Unsubscribe";
|
4
|
-
import {
|
3
|
+
import { Tool } from "assistant-stream";
|
5
4
|
|
6
5
|
export const LanguageModelV1CallSettingsSchema = z.object({
|
7
6
|
maxTokens: z.number().int().positive().optional(),
|
@@ -25,56 +24,6 @@ export const LanguageModelConfigSchema = z.object({
|
|
25
24
|
|
26
25
|
export type LanguageModelConfig = z.infer<typeof LanguageModelConfigSchema>;
|
27
26
|
|
28
|
-
type ToolExecutionContext = {
|
29
|
-
toolCallId: string;
|
30
|
-
abortSignal: AbortSignal;
|
31
|
-
};
|
32
|
-
|
33
|
-
type ReadableStreamIterator<T> = ReadableStream<T> &
|
34
|
-
AsyncGenerator<T, void, unknown>;
|
35
|
-
|
36
|
-
interface ToolCallReader<TArgs> {
|
37
|
-
get<PathT extends TypePath<TArgs>>(
|
38
|
-
...fieldPath: PathT
|
39
|
-
): Promise<TypeAtPath<TArgs, PathT>>;
|
40
|
-
|
41
|
-
stream<PathT extends TypePath<TArgs>>(
|
42
|
-
...fieldPath: PathT
|
43
|
-
): ReadableStreamIterator<DeepPartial<TypeAtPath<TArgs, PathT>>>;
|
44
|
-
|
45
|
-
forEach<PathT extends TypePath<TArgs>>(
|
46
|
-
...fieldPath: PathT
|
47
|
-
): TypeAtPath<TArgs, PathT> extends Array<infer U>
|
48
|
-
? ReadableStreamIterator<U>
|
49
|
-
: never;
|
50
|
-
}
|
51
|
-
|
52
|
-
export type ToolExecuteFunction<TArgs, TResult> = (
|
53
|
-
args: TArgs,
|
54
|
-
context: ToolExecutionContext,
|
55
|
-
) => TResult | Promise<TResult>;
|
56
|
-
|
57
|
-
export type ToolStreamCallFunction<TArgs, TResult> = (
|
58
|
-
controller: ToolCallReader<TArgs>,
|
59
|
-
context: ToolExecutionContext,
|
60
|
-
) => TResult | Promise<TResult>;
|
61
|
-
|
62
|
-
type OnSchemaValidationErrorFunction<TResult> = ToolExecuteFunction<
|
63
|
-
unknown,
|
64
|
-
TResult
|
65
|
-
>;
|
66
|
-
|
67
|
-
export type Tool<TArgs = unknown, TResult = unknown> = {
|
68
|
-
description?: string | undefined;
|
69
|
-
parameters: z.ZodSchema<TArgs> | JSONSchema7;
|
70
|
-
execute?: ToolExecuteFunction<TArgs, TResult>;
|
71
|
-
/**
|
72
|
-
* @deprecated TODO not yet implemented
|
73
|
-
*/
|
74
|
-
experimental_streamCall?: ToolStreamCallFunction<TArgs, TResult>;
|
75
|
-
experimental_onSchemaValidationError?: OnSchemaValidationErrorFunction<TResult>;
|
76
|
-
};
|
77
|
-
|
78
27
|
export type ModelContext = {
|
79
28
|
priority?: number | undefined;
|
80
29
|
system?: string | undefined;
|
@@ -6,7 +6,7 @@ import {
|
|
6
6
|
useToolUIsStore,
|
7
7
|
} from "../context/react/AssistantContext";
|
8
8
|
import type { ToolCallContentPartComponent } from "../types/ContentPartComponentTypes";
|
9
|
-
import type { Tool } from "
|
9
|
+
import type { Tool } from "assistant-stream";
|
10
10
|
|
11
11
|
export type AssistantToolProps<TArgs, TResult> = Tool<TArgs, TResult> & {
|
12
12
|
toolName: string;
|
package/src/runtimes/index.ts
CHANGED
@@ -4,8 +4,4 @@ export * from "./external-store";
|
|
4
4
|
export * from "./local";
|
5
5
|
export * from "./remote-thread-list";
|
6
6
|
|
7
|
-
export {
|
8
|
-
toolResultStream as unstable_toolResultStream,
|
9
|
-
unstable_runPendingTools,
|
10
|
-
} from "./streams/toolResultStream";
|
11
7
|
export { ExportedMessageRepository } from "./utils/MessageRepository";
|
@@ -1,19 +0,0 @@
|
|
1
|
-
type AsNumber<K> = K extends `${infer N extends number}` ? N | K : K;
|
2
|
-
type TupleIndex<T extends readonly any[]> = Exclude<keyof T, keyof any[]>;
|
3
|
-
type IsTuple<T extends readonly any[]> = number extends T["length"] ? false : true;
|
4
|
-
export type TypePath<T> = [] | (T extends object ? T extends readonly any[] ? IsTuple<T> extends true ? {
|
5
|
-
[K in TupleIndex<T>]: [AsNumber<K>, ...TypePath<T[K]>];
|
6
|
-
}[TupleIndex<T>] : [number, ...TypePath<T[number]>] : {
|
7
|
-
[K in keyof T]: [K, ...TypePath<T[K]>];
|
8
|
-
}[keyof T] : []);
|
9
|
-
export type TypeAtPath<T, P extends readonly any[]> = P extends [
|
10
|
-
infer Head,
|
11
|
-
...infer Rest
|
12
|
-
] ? Head extends keyof T ? TypeAtPath<T[Head], Rest> : never : T;
|
13
|
-
export type DeepPartial<T> = T extends readonly any[] ? readonly DeepPartial<T[number]>[] : T extends {
|
14
|
-
[key: string]: any;
|
15
|
-
} ? {
|
16
|
-
readonly [K in keyof T]?: DeepPartial<T[K]>;
|
17
|
-
} : T;
|
18
|
-
export {};
|
19
|
-
//# sourceMappingURL=type-path-utils.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"type-path-utils.d.ts","sourceRoot":"","sources":["../../src/model-context/type-path-utils.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrE,KAAK,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;AAC1E,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC/D,KAAK,GACL,IAAI,CAAC;AAET,MAAM,MAAM,QAAQ,CAAC,CAAC,IAClB,EAAE,GACF,CAAC,CAAC,SAAS,MAAM,GACb,CAAC,SAAS,SAAS,GAAG,EAAE,GACtB,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACrB;KACG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChB,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAClC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,GACrD,EAAE,CAAC,CAAC;AAEZ,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS;IAC9D,MAAM,IAAI;IACV,GAAG,MAAM,IAAI;CACd,GACG,IAAI,SAAS,MAAM,CAAC,GAClB,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GACzB,KAAK,GACP,CAAC,CAAC;AAEN,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,EAAE,GACjD,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GACjC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC"}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
-
for (let key of __getOwnPropNames(from))
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
-
}
|
12
|
-
return to;
|
13
|
-
};
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
|
-
|
16
|
-
// src/model-context/type-path-utils.ts
|
17
|
-
var type_path_utils_exports = {};
|
18
|
-
module.exports = __toCommonJS(type_path_utils_exports);
|
19
|
-
//# sourceMappingURL=type-path-utils.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/type-path-utils.ts"],"sourcesContent":["type AsNumber<K> = K extends `${infer N extends number}` ? N | K : K;\ntype TupleIndex<T extends readonly any[]> = Exclude<keyof T, keyof any[]>;\ntype IsTuple<T extends readonly any[]> = number extends T[\"length\"]\n ? false\n : true;\n\nexport type TypePath<T> =\n | []\n | (T extends object\n ? T extends readonly any[]\n ? IsTuple<T> extends true\n ? {\n [K in TupleIndex<T>]: [AsNumber<K>, ...TypePath<T[K]>];\n }[TupleIndex<T>]\n : [number, ...TypePath<T[number]>]\n : { [K in keyof T]: [K, ...TypePath<T[K]>] }[keyof T]\n : []);\n\nexport type TypeAtPath<T, P extends readonly any[]> = P extends [\n infer Head,\n ...infer Rest,\n]\n ? Head extends keyof T\n ? TypeAtPath<T[Head], Rest>\n : never\n : T;\n\nexport type DeepPartial<T> = T extends readonly any[]\n ? readonly DeepPartial<T[number]>[]\n : T extends { [key: string]: any }\n ? { readonly [K in keyof T]?: DeepPartial<T[K]> }\n : T;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=type-path-utils.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import { Tool } from "../../model-context/ModelContextTypes";
|
2
|
-
import { AssistantMessage, ToolExecutionStream } from "assistant-stream";
|
3
|
-
export declare function unstable_runPendingTools(message: AssistantMessage, tools: Record<string, Tool<any, any>> | undefined, abortSignal: AbortSignal): Promise<AssistantMessage>;
|
4
|
-
export declare function toolResultStream(tools: Record<string, Tool<any, any>> | undefined, abortSignal: AbortSignal): ToolExecutionStream;
|
5
|
-
//# sourceMappingURL=toolResultStream.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"toolResultStream.d.ts","sourceRoot":"","sources":["../../../src/runtimes/streams/toolResultStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA4CzE,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,6BA6BzB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,uBAKzB"}
|
@@ -1,94 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __export = (target, all) => {
|
7
|
-
for (var name in all)
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
-
};
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/runtimes/streams/toolResultStream.ts
|
21
|
-
var toolResultStream_exports = {};
|
22
|
-
__export(toolResultStream_exports, {
|
23
|
-
toolResultStream: () => toolResultStream,
|
24
|
-
unstable_runPendingTools: () => unstable_runPendingTools
|
25
|
-
});
|
26
|
-
module.exports = __toCommonJS(toolResultStream_exports);
|
27
|
-
var import_zod = require("zod");
|
28
|
-
var import_assistant_stream = require("assistant-stream");
|
29
|
-
var import_assistant_stream2 = require("assistant-stream");
|
30
|
-
function getToolResponse(tools, abortSignal, toolCall) {
|
31
|
-
const tool = tools?.[toolCall.toolName];
|
32
|
-
if (!tool || !tool.execute) return void 0;
|
33
|
-
let executeFn = tool.execute;
|
34
|
-
if (tool.parameters instanceof import_zod.z.ZodType) {
|
35
|
-
const result = tool.parameters.safeParse(toolCall.args);
|
36
|
-
if (!result.success) {
|
37
|
-
executeFn = tool.experimental_onSchemaValidationError ?? (() => {
|
38
|
-
throw new Error(
|
39
|
-
`Function parameter validation failed. ${JSON.stringify(result.error.issues)}`
|
40
|
-
);
|
41
|
-
});
|
42
|
-
}
|
43
|
-
}
|
44
|
-
const getResult = async () => {
|
45
|
-
const result = await executeFn(toolCall.args, {
|
46
|
-
toolCallId: toolCall.toolCallId,
|
47
|
-
abortSignal
|
48
|
-
});
|
49
|
-
if (result instanceof import_assistant_stream2.ToolResponse) return result;
|
50
|
-
return new import_assistant_stream2.ToolResponse({
|
51
|
-
result: result === void 0 ? "<no result>" : result
|
52
|
-
});
|
53
|
-
};
|
54
|
-
return getResult();
|
55
|
-
}
|
56
|
-
async function unstable_runPendingTools(message, tools, abortSignal) {
|
57
|
-
for (const part of message.parts) {
|
58
|
-
if (part.type === "tool-call") {
|
59
|
-
const promiseOrUndefined = getToolResponse(tools, abortSignal, part);
|
60
|
-
if (promiseOrUndefined) {
|
61
|
-
const result = await promiseOrUndefined;
|
62
|
-
const updatedParts = message.parts.map((p) => {
|
63
|
-
if (p.type === "tool-call" && p.toolCallId === part.toolCallId) {
|
64
|
-
return {
|
65
|
-
...p,
|
66
|
-
state: "result",
|
67
|
-
artifact: result.artifact,
|
68
|
-
result: result.result,
|
69
|
-
isError: result.isError
|
70
|
-
};
|
71
|
-
}
|
72
|
-
return p;
|
73
|
-
});
|
74
|
-
message = {
|
75
|
-
...message,
|
76
|
-
parts: updatedParts,
|
77
|
-
content: updatedParts
|
78
|
-
};
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
82
|
-
return message;
|
83
|
-
}
|
84
|
-
function toolResultStream(tools, abortSignal) {
|
85
|
-
return new import_assistant_stream.ToolExecutionStream(
|
86
|
-
(toolCall) => getToolResponse(tools, abortSignal, toolCall)
|
87
|
-
);
|
88
|
-
}
|
89
|
-
// Annotate the CommonJS export names for ESM import in node:
|
90
|
-
0 && (module.exports = {
|
91
|
-
toolResultStream,
|
92
|
-
unstable_runPendingTools
|
93
|
-
});
|
94
|
-
//# sourceMappingURL=toolResultStream.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/streams/toolResultStream.ts"],"sourcesContent":["import { Tool } from \"../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport { AssistantMessage, ToolExecutionStream } from \"assistant-stream\";\nimport { ToolResponse } from \"assistant-stream\";\n\nfunction getToolResponse(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n toolCall: {\n toolCallId: string;\n toolName: string;\n args: unknown;\n },\n) {\n const tool = tools?.[toolCall.toolName];\n if (!tool || !tool.execute) return undefined;\n\n let executeFn = tool.execute;\n\n if (tool.parameters instanceof z.ZodType) {\n const result = tool.parameters.safeParse(toolCall.args);\n if (!result.success) {\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(result.error.issues)}`,\n );\n });\n }\n }\n\n const getResult = async () => {\n const result = await executeFn(toolCall.args, {\n toolCallId: toolCall.toolCallId,\n abortSignal,\n });\n if (result instanceof ToolResponse) return result;\n return new ToolResponse({\n result: result === undefined ? \"<no result>\" : result,\n });\n };\n\n return getResult();\n}\n\nexport async function unstable_runPendingTools(\n message: AssistantMessage,\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n // TODO parallel tool calling\n for (const part of message.parts) {\n if (part.type === \"tool-call\") {\n const promiseOrUndefined = getToolResponse(tools, abortSignal, part);\n if (promiseOrUndefined) {\n const result = await promiseOrUndefined;\n const updatedParts = message.parts.map((p) => {\n if (p.type === \"tool-call\" && p.toolCallId === part.toolCallId) {\n return {\n ...p,\n state: \"result\" as const,\n artifact: result.artifact,\n result: result.result,\n isError: result.isError,\n };\n }\n return p;\n });\n message = {\n ...message,\n parts: updatedParts,\n content: updatedParts,\n };\n }\n }\n }\n return message;\n}\n\nexport function toolResultStream(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n return new ToolExecutionStream((toolCall) =>\n getToolResponse(tools, abortSignal, toolCall),\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAkB;AAClB,8BAAsD;AACtD,IAAAA,2BAA6B;AAE7B,SAAS,gBACP,OACA,aACA,UAKA;AACA,QAAM,OAAO,QAAQ,SAAS,QAAQ;AACtC,MAAI,CAAC,QAAQ,CAAC,KAAK,QAAS,QAAO;AAEnC,MAAI,YAAY,KAAK;AAErB,MAAI,KAAK,sBAAsB,aAAE,SAAS;AACxC,UAAM,SAAS,KAAK,WAAW,UAAU,SAAS,IAAI;AACtD,QAAI,CAAC,OAAO,SAAS;AACnB,kBACE,KAAK,yCACJ,MAAM;AACL,cAAM,IAAI;AAAA,UACR,yCAAyC,KAAK,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,YAAY,YAAY;AAC5B,UAAM,SAAS,MAAM,UAAU,SAAS,MAAM;AAAA,MAC5C,YAAY,SAAS;AAAA,MACrB;AAAA,IACF,CAAC;AACD,QAAI,kBAAkB,sCAAc,QAAO;AAC3C,WAAO,IAAI,sCAAa;AAAA,MACtB,QAAQ,WAAW,SAAY,gBAAgB;AAAA,IACjD,CAAC;AAAA,EACH;AAEA,SAAO,UAAU;AACnB;AAEA,eAAsB,yBACpB,SACA,OACA,aACA;AAEA,aAAW,QAAQ,QAAQ,OAAO;AAChC,QAAI,KAAK,SAAS,aAAa;AAC7B,YAAM,qBAAqB,gBAAgB,OAAO,aAAa,IAAI;AACnE,UAAI,oBAAoB;AACtB,cAAM,SAAS,MAAM;AACrB,cAAM,eAAe,QAAQ,MAAM,IAAI,CAAC,MAAM;AAC5C,cAAI,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK,YAAY;AAC9D,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,OAAO;AAAA,cACP,UAAU,OAAO;AAAA,cACjB,QAAQ,OAAO;AAAA,cACf,SAAS,OAAO;AAAA,YAClB;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AACD,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,iBACd,OACA,aACA;AACA,SAAO,IAAI;AAAA,IAAoB,CAAC,aAC9B,gBAAgB,OAAO,aAAa,QAAQ;AAAA,EAC9C;AACF;","names":["import_assistant_stream"]}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
// src/runtimes/streams/toolResultStream.ts
|
2
|
-
import { z } from "zod";
|
3
|
-
import { ToolExecutionStream } from "assistant-stream";
|
4
|
-
import { ToolResponse } from "assistant-stream";
|
5
|
-
function getToolResponse(tools, abortSignal, toolCall) {
|
6
|
-
const tool = tools?.[toolCall.toolName];
|
7
|
-
if (!tool || !tool.execute) return void 0;
|
8
|
-
let executeFn = tool.execute;
|
9
|
-
if (tool.parameters instanceof z.ZodType) {
|
10
|
-
const result = tool.parameters.safeParse(toolCall.args);
|
11
|
-
if (!result.success) {
|
12
|
-
executeFn = tool.experimental_onSchemaValidationError ?? (() => {
|
13
|
-
throw new Error(
|
14
|
-
`Function parameter validation failed. ${JSON.stringify(result.error.issues)}`
|
15
|
-
);
|
16
|
-
});
|
17
|
-
}
|
18
|
-
}
|
19
|
-
const getResult = async () => {
|
20
|
-
const result = await executeFn(toolCall.args, {
|
21
|
-
toolCallId: toolCall.toolCallId,
|
22
|
-
abortSignal
|
23
|
-
});
|
24
|
-
if (result instanceof ToolResponse) return result;
|
25
|
-
return new ToolResponse({
|
26
|
-
result: result === void 0 ? "<no result>" : result
|
27
|
-
});
|
28
|
-
};
|
29
|
-
return getResult();
|
30
|
-
}
|
31
|
-
async function unstable_runPendingTools(message, tools, abortSignal) {
|
32
|
-
for (const part of message.parts) {
|
33
|
-
if (part.type === "tool-call") {
|
34
|
-
const promiseOrUndefined = getToolResponse(tools, abortSignal, part);
|
35
|
-
if (promiseOrUndefined) {
|
36
|
-
const result = await promiseOrUndefined;
|
37
|
-
const updatedParts = message.parts.map((p) => {
|
38
|
-
if (p.type === "tool-call" && p.toolCallId === part.toolCallId) {
|
39
|
-
return {
|
40
|
-
...p,
|
41
|
-
state: "result",
|
42
|
-
artifact: result.artifact,
|
43
|
-
result: result.result,
|
44
|
-
isError: result.isError
|
45
|
-
};
|
46
|
-
}
|
47
|
-
return p;
|
48
|
-
});
|
49
|
-
message = {
|
50
|
-
...message,
|
51
|
-
parts: updatedParts,
|
52
|
-
content: updatedParts
|
53
|
-
};
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
return message;
|
58
|
-
}
|
59
|
-
function toolResultStream(tools, abortSignal) {
|
60
|
-
return new ToolExecutionStream(
|
61
|
-
(toolCall) => getToolResponse(tools, abortSignal, toolCall)
|
62
|
-
);
|
63
|
-
}
|
64
|
-
export {
|
65
|
-
toolResultStream,
|
66
|
-
unstable_runPendingTools
|
67
|
-
};
|
68
|
-
//# sourceMappingURL=toolResultStream.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/streams/toolResultStream.ts"],"sourcesContent":["import { Tool } from \"../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport { AssistantMessage, ToolExecutionStream } from \"assistant-stream\";\nimport { ToolResponse } from \"assistant-stream\";\n\nfunction getToolResponse(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n toolCall: {\n toolCallId: string;\n toolName: string;\n args: unknown;\n },\n) {\n const tool = tools?.[toolCall.toolName];\n if (!tool || !tool.execute) return undefined;\n\n let executeFn = tool.execute;\n\n if (tool.parameters instanceof z.ZodType) {\n const result = tool.parameters.safeParse(toolCall.args);\n if (!result.success) {\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(result.error.issues)}`,\n );\n });\n }\n }\n\n const getResult = async () => {\n const result = await executeFn(toolCall.args, {\n toolCallId: toolCall.toolCallId,\n abortSignal,\n });\n if (result instanceof ToolResponse) return result;\n return new ToolResponse({\n result: result === undefined ? \"<no result>\" : result,\n });\n };\n\n return getResult();\n}\n\nexport async function unstable_runPendingTools(\n message: AssistantMessage,\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n // TODO parallel tool calling\n for (const part of message.parts) {\n if (part.type === \"tool-call\") {\n const promiseOrUndefined = getToolResponse(tools, abortSignal, part);\n if (promiseOrUndefined) {\n const result = await promiseOrUndefined;\n const updatedParts = message.parts.map((p) => {\n if (p.type === \"tool-call\" && p.toolCallId === part.toolCallId) {\n return {\n ...p,\n state: \"result\" as const,\n artifact: result.artifact,\n result: result.result,\n isError: result.isError,\n };\n }\n return p;\n });\n message = {\n ...message,\n parts: updatedParts,\n content: updatedParts,\n };\n }\n }\n }\n return message;\n}\n\nexport function toolResultStream(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n return new ToolExecutionStream((toolCall) =>\n getToolResponse(tools, abortSignal, toolCall),\n );\n}\n"],"mappings":";AACA,SAAS,SAAS;AAClB,SAA2B,2BAA2B;AACtD,SAAS,oBAAoB;AAE7B,SAAS,gBACP,OACA,aACA,UAKA;AACA,QAAM,OAAO,QAAQ,SAAS,QAAQ;AACtC,MAAI,CAAC,QAAQ,CAAC,KAAK,QAAS,QAAO;AAEnC,MAAI,YAAY,KAAK;AAErB,MAAI,KAAK,sBAAsB,EAAE,SAAS;AACxC,UAAM,SAAS,KAAK,WAAW,UAAU,SAAS,IAAI;AACtD,QAAI,CAAC,OAAO,SAAS;AACnB,kBACE,KAAK,yCACJ,MAAM;AACL,cAAM,IAAI;AAAA,UACR,yCAAyC,KAAK,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,YAAY,YAAY;AAC5B,UAAM,SAAS,MAAM,UAAU,SAAS,MAAM;AAAA,MAC5C,YAAY,SAAS;AAAA,MACrB;AAAA,IACF,CAAC;AACD,QAAI,kBAAkB,aAAc,QAAO;AAC3C,WAAO,IAAI,aAAa;AAAA,MACtB,QAAQ,WAAW,SAAY,gBAAgB;AAAA,IACjD,CAAC;AAAA,EACH;AAEA,SAAO,UAAU;AACnB;AAEA,eAAsB,yBACpB,SACA,OACA,aACA;AAEA,aAAW,QAAQ,QAAQ,OAAO;AAChC,QAAI,KAAK,SAAS,aAAa;AAC7B,YAAM,qBAAqB,gBAAgB,OAAO,aAAa,IAAI;AACnE,UAAI,oBAAoB;AACtB,cAAM,SAAS,MAAM;AACrB,cAAM,eAAe,QAAQ,MAAM,IAAI,CAAC,MAAM;AAC5C,cAAI,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK,YAAY;AAC9D,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,OAAO;AAAA,cACP,UAAU,OAAO;AAAA,cACjB,QAAQ,OAAO;AAAA,cACf,SAAS,OAAO;AAAA,YAClB;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AACD,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,iBACd,OACA,aACA;AACA,SAAO,IAAI;AAAA,IAAoB,CAAC,aAC9B,gBAAgB,OAAO,aAAa,QAAQ;AAAA,EAC9C;AACF;","names":[]}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
type AsNumber<K> = K extends `${infer N extends number}` ? N | K : K;
|
2
|
-
type TupleIndex<T extends readonly any[]> = Exclude<keyof T, keyof any[]>;
|
3
|
-
type IsTuple<T extends readonly any[]> = number extends T["length"]
|
4
|
-
? false
|
5
|
-
: true;
|
6
|
-
|
7
|
-
export type TypePath<T> =
|
8
|
-
| []
|
9
|
-
| (T extends object
|
10
|
-
? T extends readonly any[]
|
11
|
-
? IsTuple<T> extends true
|
12
|
-
? {
|
13
|
-
[K in TupleIndex<T>]: [AsNumber<K>, ...TypePath<T[K]>];
|
14
|
-
}[TupleIndex<T>]
|
15
|
-
: [number, ...TypePath<T[number]>]
|
16
|
-
: { [K in keyof T]: [K, ...TypePath<T[K]>] }[keyof T]
|
17
|
-
: []);
|
18
|
-
|
19
|
-
export type TypeAtPath<T, P extends readonly any[]> = P extends [
|
20
|
-
infer Head,
|
21
|
-
...infer Rest,
|
22
|
-
]
|
23
|
-
? Head extends keyof T
|
24
|
-
? TypeAtPath<T[Head], Rest>
|
25
|
-
: never
|
26
|
-
: T;
|
27
|
-
|
28
|
-
export type DeepPartial<T> = T extends readonly any[]
|
29
|
-
? readonly DeepPartial<T[number]>[]
|
30
|
-
: T extends { [key: string]: any }
|
31
|
-
? { readonly [K in keyof T]?: DeepPartial<T[K]> }
|
32
|
-
: T;
|
@@ -1,88 +0,0 @@
|
|
1
|
-
import { Tool } from "../../model-context/ModelContextTypes";
|
2
|
-
import { z } from "zod";
|
3
|
-
import { AssistantMessage, ToolExecutionStream } from "assistant-stream";
|
4
|
-
import { ToolResponse } from "assistant-stream";
|
5
|
-
|
6
|
-
function getToolResponse(
|
7
|
-
tools: Record<string, Tool<any, any>> | undefined,
|
8
|
-
abortSignal: AbortSignal,
|
9
|
-
toolCall: {
|
10
|
-
toolCallId: string;
|
11
|
-
toolName: string;
|
12
|
-
args: unknown;
|
13
|
-
},
|
14
|
-
) {
|
15
|
-
const tool = tools?.[toolCall.toolName];
|
16
|
-
if (!tool || !tool.execute) return undefined;
|
17
|
-
|
18
|
-
let executeFn = tool.execute;
|
19
|
-
|
20
|
-
if (tool.parameters instanceof z.ZodType) {
|
21
|
-
const result = tool.parameters.safeParse(toolCall.args);
|
22
|
-
if (!result.success) {
|
23
|
-
executeFn =
|
24
|
-
tool.experimental_onSchemaValidationError ??
|
25
|
-
(() => {
|
26
|
-
throw new Error(
|
27
|
-
`Function parameter validation failed. ${JSON.stringify(result.error.issues)}`,
|
28
|
-
);
|
29
|
-
});
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
|
-
const getResult = async () => {
|
34
|
-
const result = await executeFn(toolCall.args, {
|
35
|
-
toolCallId: toolCall.toolCallId,
|
36
|
-
abortSignal,
|
37
|
-
});
|
38
|
-
if (result instanceof ToolResponse) return result;
|
39
|
-
return new ToolResponse({
|
40
|
-
result: result === undefined ? "<no result>" : result,
|
41
|
-
});
|
42
|
-
};
|
43
|
-
|
44
|
-
return getResult();
|
45
|
-
}
|
46
|
-
|
47
|
-
export async function unstable_runPendingTools(
|
48
|
-
message: AssistantMessage,
|
49
|
-
tools: Record<string, Tool<any, any>> | undefined,
|
50
|
-
abortSignal: AbortSignal,
|
51
|
-
) {
|
52
|
-
// TODO parallel tool calling
|
53
|
-
for (const part of message.parts) {
|
54
|
-
if (part.type === "tool-call") {
|
55
|
-
const promiseOrUndefined = getToolResponse(tools, abortSignal, part);
|
56
|
-
if (promiseOrUndefined) {
|
57
|
-
const result = await promiseOrUndefined;
|
58
|
-
const updatedParts = message.parts.map((p) => {
|
59
|
-
if (p.type === "tool-call" && p.toolCallId === part.toolCallId) {
|
60
|
-
return {
|
61
|
-
...p,
|
62
|
-
state: "result" as const,
|
63
|
-
artifact: result.artifact,
|
64
|
-
result: result.result,
|
65
|
-
isError: result.isError,
|
66
|
-
};
|
67
|
-
}
|
68
|
-
return p;
|
69
|
-
});
|
70
|
-
message = {
|
71
|
-
...message,
|
72
|
-
parts: updatedParts,
|
73
|
-
content: updatedParts,
|
74
|
-
};
|
75
|
-
}
|
76
|
-
}
|
77
|
-
}
|
78
|
-
return message;
|
79
|
-
}
|
80
|
-
|
81
|
-
export function toolResultStream(
|
82
|
-
tools: Record<string, Tool<any, any>> | undefined,
|
83
|
-
abortSignal: AbortSignal,
|
84
|
-
) {
|
85
|
-
return new ToolExecutionStream((toolCall) =>
|
86
|
-
getToolResponse(tools, abortSignal, toolCall),
|
87
|
-
);
|
88
|
-
}
|