@aeye/core 0.1.0
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/README.md +568 -0
- package/dist/agent.d.ts +85 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +81 -0
- package/dist/agent.js.map +1 -0
- package/dist/common.d.ts +161 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +456 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/prompt.d.ts +327 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +947 -0
- package/dist/prompt.js.map +1 -0
- package/dist/tool.d.ts +139 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +162 -0
- package/dist/tool.js.map +1 -0
- package/dist/types.d.ts +545 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/tool.d.ts
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { ZodType } from 'zod';
|
|
2
|
+
import { Fn } from './common';
|
|
3
|
+
import { Component, ComponentCompatible, Context, OptionalParams, ToolDefinition, Tuple } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for creating a Tool component.
|
|
6
|
+
* Tools extend AI capabilities by allowing interaction with external systems, APIs, or custom logic.
|
|
7
|
+
*
|
|
8
|
+
* @template TContext - The context type needed for the tool's operation.
|
|
9
|
+
* @template TMetadata - The metadata type needed during execution/streaming.
|
|
10
|
+
* @template TName - The name of the tool, typed for inference in parent components.
|
|
11
|
+
* @template TParams - The input parameters type for the tool.
|
|
12
|
+
* @template TOutput - The output type for the tool.
|
|
13
|
+
* @template TRefs - References to other components that this tool depends on.
|
|
14
|
+
*/
|
|
15
|
+
export interface ToolInput<TContext, TMetadata, TName extends string, TParams extends object, TOutput, TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>>> {
|
|
16
|
+
/** The unique name of the tool */
|
|
17
|
+
name: TName;
|
|
18
|
+
/** Brief description of the tool's purpose (passed to the AI model) */
|
|
19
|
+
description: string;
|
|
20
|
+
/** Optional function that returns the tool's description based on the context. The description is required for AI components but this allows the description to be refined before execution based on the context. */
|
|
21
|
+
descriptionFn?: Fn<string, [Context<TContext, TMetadata>]>;
|
|
22
|
+
/** Instructions on how to use the tool, written in Handlebars format */
|
|
23
|
+
instructions?: string;
|
|
24
|
+
/** Optional function that returns the tool's instructions based on the context */
|
|
25
|
+
instructionsFn?: Fn<string, [Context<TContext, TMetadata>]>;
|
|
26
|
+
/** Optional function that returns variables for the instructions Handlebars template */
|
|
27
|
+
input?: Fn<Record<string, any>, [Context<TContext, TMetadata>]>;
|
|
28
|
+
/** Zod schema defining the tool's input parameters */
|
|
29
|
+
schema: Fn<ZodType<TParams> | undefined, [Context<TContext, TMetadata>]>;
|
|
30
|
+
/** References to other components (tools, prompts, agents) that this tool utilizes */
|
|
31
|
+
refs?: TRefs;
|
|
32
|
+
/** The function that implements the tool's behavior */
|
|
33
|
+
call: (input: TParams, refs: TRefs, ctx: Context<TContext, TMetadata>) => TOutput;
|
|
34
|
+
/** Optional post-validation hook that runs after Zod parsing succeeds. Can throw to trigger re-prompting. */
|
|
35
|
+
validate?: (input: TParams, ctx: Context<TContext, TMetadata>) => void | Promise<void>;
|
|
36
|
+
/** Optional function to determine if the component is applicable in the given context */
|
|
37
|
+
applicable?: <TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata>(ctx: Context<TRuntimeContext, TRuntimeMetadata>) => boolean | Promise<boolean>;
|
|
38
|
+
/** Optional way to explicitly declare the types used in this component */
|
|
39
|
+
types?: {
|
|
40
|
+
params?: TParams;
|
|
41
|
+
output?: TOutput;
|
|
42
|
+
context?: TContext;
|
|
43
|
+
metadata?: TMetadata;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A type representing any tool.
|
|
48
|
+
*/
|
|
49
|
+
export type AnyTool = Tool<any, any, any, any, any, any>;
|
|
50
|
+
/**
|
|
51
|
+
* A type representing a tool compatible with the given context and metadata.
|
|
52
|
+
*/
|
|
53
|
+
export type ToolCompatible<TContext, TMetadata> = Tool<TContext, TMetadata, any, any, any, any>;
|
|
54
|
+
/**
|
|
55
|
+
* A Tool component that performs specific functions, often interacting with external systems or APIs.
|
|
56
|
+
* Tools can be called by AI models to extend their capabilities beyond text generation.
|
|
57
|
+
*
|
|
58
|
+
* @template TContext - The context type needed for the tool's operation.
|
|
59
|
+
* @template TMetadata - The metadata type needed during execution/streaming.
|
|
60
|
+
* @template TName - The name of the tool, typed for inference in parent components.
|
|
61
|
+
* @template TParams - The input parameters type for the tool.
|
|
62
|
+
* @template TOutput - The output type for the tool.
|
|
63
|
+
* @template TRefs - References to other components that this tool depends on.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* const weatherTool = new Tool({
|
|
67
|
+
* name: 'getWeather',
|
|
68
|
+
* description: 'Get current weather for a location',
|
|
69
|
+
* instructions: 'Use this tool to get weather information for {{location}}',
|
|
70
|
+
* schema: z.object({ location: z.string() }),
|
|
71
|
+
* call: async (input) => {
|
|
72
|
+
* const response = await fetch(`/api/weather?loc=${input.location}`);
|
|
73
|
+
* return response.json();
|
|
74
|
+
* }
|
|
75
|
+
* });
|
|
76
|
+
*/
|
|
77
|
+
export declare class Tool<TContext = {}, TMetadata = {}, TName extends string = string, TParams extends object = {}, TOutput = string, TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = []> implements Component<TContext, TMetadata, TName, TParams, TOutput, TRefs> {
|
|
78
|
+
input: ToolInput<TContext, TMetadata, TName, TParams, TOutput, TRefs>;
|
|
79
|
+
private instructions;
|
|
80
|
+
private schema;
|
|
81
|
+
private translate;
|
|
82
|
+
private descriptionFn;
|
|
83
|
+
private instructionsFn;
|
|
84
|
+
/**
|
|
85
|
+
* Compiles the instructions template with or without input variables.
|
|
86
|
+
*
|
|
87
|
+
* @param instructions - The instructions template string.
|
|
88
|
+
* @param hasInput - Whether the tool has input variables.
|
|
89
|
+
* @returns A compiled Handlebars template function or a simple string returner.
|
|
90
|
+
*/
|
|
91
|
+
static compileInstructions(instructions: string, hasInput: boolean): HandlebarsTemplateDelegate<any>;
|
|
92
|
+
/**
|
|
93
|
+
* Creates a new Tool instance.
|
|
94
|
+
*
|
|
95
|
+
* @param input - The tool input configuration.
|
|
96
|
+
*/
|
|
97
|
+
constructor(input: ToolInput<TContext, TMetadata, TName, TParams, TOutput, TRefs>, instructions?: HandlebarsTemplateDelegate<any> | undefined, schema?: (args_0: Context<TContext, TMetadata>) => Promise<ZodType<TParams, unknown, import("zod/v4/core").$ZodTypeInternals<TParams, unknown>> | undefined>, translate?: (args_0: Context<TContext, TMetadata>) => Promise<Record<string, any> | undefined>, descriptionFn?: (args_0: Context<TContext, TMetadata>) => Promise<string | undefined>, instructionsFn?: (args_0: Context<TContext, TMetadata>) => Promise<HandlebarsTemplateDelegate<any> | undefined>);
|
|
98
|
+
get kind(): 'tool';
|
|
99
|
+
get name(): TName;
|
|
100
|
+
get description(): string;
|
|
101
|
+
get refs(): TRefs;
|
|
102
|
+
/**
|
|
103
|
+
* Parses and validates the input arguments using the tool's Zod schema.
|
|
104
|
+
* Also runs any custom validation defined in the tool configuration.
|
|
105
|
+
*
|
|
106
|
+
* @param ctx - The context for parsing.
|
|
107
|
+
* @param args - The input arguments as a JSON string.
|
|
108
|
+
* @param schema - Optional pre-compiled schema to use instead of resolving it again.
|
|
109
|
+
* @returns The parsed and validated input parameters.
|
|
110
|
+
* @throws Error if schema is not available or parsing/validation fails.
|
|
111
|
+
*/
|
|
112
|
+
parse(ctx: Context<TContext, TMetadata>, args: string, schema?: ZodType<TParams>): Promise<TParams>;
|
|
113
|
+
/**
|
|
114
|
+
* Compiles the tool's instructions and schema into a ToolDefinition.
|
|
115
|
+
* This creates the format needed to pass tool information to AI models.
|
|
116
|
+
*
|
|
117
|
+
* @param ctx - The context for compilation.
|
|
118
|
+
* @returns A tuple of [instructions, toolDefinition] or undefined if not applicable.
|
|
119
|
+
*/
|
|
120
|
+
compile(ctx: Context<TContext, TMetadata>): Promise<readonly [string, ToolDefinition] | undefined>;
|
|
121
|
+
/**
|
|
122
|
+
* Executes the tool with the given context and input.
|
|
123
|
+
* If a custom runner is provided in the context, it will be used instead of direct execution.
|
|
124
|
+
*
|
|
125
|
+
* @param input - The input parameters for the tool.
|
|
126
|
+
* @param ctx - The execution context.
|
|
127
|
+
* @returns The output of the tool's execution.
|
|
128
|
+
*/
|
|
129
|
+
run<TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(...[inputMaybe, contextMaybe]: OptionalParams<[TParams, TCoreContext]>): TOutput;
|
|
130
|
+
/**
|
|
131
|
+
* Determines whether the tool is applicable in the given context.
|
|
132
|
+
* By default, checks if the schema is available and if any referenced components are applicable.
|
|
133
|
+
*
|
|
134
|
+
* @param ctx - The context to check applicability against.
|
|
135
|
+
* @returns A promise that resolves to true if the tool is applicable, false otherwise.
|
|
136
|
+
*/
|
|
137
|
+
applicable<TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(...[contextMaybe]: OptionalParams<[TCoreContext]>): Promise<boolean>;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tool.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import Handlebars from 'handlebars';
|
|
2
|
+
import { resolveFn } from './common';
|
|
3
|
+
/**
|
|
4
|
+
* A Tool component that performs specific functions, often interacting with external systems or APIs.
|
|
5
|
+
* Tools can be called by AI models to extend their capabilities beyond text generation.
|
|
6
|
+
*
|
|
7
|
+
* @template TContext - The context type needed for the tool's operation.
|
|
8
|
+
* @template TMetadata - The metadata type needed during execution/streaming.
|
|
9
|
+
* @template TName - The name of the tool, typed for inference in parent components.
|
|
10
|
+
* @template TParams - The input parameters type for the tool.
|
|
11
|
+
* @template TOutput - The output type for the tool.
|
|
12
|
+
* @template TRefs - References to other components that this tool depends on.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const weatherTool = new Tool({
|
|
16
|
+
* name: 'getWeather',
|
|
17
|
+
* description: 'Get current weather for a location',
|
|
18
|
+
* instructions: 'Use this tool to get weather information for {{location}}',
|
|
19
|
+
* schema: z.object({ location: z.string() }),
|
|
20
|
+
* call: async (input) => {
|
|
21
|
+
* const response = await fetch(`/api/weather?loc=${input.location}`);
|
|
22
|
+
* return response.json();
|
|
23
|
+
* }
|
|
24
|
+
* });
|
|
25
|
+
*/
|
|
26
|
+
export class Tool {
|
|
27
|
+
input;
|
|
28
|
+
instructions;
|
|
29
|
+
schema;
|
|
30
|
+
translate;
|
|
31
|
+
descriptionFn;
|
|
32
|
+
instructionsFn;
|
|
33
|
+
/**
|
|
34
|
+
* Compiles the instructions template with or without input variables.
|
|
35
|
+
*
|
|
36
|
+
* @param instructions - The instructions template string.
|
|
37
|
+
* @param hasInput - Whether the tool has input variables.
|
|
38
|
+
* @returns A compiled Handlebars template function or a simple string returner.
|
|
39
|
+
*/
|
|
40
|
+
static compileInstructions(instructions, hasInput) {
|
|
41
|
+
return hasInput ? Handlebars.compile(instructions) : () => instructions;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new Tool instance.
|
|
45
|
+
*
|
|
46
|
+
* @param input - The tool input configuration.
|
|
47
|
+
*/
|
|
48
|
+
constructor(input, instructions = input.instructions ? Tool.compileInstructions(input.instructions, !!input.input) : undefined, schema = resolveFn(input.schema), translate = resolveFn(input.input), descriptionFn = resolveFn(input.descriptionFn), instructionsFn = resolveFn(input.instructionsFn, (r) => r ? Tool.compileInstructions(r, !!input.input) : undefined)) {
|
|
49
|
+
this.input = input;
|
|
50
|
+
this.instructions = instructions;
|
|
51
|
+
this.schema = schema;
|
|
52
|
+
this.translate = translate;
|
|
53
|
+
this.descriptionFn = descriptionFn;
|
|
54
|
+
this.instructionsFn = instructionsFn;
|
|
55
|
+
}
|
|
56
|
+
get kind() {
|
|
57
|
+
return 'tool';
|
|
58
|
+
}
|
|
59
|
+
get name() {
|
|
60
|
+
return this.input.name;
|
|
61
|
+
}
|
|
62
|
+
get description() {
|
|
63
|
+
return this.input.description;
|
|
64
|
+
}
|
|
65
|
+
get refs() {
|
|
66
|
+
return this.input.refs || [];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parses and validates the input arguments using the tool's Zod schema.
|
|
70
|
+
* Also runs any custom validation defined in the tool configuration.
|
|
71
|
+
*
|
|
72
|
+
* @param ctx - The context for parsing.
|
|
73
|
+
* @param args - The input arguments as a JSON string.
|
|
74
|
+
* @param schema - Optional pre-compiled schema to use instead of resolving it again.
|
|
75
|
+
* @returns The parsed and validated input parameters.
|
|
76
|
+
* @throws Error if schema is not available or parsing/validation fails.
|
|
77
|
+
*/
|
|
78
|
+
async parse(ctx, args, schema) {
|
|
79
|
+
const resolvedSchema = schema || await this.schema(ctx);
|
|
80
|
+
if (!resolvedSchema) {
|
|
81
|
+
throw new Error(`Not able to build a schema to parse arguments for ${this.input.name}`);
|
|
82
|
+
}
|
|
83
|
+
const parsed = resolvedSchema.parse(JSON.parse(args));
|
|
84
|
+
// Run post-validation hook if provided
|
|
85
|
+
if (this.input.validate) {
|
|
86
|
+
await this.input.validate(parsed, ctx);
|
|
87
|
+
}
|
|
88
|
+
return parsed;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Compiles the tool's instructions and schema into a ToolDefinition.
|
|
92
|
+
* This creates the format needed to pass tool information to AI models.
|
|
93
|
+
*
|
|
94
|
+
* @param ctx - The context for compilation.
|
|
95
|
+
* @returns A tuple of [instructions, toolDefinition] or undefined if not applicable.
|
|
96
|
+
*/
|
|
97
|
+
async compile(ctx) {
|
|
98
|
+
const schema = await this.schema(ctx);
|
|
99
|
+
if (!schema) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
// Get instructions template
|
|
103
|
+
const instructionsTemplate = this.input.instructionsFn
|
|
104
|
+
? await this.instructionsFn(ctx)
|
|
105
|
+
: this.instructions;
|
|
106
|
+
// If no instructions function/template, return undefined
|
|
107
|
+
if (!instructionsTemplate) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
// Get template variables if input function is provided
|
|
111
|
+
const templateVars = await this.translate(ctx) || {};
|
|
112
|
+
const instructions = instructionsTemplate(templateVars);
|
|
113
|
+
// Get dynamic description if function is provided
|
|
114
|
+
const description = await this.descriptionFn(ctx) || this.input.description;
|
|
115
|
+
return [
|
|
116
|
+
instructions,
|
|
117
|
+
{
|
|
118
|
+
name: this.input.name,
|
|
119
|
+
description,
|
|
120
|
+
parameters: schema,
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Executes the tool with the given context and input.
|
|
126
|
+
* If a custom runner is provided in the context, it will be used instead of direct execution.
|
|
127
|
+
*
|
|
128
|
+
* @param input - The input parameters for the tool.
|
|
129
|
+
* @param ctx - The execution context.
|
|
130
|
+
* @returns The output of the tool's execution.
|
|
131
|
+
*/
|
|
132
|
+
run(...[inputMaybe, contextMaybe]) {
|
|
133
|
+
const input = (inputMaybe || {});
|
|
134
|
+
const ctx = (contextMaybe || {});
|
|
135
|
+
const tool = this;
|
|
136
|
+
return ctx.runner
|
|
137
|
+
? ctx.runner(tool, input, ctx, (innerCtx) => this.input.call(input, this.refs, innerCtx))
|
|
138
|
+
: this.input.call(input, this.refs, ctx);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Determines whether the tool is applicable in the given context.
|
|
142
|
+
* By default, checks if the schema is available and if any referenced components are applicable.
|
|
143
|
+
*
|
|
144
|
+
* @param ctx - The context to check applicability against.
|
|
145
|
+
* @returns A promise that resolves to true if the tool is applicable, false otherwise.
|
|
146
|
+
*/
|
|
147
|
+
async applicable(...[contextMaybe]) {
|
|
148
|
+
const ctx = (contextMaybe || {});
|
|
149
|
+
if (this.input.applicable) {
|
|
150
|
+
return this.input.applicable(ctx);
|
|
151
|
+
}
|
|
152
|
+
if (await this.schema(ctx) === undefined) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
// If there are no refs, the tool is self-contained and applicable
|
|
156
|
+
if (this.refs.length === 0) {
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
return await Promise.all(this.refs.map(ref => ref.applicable(ctx))).then(results => results.some(r => r));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=tool.js.map
|
package/dist/tool.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|