veryfront 0.1.333 → 0.1.334
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/esm/deno.js +1 -1
- package/esm/src/tool/host-tools.d.ts +18 -8
- package/esm/src/tool/host-tools.d.ts.map +1 -1
- package/esm/src/tool/index.d.ts +2 -2
- package/esm/src/tool/index.d.ts.map +1 -1
- package/esm/src/tool/types.d.ts +7 -0
- package/esm/src/tool/types.d.ts.map +1 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/tool/host-tools.ts +34 -9
- package/src/src/tool/index.ts +6 -1
- package/src/src/tool/types.ts +8 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import type { JsonSchema } from "./schema/json-schema.js";
|
|
3
|
-
import type { Tool, ToolConfig, ToolExecutionContext } from "./types.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import type { Tool, ToolConfig, ToolExecutionContext, ToolSet } from "./types.js";
|
|
3
|
+
type HostToolExecute = {
|
|
4
|
+
bivarianceHack: (input: unknown, options?: ToolExecutionContext) => Promise<unknown> | unknown;
|
|
5
|
+
}["bivarianceHack"];
|
|
6
|
+
export type HostToolDefinition = {
|
|
7
|
+
id?: string;
|
|
8
|
+
type?: Tool["type"];
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
inputSchema?: unknown;
|
|
7
12
|
inputSchemaJson?: JsonSchema;
|
|
8
|
-
|
|
13
|
+
parameters?: unknown;
|
|
14
|
+
providerOptions?: unknown;
|
|
15
|
+
execute?: Tool["execute"] | HostToolExecute;
|
|
9
16
|
mcp?: ToolConfig["mcp"];
|
|
10
|
-
}
|
|
17
|
+
};
|
|
18
|
+
export type HostToolSet = Record<string, HostToolDefinition>;
|
|
11
19
|
export interface HostToolMaterializationOptions {
|
|
12
20
|
generateToolCallId?: (toolName: string) => string;
|
|
13
21
|
}
|
|
14
|
-
export declare function createToolsFromHostDefinitions(definitions:
|
|
22
|
+
export declare function createToolsFromHostDefinitions(definitions: HostToolSet, options?: HostToolMaterializationOptions): ToolSet;
|
|
23
|
+
export declare function createToolsFromHostDefinitions(definitions: Record<string, unknown>, options?: HostToolMaterializationOptions): ToolSet;
|
|
24
|
+
export {};
|
|
15
25
|
//# sourceMappingURL=host-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-tools.d.ts","sourceRoot":"","sources":["../../../src/src/tool/host-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-tools.d.ts","sourceRoot":"","sources":["../../../src/src/tool/host-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElF,KAAK,eAAe,GAAG;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAChG,CAAC,gBAAgB,CAAC,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;IAC5C,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAQ7D,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AAwCD,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC;AACX,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC"}
|
package/esm/src/tool/index.d.ts
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
45
|
import "../../_dnt.polyfills.js";
|
|
46
|
-
export type { RemoteToolSource, Tool, ToolConfig, ToolDefinition, ToolExecutionContext, ToolExecutionDataEvent, } from "./types.js";
|
|
46
|
+
export type { RemoteToolSource, Tool, ToolConfig, ToolDefinition, ToolExecutionContext, ToolExecutionDataEvent, ToolSet, } from "./types.js";
|
|
47
47
|
export { dynamicTool, tool } from "./factory.js";
|
|
48
48
|
export type { DynamicToolConfig } from "./factory.js";
|
|
49
49
|
export { createRemoteMCPToolSource } from "./remote-mcp.js";
|
|
@@ -51,7 +51,7 @@ export type { RemoteMCPToolSourceConfig } from "./remote-mcp.js";
|
|
|
51
51
|
export { createContext7ToolSource } from "./context7.js";
|
|
52
52
|
export type { Context7ToolSourceConfig } from "./context7.js";
|
|
53
53
|
export { createToolsFromHostDefinitions } from "./host-tools.js";
|
|
54
|
-
export type { HostToolDefinition, HostToolMaterializationOptions } from "./host-tools.js";
|
|
54
|
+
export type { HostToolDefinition, HostToolMaterializationOptions, HostToolSet, } from "./host-tools.js";
|
|
55
55
|
export { createToolsFromRemoteDefinitions, loadRemoteToolsFromSource, } from "./remote-source-tools.js";
|
|
56
56
|
export type { RemoteToolMaterializationOptions } from "./remote-source-tools.js";
|
|
57
57
|
export { toolRegistry } from "./registry.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/tool/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,YAAY,EACV,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/tool/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,YAAY,EACV,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/esm/src/tool/types.d.ts
CHANGED
|
@@ -111,6 +111,13 @@ export interface Tool<TInput = any, TOutput = any> {
|
|
|
111
111
|
/** MCP configuration */
|
|
112
112
|
mcp?: ToolConfig["mcp"];
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Runtime tool map keyed by the tool name exposed to an agent.
|
|
116
|
+
*
|
|
117
|
+
* Hosts can use this for already-materialized framework tools, including
|
|
118
|
+
* tools loaded from remote sources.
|
|
119
|
+
*/
|
|
120
|
+
export type ToolSet = Record<string, Tool<unknown, unknown>>;
|
|
114
121
|
/**
|
|
115
122
|
* Provider-facing tool definition used for model/tool registration.
|
|
116
123
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.334";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -2,15 +2,32 @@ import * as dntShim from "../../_dnt.shims.js";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { dynamicTool, tool } from "./factory.js";
|
|
4
4
|
import type { JsonSchema } from "./schema/json-schema.js";
|
|
5
|
-
import type { Tool, ToolConfig, ToolExecutionContext } from "./types.js";
|
|
5
|
+
import type { Tool, ToolConfig, ToolExecutionContext, ToolSet } from "./types.js";
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
type HostToolExecute = {
|
|
8
|
+
bivarianceHack: (input: unknown, options?: ToolExecutionContext) => Promise<unknown> | unknown;
|
|
9
|
+
}["bivarianceHack"];
|
|
10
|
+
|
|
11
|
+
export type HostToolDefinition = {
|
|
12
|
+
id?: string;
|
|
13
|
+
type?: Tool["type"];
|
|
14
|
+
title?: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
inputSchema?: unknown;
|
|
10
17
|
inputSchemaJson?: JsonSchema;
|
|
11
|
-
|
|
18
|
+
parameters?: unknown;
|
|
19
|
+
providerOptions?: unknown;
|
|
20
|
+
execute?: Tool["execute"] | HostToolExecute;
|
|
12
21
|
mcp?: ToolConfig["mcp"];
|
|
13
|
-
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type HostToolSet = Record<string, HostToolDefinition>;
|
|
25
|
+
|
|
26
|
+
type RunnableHostToolDefinition = HostToolDefinition & {
|
|
27
|
+
description: string;
|
|
28
|
+
inputSchema: z.ZodSchema<unknown>;
|
|
29
|
+
execute: HostToolExecute;
|
|
30
|
+
};
|
|
14
31
|
|
|
15
32
|
export interface HostToolMaterializationOptions {
|
|
16
33
|
generateToolCallId?: (toolName: string) => string;
|
|
@@ -26,7 +43,7 @@ function isZodSchema(value: unknown): value is z.ZodSchema<unknown> {
|
|
|
26
43
|
return typeof value._def.typeName === "string" || typeof value._def.type === "string";
|
|
27
44
|
}
|
|
28
45
|
|
|
29
|
-
function isHostToolDefinition(value: unknown): value is
|
|
46
|
+
function isHostToolDefinition(value: unknown): value is RunnableHostToolDefinition {
|
|
30
47
|
return (
|
|
31
48
|
isRecord(value) &&
|
|
32
49
|
typeof value.description === "string" &&
|
|
@@ -54,11 +71,19 @@ function normalizeExecutionContext(
|
|
|
54
71
|
};
|
|
55
72
|
}
|
|
56
73
|
|
|
74
|
+
export function createToolsFromHostDefinitions(
|
|
75
|
+
definitions: HostToolSet,
|
|
76
|
+
options?: HostToolMaterializationOptions,
|
|
77
|
+
): ToolSet;
|
|
78
|
+
export function createToolsFromHostDefinitions(
|
|
79
|
+
definitions: Record<string, unknown>,
|
|
80
|
+
options?: HostToolMaterializationOptions,
|
|
81
|
+
): ToolSet;
|
|
57
82
|
export function createToolsFromHostDefinitions(
|
|
58
83
|
definitions: Record<string, unknown>,
|
|
59
84
|
options: HostToolMaterializationOptions = {},
|
|
60
|
-
):
|
|
61
|
-
const tools:
|
|
85
|
+
): ToolSet {
|
|
86
|
+
const tools: ToolSet = {};
|
|
62
87
|
|
|
63
88
|
for (const [toolName, definition] of Object.entries(definitions)) {
|
|
64
89
|
if (!isHostToolDefinition(definition)) continue;
|
package/src/src/tool/index.ts
CHANGED
|
@@ -52,6 +52,7 @@ export type {
|
|
|
52
52
|
ToolDefinition,
|
|
53
53
|
ToolExecutionContext,
|
|
54
54
|
ToolExecutionDataEvent,
|
|
55
|
+
ToolSet,
|
|
55
56
|
} from "./types.js";
|
|
56
57
|
|
|
57
58
|
export { dynamicTool, tool } from "./factory.js";
|
|
@@ -61,7 +62,11 @@ export type { RemoteMCPToolSourceConfig } from "./remote-mcp.js";
|
|
|
61
62
|
export { createContext7ToolSource } from "./context7.js";
|
|
62
63
|
export type { Context7ToolSourceConfig } from "./context7.js";
|
|
63
64
|
export { createToolsFromHostDefinitions } from "./host-tools.js";
|
|
64
|
-
export type {
|
|
65
|
+
export type {
|
|
66
|
+
HostToolDefinition,
|
|
67
|
+
HostToolMaterializationOptions,
|
|
68
|
+
HostToolSet,
|
|
69
|
+
} from "./host-tools.js";
|
|
65
70
|
export {
|
|
66
71
|
createToolsFromRemoteDefinitions,
|
|
67
72
|
loadRemoteToolsFromSource,
|
package/src/src/tool/types.ts
CHANGED
|
@@ -135,6 +135,14 @@ export interface Tool<TInput = any, TOutput = any> {
|
|
|
135
135
|
mcp?: ToolConfig["mcp"];
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
/**
|
|
139
|
+
* Runtime tool map keyed by the tool name exposed to an agent.
|
|
140
|
+
*
|
|
141
|
+
* Hosts can use this for already-materialized framework tools, including
|
|
142
|
+
* tools loaded from remote sources.
|
|
143
|
+
*/
|
|
144
|
+
export type ToolSet = Record<string, Tool<unknown, unknown>>;
|
|
145
|
+
|
|
138
146
|
/**
|
|
139
147
|
* Provider-facing tool definition used for model/tool registration.
|
|
140
148
|
*/
|