@fatagnus/dink-convex 2.19.0 → 2.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentTools.d.ts +67 -3
- package/dist/agentTools.d.ts.map +1 -1
- package/dist/agentTools.js +64 -1
- package/dist/agentTools.js.map +1 -1
- package/package.json +1 -1
package/dist/agentTools.d.ts
CHANGED
|
@@ -6,13 +6,54 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module agentTools
|
|
8
8
|
*/
|
|
9
|
-
import type { ServiceDescriptor, MethodDescriptor } from "./introspect.js";
|
|
9
|
+
import type { ServiceDescriptor as IntrospectServiceDescriptor, MethodDescriptor as IntrospectMethodDescriptor } from "./introspect.js";
|
|
10
10
|
/**
|
|
11
11
|
* Action context type (minimal interface for fetch operations).
|
|
12
12
|
* In generated code, this will be the full Convex ActionCtx.
|
|
13
13
|
*/
|
|
14
14
|
interface ActionCtx {
|
|
15
15
|
}
|
|
16
|
+
interface CamelMethodAI {
|
|
17
|
+
whenToUse?: string;
|
|
18
|
+
whyToUse?: string;
|
|
19
|
+
howToUse?: string;
|
|
20
|
+
preconditions?: string[];
|
|
21
|
+
sideEffects?: string[];
|
|
22
|
+
relatedMethods?: string[];
|
|
23
|
+
scenarios?: string[];
|
|
24
|
+
toolGroup?: string;
|
|
25
|
+
}
|
|
26
|
+
interface CamelMethodDescriptor {
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
inputSchema?: Record<string, unknown>;
|
|
30
|
+
outputSchema?: Record<string, unknown>;
|
|
31
|
+
tags?: string[];
|
|
32
|
+
aiContext?: CamelMethodAI;
|
|
33
|
+
input_schema?: Record<string, unknown>;
|
|
34
|
+
output_schema?: Record<string, unknown>;
|
|
35
|
+
tool_group?: string;
|
|
36
|
+
ai_context?: IntrospectMethodDescriptor["ai_context"];
|
|
37
|
+
}
|
|
38
|
+
interface CamelServiceDescriptor {
|
|
39
|
+
name: string;
|
|
40
|
+
version: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
methods?: CamelMethodDescriptor[];
|
|
43
|
+
aiContext?: {
|
|
44
|
+
overview?: string;
|
|
45
|
+
capabilities?: string[];
|
|
46
|
+
limitations?: string[];
|
|
47
|
+
};
|
|
48
|
+
ai_context?: IntrospectServiceDescriptor["ai_context"];
|
|
49
|
+
related_services?: string[];
|
|
50
|
+
relatedServices?: string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* ServiceDescriptor accepted by dinkToolsFromDescriptor.
|
|
54
|
+
* Accepts both codegen (camelCase) and runtime (snake_case) formats.
|
|
55
|
+
*/
|
|
56
|
+
export type ServiceDescriptor = CamelServiceDescriptor;
|
|
16
57
|
/**
|
|
17
58
|
* Provider-neutral tool definition derived from Dink edge service methods.
|
|
18
59
|
*/
|
|
@@ -67,13 +108,13 @@ export interface DinkTool {
|
|
|
67
108
|
* Concatenates description, when_to_use, why_to_use, how_to_use,
|
|
68
109
|
* preconditions, and side_effects with labeled sections.
|
|
69
110
|
*/
|
|
70
|
-
export declare function buildDescription(method:
|
|
111
|
+
export declare function buildDescription(method: IntrospectMethodDescriptor): string;
|
|
71
112
|
/**
|
|
72
113
|
* Convert a ServiceDescriptor into an array of DinkToolDefinition objects.
|
|
73
114
|
*
|
|
74
115
|
* Optionally filter by method names and/or tool groups.
|
|
75
116
|
*/
|
|
76
|
-
export declare function descriptorToToolDefinitions(
|
|
117
|
+
export declare function descriptorToToolDefinitions(rawDescriptor: ServiceDescriptor, filter?: {
|
|
77
118
|
methods?: string[];
|
|
78
119
|
groups?: string[];
|
|
79
120
|
}): DinkToolDefinition[];
|
|
@@ -117,5 +158,28 @@ export declare function dinkToolsFromRuntime(ctx: ActionCtx, options: DinkToolsO
|
|
|
117
158
|
* @returns Tool map (Promise for runtime discovery)
|
|
118
159
|
*/
|
|
119
160
|
export declare function dinkTools(ctx: ActionCtx, serviceOrOptions: string | DinkToolsOptions): Promise<Record<string, DinkTool>>;
|
|
161
|
+
/**
|
|
162
|
+
* Converts a DinkTool map to a Vercel AI SDK tool map.
|
|
163
|
+
*
|
|
164
|
+
* This function does NOT depend on the `ai` package — the consumer passes
|
|
165
|
+
* `tool` and `jsonSchema` from their own import.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```ts
|
|
169
|
+
* import { tool, jsonSchema } from "ai";
|
|
170
|
+
* import { dinkTools, toAISDKTools } from "@fatagnus/dink-convex/agent";
|
|
171
|
+
*
|
|
172
|
+
* const tools = await dinkTools(ctx, "my-service");
|
|
173
|
+
* const aiTools = toAISDKTools(tools, { tool, jsonSchema });
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
export declare function toAISDKTools(dinkTools: Record<string, DinkTool>, sdk: {
|
|
177
|
+
tool: (config: {
|
|
178
|
+
description: string;
|
|
179
|
+
parameters: any;
|
|
180
|
+
execute: (args: any) => Promise<unknown>;
|
|
181
|
+
}) => any;
|
|
182
|
+
jsonSchema: (schema: any) => any;
|
|
183
|
+
}): Record<string, any>;
|
|
120
184
|
export {};
|
|
121
185
|
//# sourceMappingURL=agentTools.d.ts.map
|
package/dist/agentTools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../src/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../src/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,IAAI,2BAA2B,EAChD,gBAAgB,IAAI,0BAA0B,EAC/C,MAAM,iBAAiB,CAAC;AAQzB;;;GAGG;AACH,UAAU,SAAS;CAElB;AAOD,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;CACvD;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnF,UAAU,CAAC,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AA0CvD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,gDAAgD;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CA2B3E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,iBAAiB,EAChC,MAAM,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjD,kBAAkB,EAAE,CAmCtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,EACpD,OAAO,EAAE;IACP,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,GACA,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CA2C1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CA0CnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,EACd,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,GAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAOnC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnC,GAAG,EAAE;IACH,IAAI,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC;IAC1G,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAClC,GACA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAUrB"}
|
package/dist/agentTools.js
CHANGED
|
@@ -8,6 +8,42 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { callEdge, discoverEdges } from "./edgeRpc.js";
|
|
10
10
|
import { describeEdgeServices } from "./introspect.js";
|
|
11
|
+
function normalizeMethod(m) {
|
|
12
|
+
const ai = m.ai_context ?? (m.aiContext ? {
|
|
13
|
+
when_to_use: m.aiContext.whenToUse,
|
|
14
|
+
why_to_use: m.aiContext.whyToUse,
|
|
15
|
+
how_to_use: m.aiContext.howToUse,
|
|
16
|
+
preconditions: m.aiContext.preconditions,
|
|
17
|
+
side_effects: m.aiContext.sideEffects,
|
|
18
|
+
related_methods: m.aiContext.relatedMethods,
|
|
19
|
+
scenarios: m.aiContext.scenarios,
|
|
20
|
+
tool_group: m.aiContext.toolGroup,
|
|
21
|
+
} : undefined);
|
|
22
|
+
return {
|
|
23
|
+
name: m.name,
|
|
24
|
+
description: m.description,
|
|
25
|
+
input_schema: m.input_schema ?? m.inputSchema,
|
|
26
|
+
output_schema: m.output_schema ?? m.outputSchema,
|
|
27
|
+
tags: m.tags,
|
|
28
|
+
tool_group: m.tool_group ?? m.aiContext?.toolGroup,
|
|
29
|
+
ai_context: ai,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function normalizeDescriptor(d) {
|
|
33
|
+
const ai = d.ai_context ?? (d.aiContext ? {
|
|
34
|
+
overview: d.aiContext.overview,
|
|
35
|
+
capabilities: d.aiContext.capabilities,
|
|
36
|
+
limitations: d.aiContext.limitations,
|
|
37
|
+
} : undefined);
|
|
38
|
+
return {
|
|
39
|
+
name: d.name,
|
|
40
|
+
version: d.version,
|
|
41
|
+
description: d.description,
|
|
42
|
+
methods: (d.methods ?? []).map(normalizeMethod),
|
|
43
|
+
ai_context: ai,
|
|
44
|
+
related_services: d.related_services ?? d.relatedServices,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
11
47
|
// ============================================================================
|
|
12
48
|
// Helper functions
|
|
13
49
|
// ============================================================================
|
|
@@ -47,7 +83,8 @@ export function buildDescription(method) {
|
|
|
47
83
|
*
|
|
48
84
|
* Optionally filter by method names and/or tool groups.
|
|
49
85
|
*/
|
|
50
|
-
export function descriptorToToolDefinitions(
|
|
86
|
+
export function descriptorToToolDefinitions(rawDescriptor, filter) {
|
|
87
|
+
const descriptor = normalizeDescriptor(rawDescriptor);
|
|
51
88
|
const methods = descriptor.methods ?? [];
|
|
52
89
|
const definitions = [];
|
|
53
90
|
for (const method of methods) {
|
|
@@ -188,4 +225,30 @@ export function dinkTools(ctx, serviceOrOptions) {
|
|
|
188
225
|
}
|
|
189
226
|
return dinkToolsFromRuntime(ctx, serviceOrOptions);
|
|
190
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Converts a DinkTool map to a Vercel AI SDK tool map.
|
|
230
|
+
*
|
|
231
|
+
* This function does NOT depend on the `ai` package — the consumer passes
|
|
232
|
+
* `tool` and `jsonSchema` from their own import.
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```ts
|
|
236
|
+
* import { tool, jsonSchema } from "ai";
|
|
237
|
+
* import { dinkTools, toAISDKTools } from "@fatagnus/dink-convex/agent";
|
|
238
|
+
*
|
|
239
|
+
* const tools = await dinkTools(ctx, "my-service");
|
|
240
|
+
* const aiTools = toAISDKTools(tools, { tool, jsonSchema });
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
export function toAISDKTools(dinkTools, sdk) {
|
|
244
|
+
const aiTools = {};
|
|
245
|
+
for (const [name, dt] of Object.entries(dinkTools)) {
|
|
246
|
+
aiTools[name] = sdk.tool({
|
|
247
|
+
description: dt.description,
|
|
248
|
+
parameters: sdk.jsonSchema(dt.parameters),
|
|
249
|
+
execute: async (args) => dt.execute(args),
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
return aiTools;
|
|
253
|
+
}
|
|
191
254
|
//# sourceMappingURL=agentTools.js.map
|
package/dist/agentTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../src/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../src/agentTools.ts"],"names":[],"mappings":"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"}
|