@aigne/core 1.15.0 → 1.17.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/CHANGELOG.md +22 -0
- package/README.md +9 -7
- package/README.zh.md +9 -7
- package/lib/cjs/agents/agent.d.ts +168 -29
- package/lib/cjs/agents/agent.js +152 -56
- package/lib/cjs/agents/ai-agent.d.ts +7 -7
- package/lib/cjs/agents/ai-agent.js +19 -15
- package/lib/{esm/models → cjs/agents}/chat-model.d.ts +29 -19
- package/lib/cjs/{models → agents}/chat-model.js +56 -15
- package/lib/cjs/agents/guide-rail-agent.d.ts +62 -0
- package/lib/cjs/agents/guide-rail-agent.js +14 -0
- package/lib/cjs/agents/mcp-agent.d.ts +3 -4
- package/lib/cjs/agents/mcp-agent.js +11 -11
- package/lib/cjs/agents/team-agent.d.ts +7 -8
- package/lib/cjs/agents/team-agent.js +10 -10
- package/lib/cjs/agents/user-agent.d.ts +4 -4
- package/lib/cjs/agents/user-agent.js +10 -10
- package/lib/cjs/aigne/aigne.d.ts +13 -11
- package/lib/cjs/aigne/aigne.js +7 -6
- package/lib/cjs/aigne/context.d.ts +19 -8
- package/lib/cjs/aigne/context.js +27 -7
- package/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.js +2 -1
- package/lib/cjs/loader/agent-yaml.d.ts +2 -2
- package/lib/cjs/loader/index.d.ts +18 -11
- package/lib/cjs/loader/index.js +8 -27
- package/lib/cjs/memory/default-memory/default-memory-storage/index.d.ts +30 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/index.js +69 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/migrate.d.ts +7 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/migrate.js +53 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/migrations/20250523165801-init.d.ts +7 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/migrations/20250523165801-init.js +33 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/models/memory.d.ts +10 -0
- package/lib/cjs/memory/default-memory/default-memory-storage/models/memory.js +32 -0
- package/lib/cjs/memory/default-memory/index.d.ts +10 -0
- package/lib/cjs/memory/{default-memory.js → default-memory/index.js} +16 -25
- package/lib/cjs/memory/default-memory/storage.d.ts +13 -0
- package/lib/cjs/memory/default-memory/storage.js +6 -0
- package/lib/cjs/memory/memory.d.ts +3 -2
- package/lib/cjs/memory/memory.js +1 -1
- package/lib/cjs/memory/retriever.d.ts +2 -2
- package/lib/cjs/prompt/prompt-builder.d.ts +10 -4
- package/lib/cjs/prompt/prompt-builder.js +4 -4
- package/lib/cjs/prompt/template.d.ts +3 -3
- package/lib/cjs/utils/json-schema.js +1 -1
- package/lib/cjs/utils/logger.d.ts +33 -8
- package/lib/cjs/utils/logger.js +63 -5
- package/lib/cjs/utils/model-utils.d.ts +1 -1
- package/lib/cjs/utils/stream-utils.d.ts +3 -1
- package/lib/cjs/utils/stream-utils.js +31 -1
- package/lib/cjs/utils/type-utils.d.ts +7 -2
- package/lib/dts/agents/agent.d.ts +168 -29
- package/lib/dts/agents/ai-agent.d.ts +7 -7
- package/lib/{cjs/models → dts/agents}/chat-model.d.ts +29 -19
- package/lib/dts/agents/guide-rail-agent.d.ts +62 -0
- package/lib/dts/agents/mcp-agent.d.ts +3 -4
- package/lib/dts/agents/team-agent.d.ts +7 -8
- package/lib/dts/agents/user-agent.d.ts +4 -4
- package/lib/dts/aigne/aigne.d.ts +13 -11
- package/lib/dts/aigne/context.d.ts +19 -8
- package/lib/dts/index.d.ts +2 -1
- package/lib/dts/loader/agent-yaml.d.ts +2 -2
- package/lib/dts/loader/index.d.ts +18 -11
- package/lib/dts/memory/default-memory/default-memory-storage/index.d.ts +30 -0
- package/lib/dts/memory/default-memory/default-memory-storage/migrate.d.ts +7 -0
- package/lib/dts/memory/default-memory/default-memory-storage/migrations/20250523165801-init.d.ts +7 -0
- package/lib/dts/memory/default-memory/default-memory-storage/models/memory.d.ts +10 -0
- package/lib/dts/memory/default-memory/index.d.ts +10 -0
- package/lib/dts/memory/default-memory/storage.d.ts +13 -0
- package/lib/dts/memory/memory.d.ts +3 -2
- package/lib/dts/memory/retriever.d.ts +2 -2
- package/lib/dts/prompt/prompt-builder.d.ts +10 -4
- package/lib/dts/prompt/template.d.ts +3 -3
- package/lib/dts/utils/logger.d.ts +33 -8
- package/lib/dts/utils/model-utils.d.ts +1 -1
- package/lib/dts/utils/stream-utils.d.ts +3 -1
- package/lib/dts/utils/type-utils.d.ts +7 -2
- package/lib/esm/agents/agent.d.ts +168 -29
- package/lib/esm/agents/agent.js +152 -56
- package/lib/esm/agents/ai-agent.d.ts +7 -7
- package/lib/esm/agents/ai-agent.js +18 -14
- package/lib/{dts/models → esm/agents}/chat-model.d.ts +29 -19
- package/lib/esm/{models → agents}/chat-model.js +56 -15
- package/lib/esm/agents/guide-rail-agent.d.ts +62 -0
- package/lib/esm/agents/guide-rail-agent.js +11 -0
- package/lib/esm/agents/mcp-agent.d.ts +3 -4
- package/lib/esm/agents/mcp-agent.js +11 -11
- package/lib/esm/agents/team-agent.d.ts +7 -8
- package/lib/esm/agents/team-agent.js +10 -10
- package/lib/esm/agents/user-agent.d.ts +4 -4
- package/lib/esm/agents/user-agent.js +10 -10
- package/lib/esm/aigne/aigne.d.ts +13 -11
- package/lib/esm/aigne/aigne.js +7 -6
- package/lib/esm/aigne/context.d.ts +19 -8
- package/lib/esm/aigne/context.js +28 -8
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/loader/agent-yaml.d.ts +2 -2
- package/lib/esm/loader/index.d.ts +18 -11
- package/lib/esm/loader/index.js +8 -27
- package/lib/esm/memory/default-memory/default-memory-storage/index.d.ts +30 -0
- package/lib/esm/memory/default-memory/default-memory-storage/index.js +64 -0
- package/lib/esm/memory/default-memory/default-memory-storage/migrate.d.ts +7 -0
- package/lib/esm/memory/default-memory/default-memory-storage/migrate.js +16 -0
- package/lib/esm/memory/default-memory/default-memory-storage/migrations/20250523165801-init.d.ts +7 -0
- package/lib/esm/memory/default-memory/default-memory-storage/migrations/20250523165801-init.js +28 -0
- package/lib/esm/memory/default-memory/default-memory-storage/models/memory.d.ts +10 -0
- package/lib/esm/memory/default-memory/default-memory-storage/models/memory.js +29 -0
- package/lib/esm/memory/default-memory/index.d.ts +10 -0
- package/lib/esm/memory/{default-memory.js → default-memory/index.js} +15 -24
- package/lib/esm/memory/default-memory/storage.d.ts +13 -0
- package/lib/esm/memory/default-memory/storage.js +2 -0
- package/lib/esm/memory/memory.d.ts +3 -2
- package/lib/esm/memory/memory.js +2 -2
- package/lib/esm/memory/retriever.d.ts +2 -2
- package/lib/esm/prompt/prompt-builder.d.ts +10 -4
- package/lib/esm/prompt/prompt-builder.js +4 -4
- package/lib/esm/prompt/template.d.ts +3 -3
- package/lib/esm/utils/json-schema.js +1 -1
- package/lib/esm/utils/logger.d.ts +33 -8
- package/lib/esm/utils/logger.js +61 -4
- package/lib/esm/utils/model-utils.d.ts +1 -1
- package/lib/esm/utils/stream-utils.d.ts +3 -1
- package/lib/esm/utils/stream-utils.js +29 -1
- package/lib/esm/utils/type-utils.d.ts +7 -2
- package/package.json +4 -20
- package/lib/cjs/client/client.d.ts +0 -97
- package/lib/cjs/client/client.js +0 -87
- package/lib/cjs/client/index.d.ts +0 -1
- package/lib/cjs/client/index.js +0 -17
- package/lib/cjs/memory/default-memory.d.ts +0 -16
- package/lib/cjs/models/bedrock-chat-model.d.ts +0 -79
- package/lib/cjs/models/bedrock-chat-model.js +0 -303
- package/lib/cjs/models/claude-chat-model.d.ts +0 -114
- package/lib/cjs/models/claude-chat-model.js +0 -317
- package/lib/cjs/models/deepseek-chat-model.d.ts +0 -23
- package/lib/cjs/models/deepseek-chat-model.js +0 -35
- package/lib/cjs/models/gemini-chat-model.d.ts +0 -23
- package/lib/cjs/models/gemini-chat-model.js +0 -35
- package/lib/cjs/models/ollama-chat-model.d.ts +0 -22
- package/lib/cjs/models/ollama-chat-model.js +0 -34
- package/lib/cjs/models/open-router-chat-model.d.ts +0 -22
- package/lib/cjs/models/open-router-chat-model.js +0 -34
- package/lib/cjs/models/openai-chat-model.d.ts +0 -166
- package/lib/cjs/models/openai-chat-model.js +0 -415
- package/lib/cjs/models/xai-chat-model.d.ts +0 -21
- package/lib/cjs/models/xai-chat-model.js +0 -33
- package/lib/cjs/server/error.d.ts +0 -15
- package/lib/cjs/server/error.js +0 -22
- package/lib/cjs/server/index.d.ts +0 -2
- package/lib/cjs/server/index.js +0 -18
- package/lib/cjs/server/server.d.ts +0 -135
- package/lib/cjs/server/server.js +0 -187
- package/lib/dts/client/client.d.ts +0 -97
- package/lib/dts/client/index.d.ts +0 -1
- package/lib/dts/memory/default-memory.d.ts +0 -16
- package/lib/dts/models/bedrock-chat-model.d.ts +0 -79
- package/lib/dts/models/claude-chat-model.d.ts +0 -114
- package/lib/dts/models/deepseek-chat-model.d.ts +0 -23
- package/lib/dts/models/gemini-chat-model.d.ts +0 -23
- package/lib/dts/models/ollama-chat-model.d.ts +0 -22
- package/lib/dts/models/open-router-chat-model.d.ts +0 -22
- package/lib/dts/models/openai-chat-model.d.ts +0 -166
- package/lib/dts/models/xai-chat-model.d.ts +0 -21
- package/lib/dts/server/error.d.ts +0 -15
- package/lib/dts/server/index.d.ts +0 -2
- package/lib/dts/server/server.d.ts +0 -135
- package/lib/esm/client/client.d.ts +0 -97
- package/lib/esm/client/client.js +0 -83
- package/lib/esm/client/index.d.ts +0 -1
- package/lib/esm/client/index.js +0 -1
- package/lib/esm/memory/default-memory.d.ts +0 -16
- package/lib/esm/models/bedrock-chat-model.d.ts +0 -79
- package/lib/esm/models/bedrock-chat-model.js +0 -298
- package/lib/esm/models/claude-chat-model.d.ts +0 -114
- package/lib/esm/models/claude-chat-model.js +0 -310
- package/lib/esm/models/deepseek-chat-model.d.ts +0 -23
- package/lib/esm/models/deepseek-chat-model.js +0 -31
- package/lib/esm/models/gemini-chat-model.d.ts +0 -23
- package/lib/esm/models/gemini-chat-model.js +0 -31
- package/lib/esm/models/ollama-chat-model.d.ts +0 -22
- package/lib/esm/models/ollama-chat-model.js +0 -30
- package/lib/esm/models/open-router-chat-model.d.ts +0 -22
- package/lib/esm/models/open-router-chat-model.js +0 -30
- package/lib/esm/models/openai-chat-model.d.ts +0 -166
- package/lib/esm/models/openai-chat-model.js +0 -405
- package/lib/esm/models/xai-chat-model.d.ts +0 -21
- package/lib/esm/models/xai-chat-model.js +0 -29
- package/lib/esm/server/error.d.ts +0 -15
- package/lib/esm/server/error.js +0 -18
- package/lib/esm/server/index.d.ts +0 -2
- package/lib/esm/server/index.js +0 -2
- package/lib/esm/server/server.d.ts +0 -135
- package/lib/esm/server/server.js +0 -180
|
@@ -3,38 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DefaultMemory =
|
|
6
|
+
exports.DefaultMemory = void 0;
|
|
7
7
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
|
-
const memory_js_1 = require("
|
|
9
|
-
const recorder_js_1 = require("
|
|
10
|
-
const retriever_js_1 = require("
|
|
11
|
-
|
|
8
|
+
const memory_js_1 = require("../memory.js");
|
|
9
|
+
const recorder_js_1 = require("../recorder.js");
|
|
10
|
+
const retriever_js_1 = require("../retriever.js");
|
|
11
|
+
const index_js_1 = require("./default-memory-storage/index.js");
|
|
12
|
+
const storage_js_1 = require("./storage.js");
|
|
12
13
|
class DefaultMemory extends memory_js_1.MemoryAgent {
|
|
13
14
|
constructor(options = {}) {
|
|
14
15
|
super({
|
|
15
16
|
...options,
|
|
16
17
|
autoUpdate: options.autoUpdate ?? true,
|
|
17
18
|
});
|
|
19
|
+
this.storage =
|
|
20
|
+
options.storage instanceof storage_js_1.MemoryStorage
|
|
21
|
+
? options.storage
|
|
22
|
+
: new index_js_1.DefaultMemoryStorage(options.storage);
|
|
18
23
|
if (!this.recorder)
|
|
19
24
|
this.recorder = new DefaultMemoryRecorder(this);
|
|
20
25
|
if (!this.retriever)
|
|
21
26
|
this.retriever = new DefaultMemoryRetriever(this);
|
|
22
27
|
}
|
|
23
|
-
storage
|
|
24
|
-
async search(options = {}) {
|
|
25
|
-
const { limit = exports.DEFAULT_MAX_MEMORY_COUNT } = options;
|
|
26
|
-
const result = limit < 0 ? this.storage.slice(limit) : this.storage.slice(0, limit);
|
|
27
|
-
return { result };
|
|
28
|
-
}
|
|
29
|
-
async create(memory) {
|
|
30
|
-
const m = {
|
|
31
|
-
...memory,
|
|
32
|
-
id: (0, memory_js_1.newMemoryId)(),
|
|
33
|
-
createdAt: new Date().toISOString(),
|
|
34
|
-
};
|
|
35
|
-
this.storage.push(m);
|
|
36
|
-
return { result: m };
|
|
37
|
-
}
|
|
28
|
+
storage;
|
|
38
29
|
}
|
|
39
30
|
exports.DefaultMemory = DefaultMemory;
|
|
40
31
|
class DefaultMemoryRetriever extends retriever_js_1.MemoryRetriever {
|
|
@@ -43,8 +34,8 @@ class DefaultMemoryRetriever extends retriever_js_1.MemoryRetriever {
|
|
|
43
34
|
super({});
|
|
44
35
|
this.memory = memory;
|
|
45
36
|
}
|
|
46
|
-
async process(input) {
|
|
47
|
-
const { result } = await this.memory.search(input);
|
|
37
|
+
async process(input, options) {
|
|
38
|
+
const { result } = await this.memory.storage.search(input, options);
|
|
48
39
|
return { memories: result };
|
|
49
40
|
}
|
|
50
41
|
}
|
|
@@ -54,12 +45,12 @@ class DefaultMemoryRecorder extends recorder_js_1.MemoryRecorder {
|
|
|
54
45
|
super({});
|
|
55
46
|
this.memory = memory;
|
|
56
47
|
}
|
|
57
|
-
async process(input) {
|
|
48
|
+
async process(input, options) {
|
|
58
49
|
const newMemories = [];
|
|
59
50
|
for (const content of input.content) {
|
|
60
|
-
const { result: [last], } = await this.memory.search({ limit:
|
|
51
|
+
const { result: [last], } = await this.memory.storage.search({ limit: 1 }, options);
|
|
61
52
|
if (!(0, fast_deep_equal_1.default)(last?.content, content)) {
|
|
62
|
-
const { result } = await this.memory.create({ content });
|
|
53
|
+
const { result } = await this.memory.storage.create({ content }, options);
|
|
63
54
|
newMemories.push(result);
|
|
64
55
|
}
|
|
65
56
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AgentInvokeOptions } from "../../agents/agent.js";
|
|
2
|
+
import type { Memory } from "../memory.js";
|
|
3
|
+
export declare abstract class MemoryStorage {
|
|
4
|
+
abstract create(memory: Pick<Memory, "content">, options: AgentInvokeOptions): Promise<{
|
|
5
|
+
result: Memory;
|
|
6
|
+
}>;
|
|
7
|
+
abstract search(query: {
|
|
8
|
+
search?: string;
|
|
9
|
+
limit?: number;
|
|
10
|
+
}, options: AgentInvokeOptions): Promise<{
|
|
11
|
+
result: Memory[];
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Agent, type AgentOptions, type Message } from "../agents/agent.js";
|
|
1
|
+
import { Agent, type AgentInvokeOptions, type AgentOptions, type Message } from "../agents/agent.js";
|
|
2
2
|
import type { Context } from "../aigne/context.js";
|
|
3
3
|
import type { MessagePayload } from "../aigne/message-queue.js";
|
|
4
4
|
import type { MemoryRecorder, MemoryRecorderInput, MemoryRecorderOutput } from "./recorder.js";
|
|
5
5
|
import type { MemoryRetriever, MemoryRetrieverInput, MemoryRetrieverOutput } from "./retriever.js";
|
|
6
6
|
export interface Memory {
|
|
7
7
|
id: string;
|
|
8
|
+
sessionId?: string | null;
|
|
8
9
|
content: unknown;
|
|
9
10
|
createdAt: string;
|
|
10
11
|
}
|
|
@@ -62,7 +63,7 @@ export declare class MemoryAgent extends Agent {
|
|
|
62
63
|
* MemoryAgent doesn't directly process messages like other agents, so this method
|
|
63
64
|
* throws an error when called. Use the specialized retrieve() and record() methods instead.
|
|
64
65
|
*/
|
|
65
|
-
process(_input: Message,
|
|
66
|
+
process(_input: Message, _options: AgentInvokeOptions): Promise<Message>;
|
|
66
67
|
/**
|
|
67
68
|
* Retrieves memories based on the provided input criteria.
|
|
68
69
|
*
|
package/lib/cjs/memory/memory.js
CHANGED
|
@@ -85,7 +85,7 @@ class MemoryAgent extends agent_js_1.Agent {
|
|
|
85
85
|
* MemoryAgent doesn't directly process messages like other agents, so this method
|
|
86
86
|
* throws an error when called. Use the specialized retrieve() and record() methods instead.
|
|
87
87
|
*/
|
|
88
|
-
async process(_input,
|
|
88
|
+
async process(_input, _options) {
|
|
89
89
|
throw new Error("Method not implemented.");
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
@@ -39,11 +39,11 @@ export declare const memoryRetrieverInputSchema: z.ZodObject<{
|
|
|
39
39
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
40
40
|
search: z.ZodOptional<z.ZodString>;
|
|
41
41
|
}, "strip", z.ZodTypeAny, {
|
|
42
|
-
limit?: number | undefined;
|
|
43
42
|
search?: string | undefined;
|
|
44
|
-
}, {
|
|
45
43
|
limit?: number | undefined;
|
|
44
|
+
}, {
|
|
46
45
|
search?: string | undefined;
|
|
46
|
+
limit?: number | undefined;
|
|
47
47
|
}>;
|
|
48
48
|
/**
|
|
49
49
|
* @hidden
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { Agent, type Message } from "../agents/agent.js";
|
|
3
3
|
import type { AIAgent } from "../agents/ai-agent.js";
|
|
4
|
+
import type { ChatModel, ChatModelInput } from "../agents/chat-model.js";
|
|
4
5
|
import type { Context } from "../aigne/context.js";
|
|
5
6
|
import type { MemoryAgent } from "../memory/memory.js";
|
|
6
|
-
import type { ChatModel, ChatModelInput } from "../models/chat-model.js";
|
|
7
7
|
import { ChatMessagesTemplate } from "./template.js";
|
|
8
8
|
export declare const MESSAGE_KEY = "$message";
|
|
9
|
-
export declare function createMessage<
|
|
9
|
+
export declare function createMessage<V extends Message>(message: string, variables?: V): {
|
|
10
|
+
[MESSAGE_KEY]: string;
|
|
11
|
+
} & typeof variables;
|
|
12
|
+
export declare function createMessage<I extends Message, V extends Message>(message: I, variables?: V): I & typeof variables;
|
|
13
|
+
export declare function createMessage<I extends Message, V extends Message>(message: string | I, variables?: V): ({
|
|
14
|
+
[MESSAGE_KEY]: string;
|
|
15
|
+
} | I) & typeof variables;
|
|
10
16
|
export declare function getMessage(input: Message): string | undefined;
|
|
11
17
|
export interface PromptBuilderOptions {
|
|
12
18
|
instructions?: string | ChatMessagesTemplate;
|
|
13
19
|
}
|
|
14
|
-
export interface
|
|
20
|
+
export interface PromptBuildOptions {
|
|
15
21
|
memory?: MemoryAgent | MemoryAgent[];
|
|
16
22
|
context: Context;
|
|
17
23
|
agent?: AIAgent;
|
|
@@ -32,7 +38,7 @@ export declare class PromptBuilder {
|
|
|
32
38
|
private static fromMCPPromptResult;
|
|
33
39
|
constructor(options?: PromptBuilderOptions);
|
|
34
40
|
instructions?: string | ChatMessagesTemplate;
|
|
35
|
-
build(options:
|
|
41
|
+
build(options: PromptBuildOptions): Promise<ChatModelInput & {
|
|
36
42
|
toolAgents?: Agent[];
|
|
37
43
|
}>;
|
|
38
44
|
private buildMessages;
|
|
@@ -12,10 +12,10 @@ const type_utils_js_1 = require("../utils/type-utils.js");
|
|
|
12
12
|
const memory_message_template_js_1 = require("./prompts/memory-message-template.js");
|
|
13
13
|
const template_js_1 = require("./template.js");
|
|
14
14
|
exports.MESSAGE_KEY = "$message";
|
|
15
|
-
function createMessage(message) {
|
|
16
|
-
return typeof message === "string"
|
|
17
|
-
? { [exports.MESSAGE_KEY]: message }
|
|
18
|
-
: { ...message };
|
|
15
|
+
function createMessage(message, variables) {
|
|
16
|
+
return (typeof message === "string"
|
|
17
|
+
? { [exports.MESSAGE_KEY]: message, ...variables }
|
|
18
|
+
: { ...message, ...variables });
|
|
19
19
|
}
|
|
20
20
|
function getMessage(input) {
|
|
21
21
|
const userInputMessage = input[exports.MESSAGE_KEY];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChatModelInputMessage, ChatModelInputMessageContent, ChatModelOutputToolCall } from "../
|
|
1
|
+
import type { ChatModelInputMessage, ChatModelInputMessageContent, ChatModelOutputToolCall } from "../agents/chat-model.js";
|
|
2
2
|
export declare class PromptTemplate {
|
|
3
3
|
template: string;
|
|
4
4
|
static from(template: string): PromptTemplate;
|
|
@@ -24,7 +24,7 @@ export declare class AgentMessageTemplate extends ChatMessageTemplate {
|
|
|
24
24
|
constructor(content?: ChatModelInputMessage["content"], toolCalls?: ChatModelOutputToolCall[] | undefined, name?: string);
|
|
25
25
|
format(variables?: Record<string, unknown>): {
|
|
26
26
|
toolCalls: ChatModelOutputToolCall[] | undefined;
|
|
27
|
-
role: import("../
|
|
27
|
+
role: import("../agents/chat-model.js").Role;
|
|
28
28
|
content?: ChatModelInputMessageContent;
|
|
29
29
|
toolCallId?: string;
|
|
30
30
|
name?: string;
|
|
@@ -36,7 +36,7 @@ export declare class ToolMessageTemplate extends ChatMessageTemplate {
|
|
|
36
36
|
constructor(content: object | string, toolCallId: string, name?: string);
|
|
37
37
|
format(variables?: Record<string, unknown>): {
|
|
38
38
|
toolCallId: string;
|
|
39
|
-
role: import("../
|
|
39
|
+
role: import("../agents/chat-model.js").Role;
|
|
40
40
|
content?: ChatModelInputMessageContent;
|
|
41
41
|
toolCalls?: {
|
|
42
42
|
id: string;
|
|
@@ -1,8 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
ERROR = "error",
|
|
3
|
+
WARN = "warn",
|
|
4
|
+
INFO = "info",
|
|
5
|
+
DEBUG = "debug"
|
|
6
|
+
}
|
|
7
|
+
export declare class Logger {
|
|
8
|
+
constructor(options: {
|
|
9
|
+
level: LogLevel;
|
|
10
|
+
ns: string;
|
|
11
|
+
});
|
|
12
|
+
level: LogLevel;
|
|
13
|
+
private debugLogger;
|
|
14
|
+
private infoLogger;
|
|
15
|
+
private warnLogger;
|
|
16
|
+
private errorLogger;
|
|
17
|
+
logMessage: {
|
|
18
|
+
(...data: any[]): void;
|
|
19
|
+
(...data: any[]): void;
|
|
20
|
+
(message?: any, ...optionalParams: any[]): void;
|
|
21
|
+
};
|
|
22
|
+
logError: {
|
|
23
|
+
(...data: any[]): void;
|
|
24
|
+
(...data: any[]): void;
|
|
25
|
+
(message?: any, ...optionalParams: any[]): void;
|
|
26
|
+
};
|
|
27
|
+
debug(message: string, ...args: unknown[]): void;
|
|
28
|
+
info(message: string, ...args: unknown[]): void;
|
|
29
|
+
warn(message: string, ...args: unknown[]): void;
|
|
30
|
+
error(message: string, ...args: unknown[]): void;
|
|
31
|
+
enabled(level: LogLevel): boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const logger: Logger;
|
package/lib/cjs/utils/logger.js
CHANGED
|
@@ -3,10 +3,68 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.logger = void 0;
|
|
6
|
+
exports.logger = exports.Logger = exports.LogLevel = void 0;
|
|
7
|
+
const node_tty_1 = require("node:tty");
|
|
7
8
|
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
var LogLevel;
|
|
10
|
+
(function (LogLevel) {
|
|
11
|
+
LogLevel["ERROR"] = "error";
|
|
12
|
+
LogLevel["WARN"] = "warn";
|
|
13
|
+
LogLevel["INFO"] = "info";
|
|
14
|
+
LogLevel["DEBUG"] = "debug";
|
|
15
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
16
|
+
const levels = Object.values(LogLevel);
|
|
17
|
+
class Logger {
|
|
18
|
+
constructor(options) {
|
|
19
|
+
this.level = options.level;
|
|
20
|
+
this.debugLogger = (0, debug_1.default)(`${options.ns}:debug`);
|
|
21
|
+
this.infoLogger = (0, debug_1.default)(`${options.ns}:info`);
|
|
22
|
+
this.warnLogger = (0, debug_1.default)(`${options.ns}:warn`);
|
|
23
|
+
this.errorLogger = (0, debug_1.default)(`${options.ns}:error`);
|
|
24
|
+
for (const logger of [this.debugLogger, this.infoLogger, this.warnLogger]) {
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
logger.useColors = (0, node_tty_1.isatty)(process.stdout.fd);
|
|
27
|
+
logger.enabled = true;
|
|
28
|
+
logger.log = (...args) => this.logMessage(...args);
|
|
29
|
+
}
|
|
30
|
+
this.errorLogger.log = (...args) => this.logError(...args);
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
this.errorLogger.useColors = (0, node_tty_1.isatty)(process.stderr.fd);
|
|
33
|
+
this.errorLogger.enabled = true;
|
|
34
|
+
}
|
|
35
|
+
level;
|
|
36
|
+
debugLogger;
|
|
37
|
+
infoLogger;
|
|
38
|
+
warnLogger;
|
|
39
|
+
errorLogger;
|
|
40
|
+
logMessage = console.log;
|
|
41
|
+
logError = console.error;
|
|
42
|
+
debug(message, ...args) {
|
|
43
|
+
if (this.enabled(LogLevel.DEBUG)) {
|
|
44
|
+
this.debugLogger(message, ...args);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
info(message, ...args) {
|
|
48
|
+
if (this.enabled(LogLevel.INFO)) {
|
|
49
|
+
this.infoLogger(message, ...args);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
warn(message, ...args) {
|
|
53
|
+
if (this.enabled(LogLevel.WARN)) {
|
|
54
|
+
this.warnLogger(message, ...args);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
error(message, ...args) {
|
|
58
|
+
if (this.enabled(LogLevel.ERROR)) {
|
|
59
|
+
this.errorLogger(message, ...args);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
enabled(level) {
|
|
63
|
+
return levels.indexOf(this.level) >= levels.indexOf(level);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.Logger = Logger;
|
|
67
|
+
exports.logger = new Logger({
|
|
68
|
+
ns: "aigne:core",
|
|
69
|
+
level: LogLevel.INFO,
|
|
12
70
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ChatModelOutputUsage } from "../
|
|
1
|
+
import type { ChatModelOutputUsage } from "../agents/chat-model.js";
|
|
2
2
|
import type { Nullish } from "./type-utils.js";
|
|
3
3
|
export declare function mergeUsage(...usages: Nullish<ChatModelOutputUsage>[]): ChatModelOutputUsage;
|
|
@@ -6,7 +6,7 @@ export declare function mergeAgentResponseChunk<T extends Message>(output: T, ch
|
|
|
6
6
|
export declare function agentResponseStreamToObject<T extends Message>(stream: AgentResponseStream<T> | AgentProcessAsyncGenerator<T>): Promise<T>;
|
|
7
7
|
export declare function asyncGeneratorToReadableStream<T extends Message>(generator: AgentProcessAsyncGenerator<T>): AgentResponseStream<T>;
|
|
8
8
|
export declare function onAgentResponseStreamEnd<T extends Message>(stream: AgentResponseStream<T>, callback: (result: T) => PromiseOrValue<Partial<T> | void>, options?: {
|
|
9
|
-
errorCallback?: (error: Error) => Error
|
|
9
|
+
errorCallback?: (error: Error) => PromiseOrValue<Error>;
|
|
10
10
|
processChunk?: (chunk: AgentResponseChunk<T>) => AgentResponseChunk<T>;
|
|
11
11
|
}): ReadableStream<any>;
|
|
12
12
|
export declare function isAsyncGenerator<T extends AsyncGenerator>(value: AsyncGenerator | unknown): value is T;
|
|
@@ -19,3 +19,5 @@ export declare function readableStreamToArray<T>(stream: ReadableStream<T>, opti
|
|
|
19
19
|
catchError?: false;
|
|
20
20
|
}): Promise<T[]>;
|
|
21
21
|
export declare function stringToAgentResponseStream(str: string, key?: "text" | typeof MESSAGE_KEY | string): AgentResponseStream<Message>;
|
|
22
|
+
export declare function toReadableStream(stream: NodeJS.ReadStream): ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
23
|
+
export declare function readAllString(stream: NodeJS.ReadStream | ReadableStream): Promise<string>;
|
|
@@ -13,6 +13,8 @@ exports.arrayToAgentProcessAsyncGenerator = arrayToAgentProcessAsyncGenerator;
|
|
|
13
13
|
exports.arrayToReadableStream = arrayToReadableStream;
|
|
14
14
|
exports.readableStreamToArray = readableStreamToArray;
|
|
15
15
|
exports.stringToAgentResponseStream = stringToAgentResponseStream;
|
|
16
|
+
exports.toReadableStream = toReadableStream;
|
|
17
|
+
exports.readAllString = readAllString;
|
|
16
18
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
17
19
|
const agent_js_1 = require("../agents/agent.js");
|
|
18
20
|
const type_utils_js_1 = require("./type-utils.js");
|
|
@@ -113,7 +115,7 @@ function onAgentResponseStreamEnd(stream, callback, options) {
|
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
catch (error) {
|
|
116
|
-
controller.error(options?.errorCallback?.(error) ?? error);
|
|
118
|
+
controller.error((await options?.errorCallback?.(error)) ?? error);
|
|
117
119
|
}
|
|
118
120
|
},
|
|
119
121
|
});
|
|
@@ -166,3 +168,31 @@ function stringToAgentResponseStream(str, key = "text") {
|
|
|
166
168
|
const segments = segmenter.segment(str);
|
|
167
169
|
return arrayToReadableStream(Array.from(segments).map((segment) => ({ delta: { text: { [key]: segment.segment } } })));
|
|
168
170
|
}
|
|
171
|
+
function toReadableStream(stream) {
|
|
172
|
+
return new ReadableStream({
|
|
173
|
+
start(controller) {
|
|
174
|
+
const onData = (chunk) => {
|
|
175
|
+
controller.enqueue(new Uint8Array(chunk));
|
|
176
|
+
};
|
|
177
|
+
const onEnd = () => {
|
|
178
|
+
cleanup();
|
|
179
|
+
controller.close();
|
|
180
|
+
};
|
|
181
|
+
const onError = (err) => {
|
|
182
|
+
cleanup();
|
|
183
|
+
controller.error(err);
|
|
184
|
+
};
|
|
185
|
+
function cleanup() {
|
|
186
|
+
stream.off("data", onData);
|
|
187
|
+
stream.off("end", onEnd);
|
|
188
|
+
stream.off("error", onError);
|
|
189
|
+
}
|
|
190
|
+
stream.on("data", onData);
|
|
191
|
+
stream.on("end", onEnd);
|
|
192
|
+
stream.on("error", onError);
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
async function readAllString(stream) {
|
|
197
|
+
return (await readableStreamToArray((stream instanceof ReadableStream ? stream : toReadableStream(stream)).pipeThrough(new TextDecoderStream()))).join("");
|
|
198
|
+
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { type ZodType } from "zod";
|
|
1
|
+
import { type ZodType, z } from "zod";
|
|
2
2
|
export type PromiseOrValue<T> = T | Promise<T>;
|
|
3
3
|
export type Nullish<T> = T | null | undefined | void;
|
|
4
4
|
export type OmitPropertiesFromArrayFirstElement<T extends unknown[], K extends string | number | symbol> = T extends [infer U, ...infer Rest] ? [Omit<U, K>, ...Rest] : never;
|
|
5
|
+
export type XOr<T, K extends keyof T, O extends keyof T> = (Omit<T, O> & {
|
|
6
|
+
[key in O]?: undefined;
|
|
7
|
+
}) | (Omit<T, K> & {
|
|
8
|
+
[key in K]?: undefined;
|
|
9
|
+
});
|
|
5
10
|
export declare function isNil(value: unknown): value is null | undefined;
|
|
6
11
|
export declare function isRecord<T>(value: unknown): value is Record<string, T>;
|
|
7
12
|
export declare function isEmpty(obj: unknown): boolean;
|
|
@@ -15,6 +20,6 @@ export declare function orArrayToArray<T>(value?: T | T[]): T[];
|
|
|
15
20
|
export declare function createAccessorArray<T>(array: T[], accessor: (array: T[], name: string) => T | undefined): T[] & {
|
|
16
21
|
[key: string]: T;
|
|
17
22
|
};
|
|
18
|
-
export declare function checkArguments<T>(prefix: string, schema:
|
|
23
|
+
export declare function checkArguments<T extends ZodType>(prefix: string, schema: T, args: unknown): z.infer<T>;
|
|
19
24
|
export declare function tryOrThrow<P extends PromiseOrValue<unknown>>(fn: () => P, error: string | Error | ((error: Error) => Error)): P;
|
|
20
25
|
export declare function tryOrThrow<P extends PromiseOrValue<unknown>>(fn: () => P, error?: Nullish<string | Error | ((error: Error) => Nullish<Error>)>): P | undefined;
|