@aigne/core 1.72.0-beta.3 → 1.72.0-beta.5
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/CHANGELOG.md +27 -0
- package/lib/cjs/agents/agent.d.ts +31 -1
- package/lib/cjs/agents/agent.js +13 -0
- package/lib/cjs/agents/ai-agent.d.ts +7 -0
- package/lib/cjs/agents/ai-agent.js +85 -3
- package/lib/cjs/agents/image-agent.d.ts +17 -1
- package/lib/cjs/agents/image-agent.js +16 -0
- package/lib/cjs/agents/image-model.d.ts +4 -4
- package/lib/cjs/agents/mcp-agent.d.ts +17 -0
- package/lib/cjs/agents/mcp-agent.js +18 -0
- package/lib/cjs/agents/team-agent.d.ts +55 -0
- package/lib/cjs/agents/team-agent.js +31 -0
- package/lib/cjs/agents/transform-agent.d.ts +12 -0
- package/lib/cjs/agents/transform-agent.js +13 -0
- package/lib/cjs/agents/video-model.d.ts +4 -4
- package/lib/cjs/loader/agent-yaml.d.ts +5 -67
- package/lib/cjs/loader/agent-yaml.js +4 -139
- package/lib/cjs/loader/agents.d.ts +4 -0
- package/lib/cjs/loader/agents.js +17 -0
- package/lib/cjs/loader/index.d.ts +18 -14
- package/lib/cjs/loader/index.js +20 -81
- package/lib/cjs/loader/schema.d.ts +21 -6
- package/lib/cjs/loader/schema.js +60 -1
- package/lib/cjs/prompt/prompt-builder.js +0 -1
- package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.d.ts +17 -0
- package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.js +63 -0
- package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.d.ts +13 -0
- package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.js +61 -0
- package/lib/cjs/prompt/skills/afs/delete.js +15 -3
- package/lib/cjs/prompt/skills/afs/edit.d.ts +6 -9
- package/lib/cjs/prompt/skills/afs/edit.js +85 -59
- package/lib/cjs/prompt/skills/afs/exec.js +17 -6
- package/lib/cjs/prompt/skills/afs/index.js +4 -1
- package/lib/cjs/prompt/skills/afs/list.js +26 -10
- package/lib/cjs/prompt/skills/afs/read.d.ts +6 -2
- package/lib/cjs/prompt/skills/afs/read.js +62 -15
- package/lib/cjs/prompt/skills/afs/rename.js +18 -4
- package/lib/cjs/prompt/skills/afs/search.js +21 -5
- package/lib/cjs/prompt/skills/afs/write.js +20 -6
- package/lib/cjs/prompt/template.d.ts +23 -23
- package/lib/dts/agents/agent.d.ts +31 -1
- package/lib/dts/agents/ai-agent.d.ts +7 -0
- package/lib/dts/agents/image-agent.d.ts +17 -1
- package/lib/dts/agents/image-model.d.ts +4 -4
- package/lib/dts/agents/mcp-agent.d.ts +17 -0
- package/lib/dts/agents/team-agent.d.ts +55 -0
- package/lib/dts/agents/transform-agent.d.ts +12 -0
- package/lib/dts/agents/video-model.d.ts +4 -4
- package/lib/dts/aigne/context.d.ts +2 -2
- package/lib/dts/loader/agent-yaml.d.ts +5 -67
- package/lib/dts/loader/agents.d.ts +4 -0
- package/lib/dts/loader/index.d.ts +18 -14
- package/lib/dts/loader/schema.d.ts +21 -6
- package/lib/dts/prompt/skills/afs/agent-skill/agent-skill.d.ts +17 -0
- package/lib/dts/prompt/skills/afs/agent-skill/skill-loader.d.ts +13 -0
- package/lib/dts/prompt/skills/afs/edit.d.ts +6 -9
- package/lib/dts/prompt/skills/afs/read.d.ts +6 -2
- package/lib/dts/prompt/template.d.ts +25 -25
- package/lib/esm/agents/agent.d.ts +31 -1
- package/lib/esm/agents/agent.js +13 -0
- package/lib/esm/agents/ai-agent.d.ts +7 -0
- package/lib/esm/agents/ai-agent.js +85 -3
- package/lib/esm/agents/image-agent.d.ts +17 -1
- package/lib/esm/agents/image-agent.js +16 -0
- package/lib/esm/agents/image-model.d.ts +4 -4
- package/lib/esm/agents/mcp-agent.d.ts +17 -0
- package/lib/esm/agents/mcp-agent.js +18 -0
- package/lib/esm/agents/team-agent.d.ts +55 -0
- package/lib/esm/agents/team-agent.js +31 -0
- package/lib/esm/agents/transform-agent.d.ts +12 -0
- package/lib/esm/agents/transform-agent.js +13 -0
- package/lib/esm/agents/video-model.d.ts +4 -4
- package/lib/esm/aigne/context.d.ts +2 -2
- package/lib/esm/loader/agent-yaml.d.ts +5 -67
- package/lib/esm/loader/agent-yaml.js +4 -138
- package/lib/esm/loader/agents.d.ts +4 -0
- package/lib/esm/loader/agents.js +14 -0
- package/lib/esm/loader/index.d.ts +18 -14
- package/lib/esm/loader/index.js +21 -81
- package/lib/esm/loader/schema.d.ts +21 -6
- package/lib/esm/loader/schema.js +57 -0
- package/lib/esm/prompt/prompt-builder.js +1 -2
- package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.d.ts +17 -0
- package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.js +59 -0
- package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.d.ts +13 -0
- package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.js +53 -0
- package/lib/esm/prompt/skills/afs/delete.js +15 -3
- package/lib/esm/prompt/skills/afs/edit.d.ts +6 -9
- package/lib/esm/prompt/skills/afs/edit.js +85 -59
- package/lib/esm/prompt/skills/afs/exec.js +17 -6
- package/lib/esm/prompt/skills/afs/index.js +4 -1
- package/lib/esm/prompt/skills/afs/list.js +26 -10
- package/lib/esm/prompt/skills/afs/read.d.ts +6 -2
- package/lib/esm/prompt/skills/afs/read.js +62 -15
- package/lib/esm/prompt/skills/afs/rename.js +18 -4
- package/lib/esm/prompt/skills/afs/search.js +21 -5
- package/lib/esm/prompt/skills/afs/write.js +20 -6
- package/lib/esm/prompt/template.d.ts +25 -25
- package/package.json +5 -4
|
@@ -94,6 +94,7 @@ export declare const videoModelInputSchema: z.ZodObject<{
|
|
|
94
94
|
prompt: string;
|
|
95
95
|
model?: string | undefined;
|
|
96
96
|
modelOptions?: Record<string, unknown> | undefined;
|
|
97
|
+
outputFileType?: "local" | "url" | "file" | undefined;
|
|
97
98
|
image?: {
|
|
98
99
|
type: "url";
|
|
99
100
|
url: string;
|
|
@@ -110,13 +111,13 @@ export declare const videoModelInputSchema: z.ZodObject<{
|
|
|
110
111
|
filename?: string | undefined;
|
|
111
112
|
mimeType?: string | undefined;
|
|
112
113
|
} | undefined;
|
|
113
|
-
outputFileType?: "local" | "file" | "url" | undefined;
|
|
114
114
|
size?: string | undefined;
|
|
115
115
|
seconds?: string | undefined;
|
|
116
116
|
}, {
|
|
117
117
|
prompt: string;
|
|
118
118
|
model?: string | undefined;
|
|
119
119
|
modelOptions?: Record<string, unknown> | undefined;
|
|
120
|
+
outputFileType?: "local" | "url" | "file" | undefined;
|
|
120
121
|
image?: {
|
|
121
122
|
type: "url";
|
|
122
123
|
url: string;
|
|
@@ -133,7 +134,6 @@ export declare const videoModelInputSchema: z.ZodObject<{
|
|
|
133
134
|
filename?: string | undefined;
|
|
134
135
|
mimeType?: string | undefined;
|
|
135
136
|
} | undefined;
|
|
136
|
-
outputFileType?: "local" | "file" | "url" | undefined;
|
|
137
137
|
size?: string | undefined;
|
|
138
138
|
seconds?: string | undefined;
|
|
139
139
|
}>;
|
|
@@ -240,7 +240,6 @@ export declare const videoModelOutputSchema: z.ZodObject<{
|
|
|
240
240
|
filename?: string | undefined;
|
|
241
241
|
mimeType?: string | undefined;
|
|
242
242
|
})[];
|
|
243
|
-
model?: string | undefined;
|
|
244
243
|
usage?: {
|
|
245
244
|
inputTokens: number;
|
|
246
245
|
outputTokens: number;
|
|
@@ -249,6 +248,7 @@ export declare const videoModelOutputSchema: z.ZodObject<{
|
|
|
249
248
|
cacheReadInputTokens?: number | undefined;
|
|
250
249
|
creditPrefix?: "$" | "€" | "¥" | undefined;
|
|
251
250
|
} | undefined;
|
|
251
|
+
model?: string | undefined;
|
|
252
252
|
seconds?: number | undefined;
|
|
253
253
|
}, {
|
|
254
254
|
videos: ({
|
|
@@ -267,7 +267,6 @@ export declare const videoModelOutputSchema: z.ZodObject<{
|
|
|
267
267
|
filename?: string | undefined;
|
|
268
268
|
mimeType?: string | undefined;
|
|
269
269
|
})[];
|
|
270
|
-
model?: string | undefined;
|
|
271
270
|
usage?: {
|
|
272
271
|
inputTokens: number;
|
|
273
272
|
outputTokens: number;
|
|
@@ -276,5 +275,6 @@ export declare const videoModelOutputSchema: z.ZodObject<{
|
|
|
276
275
|
cacheReadInputTokens?: number | undefined;
|
|
277
276
|
creditPrefix?: "$" | "€" | "¥" | undefined;
|
|
278
277
|
} | undefined;
|
|
278
|
+
model?: string | undefined;
|
|
279
279
|
seconds?: number | undefined;
|
|
280
280
|
}>;
|
|
@@ -159,7 +159,7 @@ export declare class AIGNEContext implements Context {
|
|
|
159
159
|
readonly internal: AIGNEContextShared;
|
|
160
160
|
get messageQueue(): MessageQueue;
|
|
161
161
|
get model(): ChatModel | undefined;
|
|
162
|
-
get imageModel(): ImageModel<import("../
|
|
162
|
+
get imageModel(): ImageModel<import("../index.js").ImageModelInput, import("../index.js").ImageModelOutput> | undefined;
|
|
163
163
|
get skills(): Agent<any, any>[] | undefined;
|
|
164
164
|
get agents(): Agent<any, any>[];
|
|
165
165
|
get observer(): AIGNEObserver | undefined;
|
|
@@ -197,7 +197,7 @@ declare class AIGNEContextShared {
|
|
|
197
197
|
readonly messageQueue: MessageQueue;
|
|
198
198
|
readonly events: Emitter<any>;
|
|
199
199
|
get model(): ChatModel | undefined;
|
|
200
|
-
get imageModel(): ImageModel<import("../
|
|
200
|
+
get imageModel(): ImageModel<import("../index.js").ImageModelInput, import("../index.js").ImageModelOutput> | undefined;
|
|
201
201
|
get skills(): Agent<any, any>[] | undefined;
|
|
202
202
|
get agents(): Agent<any, any>[];
|
|
203
203
|
get observer(): AIGNEObserver | undefined;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { AFSOptions } from "@aigne/afs";
|
|
2
2
|
import { type ZodType, z } from "zod";
|
|
3
|
-
import type {
|
|
4
|
-
import { AIAgentToolChoice } from "../agents/ai-agent.js";
|
|
5
|
-
import { type Role } from "../agents/chat-model.js";
|
|
6
|
-
import { ProcessMode, type ReflectionMode } from "../agents/team-agent.js";
|
|
3
|
+
import type { AgentHooks, TaskRenderMode } from "../agents/agent.js";
|
|
7
4
|
import type { LoadOptions } from "./index.js";
|
|
8
5
|
import { chatModelSchema, imageModelSchema } from "./schema.js";
|
|
9
6
|
export interface HooksSchema {
|
|
@@ -45,7 +42,8 @@ export interface AFSContextSchema {
|
|
|
45
42
|
presets?: Record<string, AFSContextPresetSchema>;
|
|
46
43
|
};
|
|
47
44
|
}
|
|
48
|
-
export interface
|
|
45
|
+
export interface AgentSchema {
|
|
46
|
+
type: string;
|
|
49
47
|
name?: string;
|
|
50
48
|
description?: string;
|
|
51
49
|
model?: z.infer<typeof chatModelSchema>;
|
|
@@ -67,71 +65,11 @@ export interface BaseAgentSchema {
|
|
|
67
65
|
context?: AFSContextSchema;
|
|
68
66
|
});
|
|
69
67
|
shareAFS?: boolean;
|
|
68
|
+
[key: string]: unknown;
|
|
70
69
|
}
|
|
71
|
-
export type Instructions = {
|
|
72
|
-
role: Exclude<Role, "tool">;
|
|
73
|
-
content: string;
|
|
74
|
-
path: string;
|
|
75
|
-
cacheControl?: {
|
|
76
|
-
type: "ephemeral";
|
|
77
|
-
ttl?: "5m" | "1h";
|
|
78
|
-
};
|
|
79
|
-
}[];
|
|
80
|
-
export interface AIAgentSchema extends BaseAgentSchema {
|
|
81
|
-
type: "ai";
|
|
82
|
-
instructions?: Instructions;
|
|
83
|
-
autoReorderSystemMessages?: boolean;
|
|
84
|
-
autoMergeSystemMessages?: boolean;
|
|
85
|
-
inputKey?: string;
|
|
86
|
-
inputFileKey?: string;
|
|
87
|
-
outputKey?: string;
|
|
88
|
-
outputFileKey?: string;
|
|
89
|
-
toolChoice?: AIAgentToolChoice;
|
|
90
|
-
toolCallsConcurrency?: number;
|
|
91
|
-
keepTextInToolUses?: boolean;
|
|
92
|
-
}
|
|
93
|
-
export interface ImageAgentSchema extends BaseAgentSchema {
|
|
94
|
-
type: "image";
|
|
95
|
-
instructions: Instructions;
|
|
96
|
-
inputFileKey?: string;
|
|
97
|
-
}
|
|
98
|
-
export interface MCPAgentSchema extends BaseAgentSchema {
|
|
99
|
-
type: "mcp";
|
|
100
|
-
url?: string;
|
|
101
|
-
command?: string;
|
|
102
|
-
args?: string[];
|
|
103
|
-
}
|
|
104
|
-
export interface TeamAgentSchema extends BaseAgentSchema {
|
|
105
|
-
type: "team";
|
|
106
|
-
mode?: ProcessMode;
|
|
107
|
-
iterateOn?: string;
|
|
108
|
-
concurrency?: number;
|
|
109
|
-
iterateWithPreviousOutput?: boolean;
|
|
110
|
-
includeAllStepsOutput?: boolean;
|
|
111
|
-
reflection?: Omit<ReflectionMode, "reviewer"> & {
|
|
112
|
-
reviewer: NestAgentSchema;
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
export interface TransformAgentSchema extends BaseAgentSchema {
|
|
116
|
-
type: "transform";
|
|
117
|
-
jsonata: string;
|
|
118
|
-
}
|
|
119
|
-
export interface FunctionAgentSchema extends BaseAgentSchema {
|
|
120
|
-
type: "function";
|
|
121
|
-
process: FunctionAgentFn;
|
|
122
|
-
}
|
|
123
|
-
export interface ThirdAgentSchema extends BaseAgentSchema {
|
|
124
|
-
agentClass?: AgentClass;
|
|
125
|
-
type: "";
|
|
126
|
-
[key: string]: any;
|
|
127
|
-
}
|
|
128
|
-
export type AgentSchema = AIAgentSchema | ImageAgentSchema | MCPAgentSchema | TeamAgentSchema | TransformAgentSchema | FunctionAgentSchema | ThirdAgentSchema;
|
|
129
70
|
export declare function parseAgentFile(path: string, data: any, options: LoadOptions): Promise<AgentSchema>;
|
|
130
71
|
export declare function loadAgentFromYamlFile(path: string, options: LoadOptions): Promise<AgentSchema>;
|
|
131
|
-
export declare const
|
|
132
|
-
filepath: string;
|
|
133
|
-
}) => ZodType<Instructions>;
|
|
134
|
-
export declare const getAgentSchema: ({ filepath, options, }: {
|
|
72
|
+
export declare const getAgentSchema: ({ filepath }: {
|
|
135
73
|
filepath: string;
|
|
136
74
|
options?: LoadOptions;
|
|
137
75
|
}) => ZodType<AgentSchema, z.ZodTypeDef, AgentSchema>;
|
|
@@ -5,9 +5,8 @@ import type { ChatModel } from "../agents/chat-model.js";
|
|
|
5
5
|
import type { ImageModel } from "../agents/image-model.js";
|
|
6
6
|
import type { AIGNEOptions } from "../aigne/aigne.js";
|
|
7
7
|
import type { MemoryAgent, MemoryAgentOptions } from "../memory/memory.js";
|
|
8
|
-
import { PromptBuilder } from "../prompt/prompt-builder.js";
|
|
9
8
|
import { type PromiseOrValue } from "../utils/type-utils.js";
|
|
10
|
-
import {
|
|
9
|
+
import { loadAgentFromYamlFile, type NestAgentSchema } from "./agent-yaml.js";
|
|
11
10
|
export interface LoadOptions {
|
|
12
11
|
memories?: {
|
|
13
12
|
new (parameters?: MemoryAgentOptions): MemoryAgent;
|
|
@@ -19,7 +18,10 @@ export interface LoadOptions {
|
|
|
19
18
|
availableModules?: {
|
|
20
19
|
module: string;
|
|
21
20
|
alias?: string[];
|
|
22
|
-
|
|
21
|
+
load: (options: {
|
|
22
|
+
filepath: string;
|
|
23
|
+
parsed?: object;
|
|
24
|
+
}) => PromiseOrValue<AFSModule>;
|
|
23
25
|
}[];
|
|
24
26
|
};
|
|
25
27
|
aigne?: z.infer<typeof aigneFileSchema>;
|
|
@@ -27,6 +29,9 @@ export interface LoadOptions {
|
|
|
27
29
|
parent?: string;
|
|
28
30
|
}) => Promise<any>;
|
|
29
31
|
}
|
|
32
|
+
export interface AgentLoadOptions extends LoadOptions {
|
|
33
|
+
loadNestAgent: (path: string, agent: NestAgentSchema, options: LoadOptions, agentOptions?: AgentOptions<any, any> & Record<string, unknown>) => Promise<Agent>;
|
|
34
|
+
}
|
|
30
35
|
export declare function load(path: string, options?: LoadOptions): Promise<AIGNEOptions>;
|
|
31
36
|
export declare function loadAgent(path: string, options: LoadOptions, agentOptions?: AgentOptions): Promise<Agent>;
|
|
32
37
|
export declare function loadNestAgent(path: string, agent: NestAgentSchema, options: LoadOptions, agentOptions?: AgentOptions<any, any> & Record<string, unknown>): Promise<Agent>;
|
|
@@ -67,9 +72,9 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
67
72
|
} | undefined, z.ZodTypeDef, number | {
|
|
68
73
|
$get: string;
|
|
69
74
|
} | undefined>;
|
|
70
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
75
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
71
76
|
$get: string;
|
|
72
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
77
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
73
78
|
$get: string;
|
|
74
79
|
} | undefined>;
|
|
75
80
|
}, z.ZodTypeAny, "passthrough"> | undefined, z.ZodTypeDef, z.objectInputType<{
|
|
@@ -98,9 +103,9 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
98
103
|
} | undefined, z.ZodTypeDef, number | {
|
|
99
104
|
$get: string;
|
|
100
105
|
} | undefined>;
|
|
101
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
106
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
102
107
|
$get: string;
|
|
103
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
108
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
104
109
|
$get: string;
|
|
105
110
|
} | undefined>;
|
|
106
111
|
}, z.ZodTypeAny, "passthrough"> | undefined>;
|
|
@@ -132,6 +137,7 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
132
137
|
chat?: string | undefined;
|
|
133
138
|
} | undefined>;
|
|
134
139
|
}, "strip", z.ZodTypeAny, {
|
|
140
|
+
name?: string | undefined;
|
|
135
141
|
model?: z.objectInputType<{
|
|
136
142
|
model: ZodType<string | {
|
|
137
143
|
$get: string;
|
|
@@ -158,13 +164,12 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
158
164
|
} | undefined, z.ZodTypeDef, number | {
|
|
159
165
|
$get: string;
|
|
160
166
|
} | undefined>;
|
|
161
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
167
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
162
168
|
$get: string;
|
|
163
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
169
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
164
170
|
$get: string;
|
|
165
171
|
} | undefined>;
|
|
166
172
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
167
|
-
name?: string | undefined;
|
|
168
173
|
description?: string | undefined;
|
|
169
174
|
imageModel?: z.objectInputType<{
|
|
170
175
|
model: ZodType<string | {
|
|
@@ -183,6 +188,7 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
183
188
|
chat?: string | undefined;
|
|
184
189
|
} | undefined;
|
|
185
190
|
}, {
|
|
191
|
+
name?: string | undefined;
|
|
186
192
|
model?: z.objectInputType<{
|
|
187
193
|
model: ZodType<string | {
|
|
188
194
|
$get: string;
|
|
@@ -209,13 +215,12 @@ declare const aigneFileSchema: z.ZodObject<{
|
|
|
209
215
|
} | undefined, z.ZodTypeDef, number | {
|
|
210
216
|
$get: string;
|
|
211
217
|
} | undefined>;
|
|
212
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
218
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
213
219
|
$get: string;
|
|
214
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
220
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
215
221
|
$get: string;
|
|
216
222
|
} | undefined>;
|
|
217
223
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
218
|
-
name?: string | undefined;
|
|
219
224
|
description?: string | undefined;
|
|
220
225
|
imageModel?: z.objectInputType<{
|
|
221
226
|
model: ZodType<string | {
|
|
@@ -239,5 +244,4 @@ export declare function loadAIGNEFile(path: string): Promise<{
|
|
|
239
244
|
rootDir: string;
|
|
240
245
|
}>;
|
|
241
246
|
export declare function findAIGNEFile(path: string): Promise<string>;
|
|
242
|
-
export declare function instructionsToPromptBuilder(instructions: Instructions): PromptBuilder;
|
|
243
247
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type ZodType, z } from "zod";
|
|
2
|
+
import { type Role } from "../agents/chat-model.js";
|
|
3
|
+
import { PromptBuilder } from "../prompt/prompt-builder.js";
|
|
2
4
|
export declare const inputOutputSchema: ({ path }: {
|
|
3
5
|
path: string;
|
|
4
6
|
}) => z.ZodUnion<[ZodType<any, z.ZodTypeDef, any>, z.ZodEffects<z.ZodObject<{
|
|
@@ -55,9 +57,9 @@ declare const chatModelObjectSchema: z.ZodObject<{
|
|
|
55
57
|
} | undefined, z.ZodTypeDef, number | {
|
|
56
58
|
$get: string;
|
|
57
59
|
} | undefined>;
|
|
58
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
60
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
59
61
|
$get: string;
|
|
60
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
62
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
61
63
|
$get: string;
|
|
62
64
|
} | undefined>;
|
|
63
65
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
@@ -86,9 +88,9 @@ declare const chatModelObjectSchema: z.ZodObject<{
|
|
|
86
88
|
} | undefined, z.ZodTypeDef, number | {
|
|
87
89
|
$get: string;
|
|
88
90
|
} | undefined>;
|
|
89
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
91
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
90
92
|
$get: string;
|
|
91
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
93
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
92
94
|
$get: string;
|
|
93
95
|
} | undefined>;
|
|
94
96
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
@@ -117,9 +119,9 @@ declare const chatModelObjectSchema: z.ZodObject<{
|
|
|
117
119
|
} | undefined, z.ZodTypeDef, number | {
|
|
118
120
|
$get: string;
|
|
119
121
|
} | undefined>;
|
|
120
|
-
thinkingEffort: ZodType<number | "high" | "
|
|
122
|
+
thinkingEffort: ZodType<number | "high" | "low" | "medium" | "minimal" | {
|
|
121
123
|
$get: string;
|
|
122
|
-
} | undefined, z.ZodTypeDef, number | "high" | "
|
|
124
|
+
} | undefined, z.ZodTypeDef, number | "high" | "low" | "medium" | "minimal" | {
|
|
123
125
|
$get: string;
|
|
124
126
|
} | undefined>;
|
|
125
127
|
}, z.ZodTypeAny, "passthrough">>;
|
|
@@ -149,4 +151,17 @@ export declare function camelizeSchema<T extends ZodType>(schema: T, { shallow }
|
|
|
149
151
|
shallow?: boolean;
|
|
150
152
|
}): T;
|
|
151
153
|
export declare function preprocessSchema<T extends ZodType>(fn: (data: unknown) => unknown, schema: T): T;
|
|
154
|
+
export type Instructions = {
|
|
155
|
+
role: Exclude<Role, "tool">;
|
|
156
|
+
content: string;
|
|
157
|
+
path: string;
|
|
158
|
+
cacheControl?: {
|
|
159
|
+
type: "ephemeral";
|
|
160
|
+
ttl?: "5m" | "1h";
|
|
161
|
+
};
|
|
162
|
+
}[];
|
|
163
|
+
export declare const getInstructionsSchema: ({ filepath }: {
|
|
164
|
+
filepath: string;
|
|
165
|
+
}) => ZodType<Instructions>;
|
|
166
|
+
export declare function instructionsToPromptBuilder(instructions: Instructions | string): PromptBuilder;
|
|
152
167
|
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Agent, type AgentOptions, type Message } from "../../../../agents/agent.js";
|
|
2
|
+
import type { Skill } from "./skill-loader.js";
|
|
3
|
+
export interface SkillToolInput extends Message {
|
|
4
|
+
skill: string;
|
|
5
|
+
args?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SkillToolOutput extends Message {
|
|
8
|
+
result: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SkillToolOptions extends AgentOptions<SkillToolInput, SkillToolOutput> {
|
|
11
|
+
agentSkills: Skill[];
|
|
12
|
+
}
|
|
13
|
+
export declare class AgentSkill extends Agent<SkillToolInput, SkillToolOutput> {
|
|
14
|
+
constructor(options: SkillToolOptions);
|
|
15
|
+
private agentSkills;
|
|
16
|
+
process(input: SkillToolInput): Promise<SkillToolOutput>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AFS } from "@aigne/afs";
|
|
2
|
+
import { AgentSkill } from "./agent-skill.js";
|
|
3
|
+
export interface Skill {
|
|
4
|
+
path: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
content: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function loadSkill(path: string): Promise<Skill>;
|
|
10
|
+
export declare function loadSkills(paths: string[]): Promise<Skill[]>;
|
|
11
|
+
export declare function loadAgentSkillFromAFS({ afs, }: {
|
|
12
|
+
afs: AFS;
|
|
13
|
+
}): Promise<AgentSkill | undefined>;
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import type { AgentInvokeOptions, AgentOptions, Message } from "../../../agents/agent.js";
|
|
2
2
|
import { AFSSkillBase } from "./base.js";
|
|
3
|
-
export interface Patch {
|
|
4
|
-
start_line: number;
|
|
5
|
-
end_line: number;
|
|
6
|
-
replace?: string;
|
|
7
|
-
delete: boolean;
|
|
8
|
-
}
|
|
9
3
|
export interface AFSEditInput extends Message {
|
|
10
4
|
path: string;
|
|
11
|
-
|
|
5
|
+
oldString: string;
|
|
6
|
+
newString: string;
|
|
7
|
+
replaceAll?: boolean;
|
|
12
8
|
}
|
|
13
9
|
export interface AFSEditOutput extends Message {
|
|
14
10
|
status: string;
|
|
15
11
|
tool: string;
|
|
16
12
|
path: string;
|
|
17
13
|
message: string;
|
|
18
|
-
|
|
14
|
+
snippet: string;
|
|
19
15
|
}
|
|
20
16
|
export interface AFSEditAgentOptions extends AgentOptions<AFSEditInput, AFSEditOutput> {
|
|
21
17
|
afs: NonNullable<AgentOptions<AFSEditInput, AFSEditOutput>["afs"]>;
|
|
@@ -23,5 +19,6 @@ export interface AFSEditAgentOptions extends AgentOptions<AFSEditInput, AFSEditO
|
|
|
23
19
|
export declare class AFSEditAgent extends AFSSkillBase<AFSEditInput, AFSEditOutput> {
|
|
24
20
|
constructor(options: AFSEditAgentOptions);
|
|
25
21
|
process(input: AFSEditInput, _options: AgentInvokeOptions): Promise<AFSEditOutput>;
|
|
26
|
-
|
|
22
|
+
private countOccurrences;
|
|
23
|
+
private extractSnippet;
|
|
27
24
|
}
|
|
@@ -3,15 +3,19 @@ import type { AgentInvokeOptions, AgentOptions, Message } from "../../../agents/
|
|
|
3
3
|
import { AFSSkillBase } from "./base.js";
|
|
4
4
|
export interface AFSReadInput extends Message {
|
|
5
5
|
path: string;
|
|
6
|
-
|
|
6
|
+
offset?: number;
|
|
7
|
+
limit?: number;
|
|
7
8
|
}
|
|
8
9
|
export interface AFSReadOutput extends Message {
|
|
9
10
|
status: string;
|
|
10
11
|
tool: string;
|
|
11
12
|
path: string;
|
|
12
|
-
withLineNumbers?: boolean;
|
|
13
13
|
data?: AFSEntry;
|
|
14
14
|
message?: string;
|
|
15
|
+
totalLines?: number;
|
|
16
|
+
returnedLines?: number;
|
|
17
|
+
truncated?: boolean;
|
|
18
|
+
offset?: number;
|
|
15
19
|
}
|
|
16
20
|
export interface AFSReadAgentOptions extends AgentOptions<AFSReadInput, AFSReadOutput> {
|
|
17
21
|
afs: NonNullable<AgentOptions<AFSReadInput, AFSReadOutput>["afs"]>;
|
|
@@ -42,11 +42,11 @@ export declare class AgentMessageTemplate extends ChatMessageTemplate {
|
|
|
42
42
|
static from(template?: ChatModelInputMessage["content"], toolCalls?: ChatModelOutputToolCall[], name?: string, options?: FormatOptions, cacheControl?: ChatModelInputMessage["cacheControl"]): AgentMessageTemplate;
|
|
43
43
|
constructor(content?: ChatModelInputMessage["content"], toolCalls?: ChatModelOutputToolCall[] | undefined, name?: string, options?: FormatOptions, cacheControl?: ChatModelInputMessage["cacheControl"]);
|
|
44
44
|
format(_variables?: Record<string, unknown>, _options?: FormatOptions): Promise<{
|
|
45
|
-
role: "
|
|
45
|
+
role: "system" | "user" | "agent" | "tool";
|
|
46
46
|
name: string | undefined;
|
|
47
47
|
content: ChatModelInputMessageContent | undefined;
|
|
48
48
|
toolCalls: ChatModelOutputToolCall[] | undefined;
|
|
49
|
-
cacheControl: import("../
|
|
49
|
+
cacheControl: import("../index.js").CacheControl | undefined;
|
|
50
50
|
}>;
|
|
51
51
|
}
|
|
52
52
|
export declare class ToolMessageTemplate extends ChatMessageTemplate {
|
|
@@ -54,11 +54,11 @@ export declare class ToolMessageTemplate extends ChatMessageTemplate {
|
|
|
54
54
|
static from(content: object | string, toolCallId: string, name?: string, options?: FormatOptions, cacheControl?: ChatModelInputMessage["cacheControl"]): ToolMessageTemplate;
|
|
55
55
|
constructor(content: object | string, toolCallId: string, name?: string, options?: FormatOptions, cacheControl?: ChatModelInputMessage["cacheControl"]);
|
|
56
56
|
format(_variables?: Record<string, unknown>, _options?: FormatOptions): Promise<{
|
|
57
|
-
role: "
|
|
57
|
+
role: "system" | "user" | "agent" | "tool";
|
|
58
58
|
name: string | undefined;
|
|
59
59
|
content: ChatModelInputMessageContent | undefined;
|
|
60
60
|
toolCallId: string;
|
|
61
|
-
cacheControl: import("../
|
|
61
|
+
cacheControl: import("../index.js").CacheControl | undefined;
|
|
62
62
|
}>;
|
|
63
63
|
}
|
|
64
64
|
export declare class ChatMessagesTemplate {
|
|
@@ -83,21 +83,21 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
83
83
|
ttl?: "5m" | "1h" | undefined;
|
|
84
84
|
}>>;
|
|
85
85
|
}, "strip", z.ZodTypeAny, {
|
|
86
|
-
role: "system";
|
|
87
86
|
content: string;
|
|
88
|
-
|
|
87
|
+
role: "system";
|
|
89
88
|
cacheControl?: {
|
|
90
89
|
type: "ephemeral";
|
|
91
90
|
ttl?: "5m" | "1h" | undefined;
|
|
92
91
|
} | undefined;
|
|
92
|
+
name?: string | undefined;
|
|
93
93
|
}, {
|
|
94
|
-
role: "system";
|
|
95
94
|
content: string;
|
|
96
|
-
|
|
95
|
+
role: "system";
|
|
97
96
|
cacheControl?: {
|
|
98
97
|
type: "ephemeral";
|
|
99
98
|
ttl?: "5m" | "1h" | undefined;
|
|
100
99
|
} | undefined;
|
|
100
|
+
name?: string | undefined;
|
|
101
101
|
}>, z.ZodObject<{
|
|
102
102
|
role: z.ZodLiteral<"user">;
|
|
103
103
|
content: z.ZodString;
|
|
@@ -113,21 +113,21 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
113
113
|
ttl?: "5m" | "1h" | undefined;
|
|
114
114
|
}>>;
|
|
115
115
|
}, "strip", z.ZodTypeAny, {
|
|
116
|
-
role: "user";
|
|
117
116
|
content: string;
|
|
118
|
-
|
|
117
|
+
role: "user";
|
|
119
118
|
cacheControl?: {
|
|
120
119
|
type: "ephemeral";
|
|
121
120
|
ttl?: "5m" | "1h" | undefined;
|
|
122
121
|
} | undefined;
|
|
122
|
+
name?: string | undefined;
|
|
123
123
|
}, {
|
|
124
|
-
role: "user";
|
|
125
124
|
content: string;
|
|
126
|
-
|
|
125
|
+
role: "user";
|
|
127
126
|
cacheControl?: {
|
|
128
127
|
type: "ephemeral";
|
|
129
128
|
ttl?: "5m" | "1h" | undefined;
|
|
130
129
|
} | undefined;
|
|
130
|
+
name?: string | undefined;
|
|
131
131
|
}>, z.ZodObject<{
|
|
132
132
|
role: z.ZodLiteral<"agent">;
|
|
133
133
|
content: z.ZodOptional<z.ZodString>;
|
|
@@ -172,8 +172,11 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
172
172
|
}>>;
|
|
173
173
|
}, "strip", z.ZodTypeAny, {
|
|
174
174
|
role: "agent";
|
|
175
|
-
name?: string | undefined;
|
|
176
175
|
content?: string | undefined;
|
|
176
|
+
cacheControl?: {
|
|
177
|
+
type: "ephemeral";
|
|
178
|
+
ttl?: "5m" | "1h" | undefined;
|
|
179
|
+
} | undefined;
|
|
177
180
|
toolCalls?: {
|
|
178
181
|
function: {
|
|
179
182
|
name: string;
|
|
@@ -182,14 +185,14 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
182
185
|
type: "function";
|
|
183
186
|
id: string;
|
|
184
187
|
}[] | undefined;
|
|
188
|
+
name?: string | undefined;
|
|
189
|
+
}, {
|
|
190
|
+
role: "agent";
|
|
191
|
+
content?: string | undefined;
|
|
185
192
|
cacheControl?: {
|
|
186
193
|
type: "ephemeral";
|
|
187
194
|
ttl?: "5m" | "1h" | undefined;
|
|
188
195
|
} | undefined;
|
|
189
|
-
}, {
|
|
190
|
-
role: "agent";
|
|
191
|
-
name?: string | undefined;
|
|
192
|
-
content?: string | undefined;
|
|
193
196
|
toolCalls?: {
|
|
194
197
|
function: {
|
|
195
198
|
name: string;
|
|
@@ -198,10 +201,7 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
198
201
|
type: "function";
|
|
199
202
|
id: string;
|
|
200
203
|
}[] | undefined;
|
|
201
|
-
|
|
202
|
-
type: "ephemeral";
|
|
203
|
-
ttl?: "5m" | "1h" | undefined;
|
|
204
|
-
} | undefined;
|
|
204
|
+
name?: string | undefined;
|
|
205
205
|
}>, z.ZodObject<{
|
|
206
206
|
role: z.ZodLiteral<"tool">;
|
|
207
207
|
content: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, string, string | Record<string, unknown>>;
|
|
@@ -218,23 +218,23 @@ declare const chatMessageSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
218
218
|
ttl?: "5m" | "1h" | undefined;
|
|
219
219
|
}>>;
|
|
220
220
|
}, "strip", z.ZodTypeAny, {
|
|
221
|
-
role: "tool";
|
|
222
221
|
content: string;
|
|
222
|
+
role: "tool";
|
|
223
223
|
toolCallId: string;
|
|
224
|
-
name?: string | undefined;
|
|
225
224
|
cacheControl?: {
|
|
226
225
|
type: "ephemeral";
|
|
227
226
|
ttl?: "5m" | "1h" | undefined;
|
|
228
227
|
} | undefined;
|
|
228
|
+
name?: string | undefined;
|
|
229
229
|
}, {
|
|
230
|
-
role: "tool";
|
|
231
230
|
content: string | Record<string, unknown>;
|
|
231
|
+
role: "tool";
|
|
232
232
|
toolCallId: string;
|
|
233
|
-
name?: string | undefined;
|
|
234
233
|
cacheControl?: {
|
|
235
234
|
type: "ephemeral";
|
|
236
235
|
ttl?: "5m" | "1h" | undefined;
|
|
237
236
|
} | undefined;
|
|
237
|
+
name?: string | undefined;
|
|
238
238
|
}>]>;
|
|
239
239
|
export declare function safeParseChatMessages(messages: unknown): ChatMessageTemplate[] | undefined;
|
|
240
240
|
export declare function parseChatMessages(messages: (z.infer<typeof chatMessageSchema> & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AFS, type AFSExecOptions, type AFSExecResult, type AFSListOptions, type AFSListResult, type AFSModule, type AFSOptions, type AFSReadResult, type AFSSearchOptions } from "@aigne/afs";
|
|
2
2
|
import { nodejs } from "@aigne/platform-helpers/nodejs/index.js";
|
|
3
3
|
import type * as prompts from "@inquirer/prompts";
|
|
4
|
-
import { type ZodObject, type ZodType } from "zod";
|
|
4
|
+
import { type ZodObject, type ZodType, z } from "zod";
|
|
5
5
|
import type { AgentEvent, Context, UserContext } from "../aigne/context.js";
|
|
6
6
|
import type { MessagePayload } from "../aigne/message-queue.js";
|
|
7
7
|
import type { ContextUsage } from "../aigne/usage.js";
|
|
@@ -783,6 +783,25 @@ export interface AgentResponseProgress {
|
|
|
783
783
|
} | {
|
|
784
784
|
event: "agentFailed";
|
|
785
785
|
error: Error;
|
|
786
|
+
} | {
|
|
787
|
+
event: "message";
|
|
788
|
+
role: "user" | "agent";
|
|
789
|
+
message: ({
|
|
790
|
+
type: "text";
|
|
791
|
+
content: string;
|
|
792
|
+
} | {
|
|
793
|
+
type: "thinking";
|
|
794
|
+
thoughts: string;
|
|
795
|
+
} | {
|
|
796
|
+
type: "tool_use";
|
|
797
|
+
toolUseId: string;
|
|
798
|
+
name: string;
|
|
799
|
+
input: unknown;
|
|
800
|
+
} | {
|
|
801
|
+
type: "tool_result";
|
|
802
|
+
toolUseId: string;
|
|
803
|
+
content: unknown;
|
|
804
|
+
})[];
|
|
786
805
|
}) & Omit<AgentEvent, "agent"> & {
|
|
787
806
|
agent: {
|
|
788
807
|
name: string;
|
|
@@ -870,6 +889,17 @@ export interface FunctionAgentOptions<I extends Message = Message, O extends Mes
|
|
|
870
889
|
*/
|
|
871
890
|
export declare class FunctionAgent<I extends Message = Message, O extends Message = Message> extends Agent<I, O> {
|
|
872
891
|
tag: string;
|
|
892
|
+
static schema(): ZodObject<{
|
|
893
|
+
process: ZodType<FunctionAgentFn>;
|
|
894
|
+
}, "strip", z.ZodTypeAny, {
|
|
895
|
+
process: FunctionAgentFn<any, any, FunctionAgent<any, any>>;
|
|
896
|
+
}, {
|
|
897
|
+
process: FunctionAgentFn<any, any, FunctionAgent<any, any>>;
|
|
898
|
+
}>;
|
|
899
|
+
static load<I extends Message = any, O extends Message = any>(options: {
|
|
900
|
+
filepath: string;
|
|
901
|
+
parsed: object;
|
|
902
|
+
}): Promise<Agent<I, O>>;
|
|
873
903
|
/**
|
|
874
904
|
* Create a function agent from a function or options
|
|
875
905
|
*
|
package/lib/esm/agents/agent.js
CHANGED
|
@@ -5,6 +5,7 @@ import nunjucks from "nunjucks";
|
|
|
5
5
|
import { joinURL } from "ufo";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
8
|
+
import { codeToFunctionAgentFn } from "../loader/function-agent.js";
|
|
8
9
|
import { sortHooks } from "../utils/agent-utils.js";
|
|
9
10
|
import { getZodObjectKeys, isZodSchema } from "../utils/json-schema.js";
|
|
10
11
|
import { logger } from "../utils/logger.js";
|
|
@@ -824,6 +825,18 @@ function checkAgentInputOutputSchema(schema) {
|
|
|
824
825
|
*/
|
|
825
826
|
export class FunctionAgent extends Agent {
|
|
826
827
|
tag = "FunctionAgent";
|
|
828
|
+
static schema() {
|
|
829
|
+
return z.object({
|
|
830
|
+
process: z.preprocess((v) => (typeof v === "string" ? codeToFunctionAgentFn(v) : v), z.custom()),
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
static async load(options) {
|
|
834
|
+
const valid = await FunctionAgent.schema().parseAsync(options.parsed);
|
|
835
|
+
return new FunctionAgent({
|
|
836
|
+
...options.parsed,
|
|
837
|
+
process: valid.process,
|
|
838
|
+
});
|
|
839
|
+
}
|
|
827
840
|
/**
|
|
828
841
|
* Create a function agent from a function or options
|
|
829
842
|
*
|