@n8n/agents 0.6.0 → 0.7.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/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +12 -8
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/integrations/langsmith.d.ts +2 -0
- package/dist/integrations/langsmith.js +117 -2
- package/dist/integrations/langsmith.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +6 -7
- package/dist/runtime/agent-runtime.js +390 -204
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/event-bus.d.ts +1 -0
- package/dist/runtime/event-bus.js +3 -0
- package/dist/runtime/event-bus.js.map +1 -1
- package/dist/runtime/json-value.d.ts +2 -0
- package/dist/runtime/json-value.js +43 -0
- package/dist/runtime/json-value.js.map +1 -0
- package/dist/runtime/memory-store.d.ts +40 -2
- package/dist/runtime/memory-store.js +138 -3
- package/dist/runtime/memory-store.js.map +1 -1
- package/dist/runtime/message-list.d.ts +5 -0
- package/dist/runtime/message-list.js +47 -0
- package/dist/runtime/message-list.js.map +1 -1
- package/dist/runtime/messages.d.ts +0 -2
- package/dist/runtime/messages.js +127 -101
- package/dist/runtime/messages.js.map +1 -1
- package/dist/runtime/model-factory.js +117 -34
- package/dist/runtime/model-factory.js.map +1 -1
- package/dist/runtime/provider-credentials.d.ts +167 -0
- package/dist/runtime/provider-credentials.js +34 -0
- package/dist/runtime/provider-credentials.js.map +1 -0
- package/dist/runtime/runtime-helpers.d.ts +3 -4
- package/dist/runtime/runtime-helpers.js +6 -32
- package/dist/runtime/runtime-helpers.js.map +1 -1
- package/dist/runtime/stream.js +25 -43
- package/dist/runtime/stream.js.map +1 -1
- package/dist/runtime/strip-orphaned-tool-messages.js +1 -25
- package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
- package/dist/runtime/title-generation.d.ts +12 -3
- package/dist/runtime/title-generation.js +72 -3
- package/dist/runtime/title-generation.js.map +1 -1
- package/dist/runtime/tool-adapter.d.ts +1 -1
- package/dist/runtime/tool-adapter.js +3 -2
- package/dist/runtime/tool-adapter.js.map +1 -1
- package/dist/runtime/working-memory.d.ts +1 -1
- package/dist/runtime/working-memory.js +1 -1
- package/dist/runtime/working-memory.js.map +1 -1
- package/dist/sdk/agent.d.ts +24 -23
- package/dist/sdk/agent.js +50 -324
- package/dist/sdk/agent.js.map +1 -1
- package/dist/sdk/eval.d.ts +0 -3
- package/dist/sdk/eval.js +4 -9
- package/dist/sdk/eval.js.map +1 -1
- package/dist/sdk/provider-capabilities.js +4 -2
- package/dist/sdk/provider-capabilities.js.map +1 -1
- package/dist/sdk/provider-tools.d.ts +17 -2
- package/dist/sdk/provider-tools.js +19 -0
- package/dist/sdk/provider-tools.js.map +1 -1
- package/dist/sdk/telemetry.d.ts +2 -0
- package/dist/sdk/telemetry.js +6 -0
- package/dist/sdk/telemetry.js.map +1 -1
- package/dist/sdk/tool.d.ts +17 -10
- package/dist/sdk/tool.js +34 -0
- package/dist/sdk/tool.js.map +1 -1
- package/dist/sdk/verify.js +1 -4
- package/dist/sdk/verify.js.map +1 -1
- package/dist/storage/base-memory.d.ts +64 -0
- package/dist/storage/base-memory.js +54 -0
- package/dist/storage/base-memory.js.map +1 -0
- package/dist/storage/postgres-memory.d.ts +33 -16
- package/dist/storage/postgres-memory.js +46 -25
- package/dist/storage/postgres-memory.js.map +1 -1
- package/dist/storage/sqlite-memory.d.ts +16 -6
- package/dist/storage/sqlite-memory.js +16 -10
- package/dist/storage/sqlite-memory.js.map +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/runtime/event.d.ts +3 -9
- package/dist/types/runtime/event.js.map +1 -1
- package/dist/types/sdk/agent-builder.d.ts +0 -3
- package/dist/types/sdk/agent.d.ts +64 -27
- package/dist/types/sdk/credential-provider.d.ts +2 -3
- package/dist/types/sdk/memory.d.ts +23 -2
- package/dist/types/sdk/message.d.ts +11 -10
- package/dist/types/sdk/observation.d.ts +100 -0
- package/dist/types/sdk/observation.js +5 -0
- package/dist/types/sdk/observation.js.map +1 -0
- package/dist/types/sdk/tool-descriptor.d.ts +13 -0
- package/dist/types/sdk/{schema.js → tool-descriptor.js} +1 -1
- package/dist/types/sdk/tool-descriptor.js.map +1 -0
- package/dist/types/sdk/tool.d.ts +8 -3
- package/dist/types/telemetry.d.ts +1 -0
- package/dist/utils/parse.d.ts +10 -0
- package/dist/utils/parse.js +26 -0
- package/dist/utils/parse.js.map +1 -0
- package/dist/utils/zod.d.ts +1 -1
- package/dist/utils/zod.js.map +1 -1
- package/dist/workspace/tools/batch-str-replace-file.d.ts +3 -0
- package/dist/workspace/tools/batch-str-replace-file.js +67 -0
- package/dist/workspace/tools/batch-str-replace-file.js.map +1 -0
- package/dist/workspace/tools/str-replace-file.d.ts +3 -0
- package/dist/workspace/tools/str-replace-file.js +51 -0
- package/dist/workspace/tools/str-replace-file.js.map +1 -0
- package/dist/workspace/tools/workspace-tools.js +4 -0
- package/dist/workspace/tools/workspace-tools.js.map +1 -1
- package/package.json +17 -8
- package/dist/codegen/generate-agent-code.d.ts +0 -2
- package/dist/codegen/generate-agent-code.js +0 -197
- package/dist/codegen/generate-agent-code.js.map +0 -1
- package/dist/sdk/from-schema.d.ts +0 -15
- package/dist/sdk/from-schema.js +0 -218
- package/dist/sdk/from-schema.js.map +0 -1
- package/dist/types/sdk/schema.d.ts +0 -99
- package/dist/types/sdk/schema.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-adapter.js","sourceRoot":"","sources":["../../src/runtime/tool-adapter.ts"],"names":[],"mappings":";;AAqCA,sDAEC;AAWD,8CAEC;AAUD,sDAGC;AAWD,oDAcC;AAoBD,oCAsBC;AAOD,
|
|
1
|
+
{"version":3,"file":"tool-adapter.js","sourceRoot":"","sources":["../../src/runtime/tool-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { BuiltTool } from '../types';
|
|
3
3
|
type ZodObjectSchema = z.ZodObject<z.ZodRawShape>;
|
|
4
|
-
export declare const UPDATE_WORKING_MEMORY_TOOL_NAME = "
|
|
4
|
+
export declare const UPDATE_WORKING_MEMORY_TOOL_NAME = "update_working_memory";
|
|
5
5
|
export declare const WORKING_MEMORY_DEFAULT_INSTRUCTION: string;
|
|
6
6
|
export declare function buildWorkingMemoryInstruction(template: string, structured: boolean, instruction?: string): string;
|
|
7
7
|
export declare function templateFromSchema(schema: ZodObjectSchema): string;
|
|
@@ -5,7 +5,7 @@ exports.buildWorkingMemoryInstruction = buildWorkingMemoryInstruction;
|
|
|
5
5
|
exports.templateFromSchema = templateFromSchema;
|
|
6
6
|
exports.buildWorkingMemoryTool = buildWorkingMemoryTool;
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
|
-
exports.UPDATE_WORKING_MEMORY_TOOL_NAME = '
|
|
8
|
+
exports.UPDATE_WORKING_MEMORY_TOOL_NAME = 'update_working_memory';
|
|
9
9
|
exports.WORKING_MEMORY_DEFAULT_INSTRUCTION = [
|
|
10
10
|
'You have persistent working memory that survives across conversations.',
|
|
11
11
|
'Your current working memory state is shown below.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-memory.js","sourceRoot":"","sources":["../../src/runtime/working-memory.ts"],"names":[],"mappings":";;;AA4BA,sEAuBC;AAKD,gDAOC;AAkBD,wDA+BC;AAhHD,6BAAwB;AAMX,QAAA,+BAA+B,GAAG,
|
|
1
|
+
{"version":3,"file":"working-memory.js","sourceRoot":"","sources":["../../src/runtime/working-memory.ts"],"names":[],"mappings":";;;AA4BA,sEAuBC;AAKD,gDAOC;AAkBD,wDA+BC;AAhHD,6BAAwB;AAMX,QAAA,+BAA+B,GAAG,uBAAuB,CAAC;AAM1D,QAAA,kCAAkC,GAAG;IACjD,wEAAwE;IACxE,mDAAmD;IACnD,uGAAuG,uCAA+B,UAAU;IAChJ,+FAA+F;CAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAWb,SAAgB,6BAA6B,CAC5C,QAAgB,EAChB,UAAmB,EACnB,WAAoB;IAEpB,MAAM,MAAM,GAAG,UAAU;QACxB,CAAC,CAAC,4DAA4D;QAC9D,CAAC,CAAC,sDAAsD,CAAC;IAE1D,MAAM,IAAI,GAAG,WAAW,IAAI,0CAAkC,CAAC;IAE/D,OAAO;QACN,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,IAAI;QACJ,GAAG,MAAM,GAAG;QACZ,EAAE;QACF,mBAAmB;QACnB,KAAK;QACL,QAAQ;QACR,KAAK;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAKD,SAAgB,kBAAkB,CAAC,MAAuB;IACzD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAkBD,SAAgB,sBAAsB,CAAC,MAA+B;IACrE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,OAAO;YACN,IAAI,EAAE,uCAA+B;YACrC,WAAW,EACV,gJAAgJ;YACjJ,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;YAC9D,CAAC;SACD,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClE,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,uCAA+B;QACrC,WAAW,EACV,gJAAgJ;QACjJ,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;YACjC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAuC,CAAC;YAC3D,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;QAC9D,CAAC;KACD,CAAC;AACH,CAAC"}
|
package/dist/sdk/agent.d.ts
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import type { ProviderOptions } from '@ai-sdk/provider-utils';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import type { AgentRuntimeConfig } from '../runtime/agent-runtime';
|
|
4
|
-
import type { AgentEvent, AgentEventHandler, AgentMiddleware, BuiltAgent, BuiltEval, BuiltGuardrail, BuiltMemory, BuiltProviderTool, BuiltTelemetry, BuiltTool, CheckpointStore, ExecutionOptions, GenerateResult, MemoryConfig, ModelConfig, Provider, ResumeOptions, RunOptions, StreamResult, ThinkingConfigFor } from '../types';
|
|
5
3
|
import type { Eval } from './eval';
|
|
6
|
-
import { type FromSchemaOptions } from './from-schema';
|
|
7
4
|
import type { McpClient } from './mcp-client';
|
|
8
5
|
import { Memory } from './memory';
|
|
9
6
|
import { Telemetry } from './telemetry';
|
|
7
|
+
import { AgentRuntime } from '../runtime/agent-runtime';
|
|
8
|
+
import type { AgentEvent, AgentEventHandler, AgentMiddleware, BuiltAgent, BuiltEval, BuiltGuardrail, BuiltMemory, BuiltProviderTool, BuiltTool, BuiltTelemetry, CheckpointStore, ExecutionOptions, GenerateResult, MemoryConfig, ModelConfig, Provider, RunOptions, SerializableAgentState, StreamResult, ThinkingConfig, ThinkingConfigFor, ResumeOptions } from '../types';
|
|
10
9
|
import type { AgentBuilder } from '../types/sdk/agent-builder';
|
|
11
|
-
import type { CredentialProvider } from '../types/sdk/credential-provider';
|
|
12
10
|
import type { AgentMessage } from '../types/sdk/message';
|
|
13
|
-
import type { AgentSchema } from '../types/sdk/schema';
|
|
14
11
|
import type { Workspace } from '../workspace/workspace';
|
|
15
12
|
type ToolParameter = BuiltTool | {
|
|
16
13
|
build(): BuiltTool;
|
|
17
14
|
};
|
|
15
|
+
export interface AgentSnapshot {
|
|
16
|
+
name: string;
|
|
17
|
+
model: {
|
|
18
|
+
provider: string | null;
|
|
19
|
+
name: string | null;
|
|
20
|
+
};
|
|
21
|
+
instructions: string | null;
|
|
22
|
+
tools: ReadonlyArray<{
|
|
23
|
+
name: string;
|
|
24
|
+
description: string | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
hasMemory: boolean;
|
|
27
|
+
thinking: ThinkingConfig | null;
|
|
28
|
+
toolCallConcurrency: number | null;
|
|
29
|
+
requireToolApproval: boolean;
|
|
30
|
+
}
|
|
18
31
|
export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
19
32
|
readonly name: string;
|
|
20
|
-
private
|
|
21
|
-
private modelConfigObj?;
|
|
33
|
+
private modelConfig?;
|
|
22
34
|
private instructionProviderOpts?;
|
|
23
35
|
private instructionsText?;
|
|
24
36
|
private tools;
|
|
@@ -30,9 +42,7 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
30
42
|
private outputSchema?;
|
|
31
43
|
private checkpointStore?;
|
|
32
44
|
private thinkingConfig?;
|
|
33
|
-
private
|
|
34
|
-
private credProvider?;
|
|
35
|
-
private resolvedKey?;
|
|
45
|
+
private runtime?;
|
|
36
46
|
private concurrencyValue?;
|
|
37
47
|
private telemetryBuilder?;
|
|
38
48
|
private telemetryConfig?;
|
|
@@ -40,11 +50,9 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
40
50
|
private requireToolApprovalValue;
|
|
41
51
|
private mcpClients;
|
|
42
52
|
private buildPromise;
|
|
43
|
-
private
|
|
44
|
-
private activeEventBuses;
|
|
53
|
+
private eventBus;
|
|
45
54
|
private workspaceInstance?;
|
|
46
55
|
constructor(name: string);
|
|
47
|
-
static fromSchema(schema: AgentSchema, name: string, options: FromSchemaOptions): Promise<Agent>;
|
|
48
56
|
hasCheckpointStorage(): boolean;
|
|
49
57
|
hasMemory(): boolean;
|
|
50
58
|
model(providerOrIdOrConfig: string | ModelConfig, modelName?: string): this;
|
|
@@ -66,10 +74,6 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
66
74
|
ensureBuilt(): BuiltEval;
|
|
67
75
|
}): this;
|
|
68
76
|
checkpoint(storage: 'memory' | CheckpointStore): this;
|
|
69
|
-
credential(name: string): this;
|
|
70
|
-
credentialProvider(provider: CredentialProvider): this;
|
|
71
|
-
protected get declaredCredential(): string | undefined;
|
|
72
|
-
protected set resolvedApiKey(key: string);
|
|
73
77
|
structuredOutput(schema: z.ZodType): this;
|
|
74
78
|
thinking<P extends Provider>(_provider: P, config?: ThinkingConfigFor<P>): this;
|
|
75
79
|
telemetry(t: Telemetry | BuiltTelemetry): this;
|
|
@@ -80,9 +84,9 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
80
84
|
mcp(client: McpClient): this;
|
|
81
85
|
get evaluations(): BuiltEval[];
|
|
82
86
|
on(event: AgentEvent, handler: AgentEventHandler): void;
|
|
83
|
-
off(event: AgentEvent, handler: AgentEventHandler): void;
|
|
84
87
|
asTool(description: string): BuiltTool;
|
|
85
|
-
|
|
88
|
+
get snapshot(): AgentSnapshot;
|
|
89
|
+
getState(): SerializableAgentState;
|
|
86
90
|
abort(): void;
|
|
87
91
|
generate(input: AgentMessage[] | string, options?: RunOptions & ExecutionOptions): Promise<GenerateResult>;
|
|
88
92
|
stream(input: AgentMessage[] | string, options?: RunOptions & ExecutionOptions): Promise<StreamResult>;
|
|
@@ -93,10 +97,7 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
93
97
|
deny(method: 'generate', options: ResumeOptions & ExecutionOptions): Promise<GenerateResult>;
|
|
94
98
|
deny(method: 'stream', options: ResumeOptions & ExecutionOptions): Promise<StreamResult>;
|
|
95
99
|
private ensureBuilt;
|
|
96
|
-
private createRuntime;
|
|
97
|
-
private trackStreamBus;
|
|
98
|
-
private cleanupBus;
|
|
99
100
|
private toMessages;
|
|
100
|
-
protected build(): Promise<
|
|
101
|
+
protected build(): Promise<AgentRuntime>;
|
|
101
102
|
}
|
|
102
103
|
export {};
|
package/dist/sdk/agent.js
CHANGED
|
@@ -2,17 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Agent = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const agent_runtime_1 = require("../runtime/agent-runtime");
|
|
6
|
-
const event_bus_1 = require("../runtime/event-bus");
|
|
7
|
-
const memory_store_1 = require("../runtime/memory-store");
|
|
8
|
-
const run_state_1 = require("../runtime/run-state");
|
|
9
|
-
const tool_adapter_1 = require("../runtime/tool-adapter");
|
|
10
|
-
const catalog_1 = require("./catalog");
|
|
11
|
-
const from_schema_1 = require("./from-schema");
|
|
12
5
|
const memory_1 = require("./memory");
|
|
13
6
|
const telemetry_1 = require("./telemetry");
|
|
14
7
|
const tool_1 = require("./tool");
|
|
15
|
-
const
|
|
8
|
+
const agent_runtime_1 = require("../runtime/agent-runtime");
|
|
9
|
+
const event_bus_1 = require("../runtime/event-bus");
|
|
10
|
+
const tool_adapter_1 = require("../runtime/tool-adapter");
|
|
16
11
|
const DEFAULT_LAST_MESSAGES = 10;
|
|
17
12
|
class Agent {
|
|
18
13
|
constructor(name) {
|
|
@@ -24,15 +19,9 @@ class Agent {
|
|
|
24
19
|
this.middlewares = [];
|
|
25
20
|
this.requireToolApprovalValue = false;
|
|
26
21
|
this.mcpClients = [];
|
|
27
|
-
this.
|
|
28
|
-
this.activeEventBuses = new Set();
|
|
22
|
+
this.eventBus = new event_bus_1.AgentEventBus();
|
|
29
23
|
this.name = name;
|
|
30
24
|
}
|
|
31
|
-
static async fromSchema(schema, name, options) {
|
|
32
|
-
const agent = new Agent(name);
|
|
33
|
-
await (0, from_schema_1.fromSchema)(agent, schema, options);
|
|
34
|
-
return agent;
|
|
35
|
-
}
|
|
36
25
|
hasCheckpointStorage() {
|
|
37
26
|
return this.checkpointStore !== undefined;
|
|
38
27
|
}
|
|
@@ -41,12 +30,10 @@ class Agent {
|
|
|
41
30
|
}
|
|
42
31
|
model(providerOrIdOrConfig, modelName) {
|
|
43
32
|
if (typeof providerOrIdOrConfig === 'string') {
|
|
44
|
-
this.
|
|
45
|
-
this.modelConfigObj = undefined;
|
|
33
|
+
this.modelConfig = modelName ? `${providerOrIdOrConfig}/${modelName}` : providerOrIdOrConfig;
|
|
46
34
|
}
|
|
47
35
|
else {
|
|
48
|
-
this.
|
|
49
|
-
this.modelId = undefined;
|
|
36
|
+
this.modelConfig = providerOrIdOrConfig;
|
|
50
37
|
}
|
|
51
38
|
return this;
|
|
52
39
|
}
|
|
@@ -88,7 +75,7 @@ class Agent {
|
|
|
88
75
|
}
|
|
89
76
|
else {
|
|
90
77
|
throw new Error('Invalid memory configuration. Use: new Memory().lastMessages(N) for in-process memory, ' +
|
|
91
|
-
'or new Memory().storage(
|
|
78
|
+
'or new Memory().storage(myBuiltMemoryBackend).lastMessages(N) for a persistent backend. ' +
|
|
92
79
|
'See the Memory class documentation for all options.');
|
|
93
80
|
}
|
|
94
81
|
return this;
|
|
@@ -114,20 +101,6 @@ class Agent {
|
|
|
114
101
|
this.checkpointStore = storage;
|
|
115
102
|
return this;
|
|
116
103
|
}
|
|
117
|
-
credential(name) {
|
|
118
|
-
this.credentialName = name;
|
|
119
|
-
return this;
|
|
120
|
-
}
|
|
121
|
-
credentialProvider(provider) {
|
|
122
|
-
this.credProvider = provider;
|
|
123
|
-
return this;
|
|
124
|
-
}
|
|
125
|
-
get declaredCredential() {
|
|
126
|
-
return this.credentialName;
|
|
127
|
-
}
|
|
128
|
-
set resolvedApiKey(key) {
|
|
129
|
-
this.resolvedKey = key;
|
|
130
|
-
}
|
|
131
104
|
structuredOutput(schema) {
|
|
132
105
|
this.outputSchema = schema;
|
|
133
106
|
return this;
|
|
@@ -173,21 +146,7 @@ class Agent {
|
|
|
173
146
|
return [...this.agentEvals];
|
|
174
147
|
}
|
|
175
148
|
on(event, handler) {
|
|
176
|
-
|
|
177
|
-
if (!set) {
|
|
178
|
-
set = new Set();
|
|
179
|
-
this.agentHandlers.set(event, set);
|
|
180
|
-
}
|
|
181
|
-
set.add(handler);
|
|
182
|
-
}
|
|
183
|
-
off(event, handler) {
|
|
184
|
-
const set = this.agentHandlers.get(event);
|
|
185
|
-
if (!set)
|
|
186
|
-
return;
|
|
187
|
-
set.delete(handler);
|
|
188
|
-
if (set.size === 0) {
|
|
189
|
-
this.agentHandlers.delete(event);
|
|
190
|
-
}
|
|
149
|
+
this.eventBus.on(event, handler);
|
|
191
150
|
}
|
|
192
151
|
asTool(description) {
|
|
193
152
|
const agent = this;
|
|
@@ -224,220 +183,67 @@ class Agent {
|
|
|
224
183
|
});
|
|
225
184
|
return tool.build();
|
|
226
185
|
}
|
|
227
|
-
|
|
186
|
+
get snapshot() {
|
|
228
187
|
let model;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
188
|
+
const rawModelId = typeof this.modelConfig === 'string'
|
|
189
|
+
? this.modelConfig
|
|
190
|
+
: this.modelConfig && typeof this.modelConfig === 'object' && 'id' in this.modelConfig
|
|
191
|
+
? this.modelConfig.id
|
|
192
|
+
: undefined;
|
|
193
|
+
if (rawModelId) {
|
|
194
|
+
const slashIdx = rawModelId.indexOf('/');
|
|
234
195
|
if (slashIdx === -1) {
|
|
235
|
-
model = { provider: null, name:
|
|
196
|
+
model = { provider: null, name: rawModelId };
|
|
236
197
|
}
|
|
237
198
|
else {
|
|
238
199
|
model = {
|
|
239
|
-
provider:
|
|
240
|
-
name:
|
|
200
|
+
provider: rawModelId.slice(0, slashIdx),
|
|
201
|
+
name: rawModelId.slice(slashIdx + 1),
|
|
241
202
|
};
|
|
242
203
|
}
|
|
243
204
|
}
|
|
244
205
|
else {
|
|
245
206
|
model = { provider: null, name: null };
|
|
246
207
|
}
|
|
247
|
-
const toolSchemas = this.tools.map((tool) => {
|
|
248
|
-
const isWorkflow = '__workflowTool' in tool && Boolean(tool.__workflowTool);
|
|
249
|
-
return {
|
|
250
|
-
name: tool.name,
|
|
251
|
-
description: tool.description,
|
|
252
|
-
type: isWorkflow ? 'workflow' : 'custom',
|
|
253
|
-
editable: !isWorkflow,
|
|
254
|
-
inputSchemaSource: null,
|
|
255
|
-
outputSchemaSource: null,
|
|
256
|
-
handlerSource: tool.handler?.toString() ?? null,
|
|
257
|
-
suspendSchemaSource: null,
|
|
258
|
-
resumeSchemaSource: null,
|
|
259
|
-
toMessageSource: null,
|
|
260
|
-
requireApproval: tool.withDefaultApproval ?? false,
|
|
261
|
-
needsApprovalFnSource: null,
|
|
262
|
-
providerOptions: tool.providerOptions ?? null,
|
|
263
|
-
inputSchema: (0, zod_2.zodToJsonSchema)(tool.inputSchema),
|
|
264
|
-
outputSchema: (0, zod_2.zodToJsonSchema)(tool.outputSchema),
|
|
265
|
-
hasSuspend: Boolean(tool.suspendSchema),
|
|
266
|
-
hasResume: Boolean(tool.resumeSchema),
|
|
267
|
-
hasToMessage: Boolean(tool.toMessage),
|
|
268
|
-
};
|
|
269
|
-
});
|
|
270
|
-
const providerToolSchemas = this.providerTools.map((pt) => ({
|
|
271
|
-
name: pt.name,
|
|
272
|
-
source: '',
|
|
273
|
-
}));
|
|
274
|
-
const guardrails = [
|
|
275
|
-
...this.inputGuardrails.map((g) => ({
|
|
276
|
-
name: g.name,
|
|
277
|
-
guardType: g.guardType,
|
|
278
|
-
strategy: g.strategy,
|
|
279
|
-
position: 'input',
|
|
280
|
-
config: g._config,
|
|
281
|
-
source: '',
|
|
282
|
-
})),
|
|
283
|
-
...this.outputGuardrails.map((g) => ({
|
|
284
|
-
name: g.name,
|
|
285
|
-
guardType: g.guardType,
|
|
286
|
-
strategy: g.strategy,
|
|
287
|
-
position: 'output',
|
|
288
|
-
config: g._config,
|
|
289
|
-
source: '',
|
|
290
|
-
})),
|
|
291
|
-
];
|
|
292
|
-
let mcp = null;
|
|
293
|
-
if (this.mcpClients.length > 0) {
|
|
294
|
-
mcp = [];
|
|
295
|
-
for (const client of this.mcpClients) {
|
|
296
|
-
for (const serverName of client.serverNames) {
|
|
297
|
-
mcp.push({
|
|
298
|
-
name: serverName,
|
|
299
|
-
configSource: '',
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
const telemetry = this.telemetryBuilder || this.telemetryConfig ? { source: '' } : null;
|
|
305
|
-
const checkpoint = this.checkpointStore === 'memory' ? 'memory' : null;
|
|
306
|
-
let memory = null;
|
|
307
|
-
if (this.memoryConfig) {
|
|
308
|
-
const mc = this.memoryConfig;
|
|
309
|
-
let semanticRecall = null;
|
|
310
|
-
if (mc.semanticRecall) {
|
|
311
|
-
semanticRecall = {
|
|
312
|
-
topK: mc.semanticRecall.topK,
|
|
313
|
-
messageRange: mc.semanticRecall.messageRange
|
|
314
|
-
? {
|
|
315
|
-
before: mc.semanticRecall.messageRange.before,
|
|
316
|
-
after: mc.semanticRecall.messageRange.after,
|
|
317
|
-
}
|
|
318
|
-
: null,
|
|
319
|
-
embedder: mc.semanticRecall.embedder ?? null,
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
let workingMemory = null;
|
|
323
|
-
if (mc.workingMemory) {
|
|
324
|
-
workingMemory = {
|
|
325
|
-
type: mc.workingMemory.structured ? 'structured' : 'freeform',
|
|
326
|
-
...(mc.workingMemory.schema
|
|
327
|
-
? { schema: (0, zod_2.zodToJsonSchema)(mc.workingMemory.schema) ?? undefined }
|
|
328
|
-
: {}),
|
|
329
|
-
...(mc.workingMemory.template ? { template: mc.workingMemory.template } : {}),
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
memory = {
|
|
333
|
-
source: null,
|
|
334
|
-
storage: mc.memory instanceof memory_store_1.InMemoryMemory ? 'memory' : 'custom',
|
|
335
|
-
lastMessages: mc.lastMessages ?? null,
|
|
336
|
-
semanticRecall,
|
|
337
|
-
workingMemory,
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
const evaluations = this.agentEvals.map((e) => ({
|
|
341
|
-
name: e.name,
|
|
342
|
-
description: e.description ?? null,
|
|
343
|
-
type: e.evalType,
|
|
344
|
-
modelId: e.modelId ?? null,
|
|
345
|
-
hasCredential: e.credentialName !== null,
|
|
346
|
-
credentialName: e.credentialName,
|
|
347
|
-
handlerSource: null,
|
|
348
|
-
}));
|
|
349
|
-
const structuredOutput = {
|
|
350
|
-
enabled: Boolean(this.outputSchema),
|
|
351
|
-
schemaSource: null,
|
|
352
|
-
};
|
|
353
|
-
let thinking = null;
|
|
354
|
-
if (this.thinkingConfig) {
|
|
355
|
-
const provider = this.modelId?.split('/')[0];
|
|
356
|
-
if (provider === 'anthropic') {
|
|
357
|
-
thinking = {
|
|
358
|
-
provider: 'anthropic',
|
|
359
|
-
budgetTokens: 'budgetTokens' in this.thinkingConfig
|
|
360
|
-
? this.thinkingConfig.budgetTokens
|
|
361
|
-
: undefined,
|
|
362
|
-
};
|
|
363
|
-
}
|
|
364
|
-
else if (provider === 'openai') {
|
|
365
|
-
thinking = {
|
|
366
|
-
provider: 'openai',
|
|
367
|
-
reasoningEffort: 'reasoningEffort' in this.thinkingConfig
|
|
368
|
-
? String(this.thinkingConfig.reasoningEffort)
|
|
369
|
-
: undefined,
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
208
|
return {
|
|
209
|
+
name: this.name,
|
|
374
210
|
model,
|
|
375
|
-
credential: this.credentialName ?? null,
|
|
376
211
|
instructions: this.instructionsText ?? null,
|
|
377
|
-
description:
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
guardrails,
|
|
383
|
-
mcp,
|
|
384
|
-
telemetry,
|
|
385
|
-
checkpoint,
|
|
386
|
-
config: {
|
|
387
|
-
structuredOutput,
|
|
388
|
-
thinking,
|
|
389
|
-
toolCallConcurrency: this.concurrencyValue ?? null,
|
|
390
|
-
requireToolApproval: this.requireToolApprovalValue,
|
|
391
|
-
},
|
|
212
|
+
tools: this.tools.map((t) => ({ name: t.name, description: t.description })),
|
|
213
|
+
hasMemory: this.memoryConfig !== undefined,
|
|
214
|
+
thinking: this.thinkingConfig ?? null,
|
|
215
|
+
toolCallConcurrency: this.concurrencyValue ?? null,
|
|
216
|
+
requireToolApproval: this.requireToolApprovalValue,
|
|
392
217
|
};
|
|
393
218
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
219
|
+
getState() {
|
|
220
|
+
if (!this.runtime) {
|
|
221
|
+
return {
|
|
222
|
+
persistence: undefined,
|
|
223
|
+
status: 'idle',
|
|
224
|
+
messageList: { messages: [], historyIds: [], inputIds: [], responseIds: [] },
|
|
225
|
+
pendingToolCalls: {},
|
|
226
|
+
};
|
|
397
227
|
}
|
|
228
|
+
return this.runtime.getState();
|
|
229
|
+
}
|
|
230
|
+
abort() {
|
|
231
|
+
this.eventBus.abort();
|
|
398
232
|
}
|
|
399
233
|
async generate(input, options) {
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
try {
|
|
403
|
-
return await runtime.generate(this.toMessages(input), options);
|
|
404
|
-
}
|
|
405
|
-
finally {
|
|
406
|
-
this.cleanupBus(bus);
|
|
407
|
-
}
|
|
234
|
+
const runtime = await this.ensureBuilt();
|
|
235
|
+
return await runtime.generate(this.toMessages(input), options);
|
|
408
236
|
}
|
|
409
237
|
async stream(input, options) {
|
|
410
|
-
const
|
|
411
|
-
|
|
412
|
-
try {
|
|
413
|
-
const result = await runtime.stream(this.toMessages(input), options);
|
|
414
|
-
return { ...result, stream: this.trackStreamBus(result.stream, bus) };
|
|
415
|
-
}
|
|
416
|
-
catch (error) {
|
|
417
|
-
this.cleanupBus(bus);
|
|
418
|
-
throw error;
|
|
419
|
-
}
|
|
238
|
+
const runtime = await this.ensureBuilt();
|
|
239
|
+
return await runtime.stream(this.toMessages(input), options);
|
|
420
240
|
}
|
|
421
241
|
async resume(method, data, options) {
|
|
422
|
-
const
|
|
242
|
+
const runtime = await this.ensureBuilt();
|
|
423
243
|
if (method === 'generate') {
|
|
424
|
-
|
|
425
|
-
try {
|
|
426
|
-
return await runtime.resume('generate', data, options);
|
|
427
|
-
}
|
|
428
|
-
finally {
|
|
429
|
-
this.cleanupBus(bus);
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
const { runtime, bus } = this.createRuntime(config);
|
|
433
|
-
try {
|
|
434
|
-
const result = await runtime.resume('stream', data, options);
|
|
435
|
-
return { ...result, stream: this.trackStreamBus(result.stream, bus) };
|
|
436
|
-
}
|
|
437
|
-
catch (error) {
|
|
438
|
-
this.cleanupBus(bus);
|
|
439
|
-
throw error;
|
|
244
|
+
return await runtime.resume('generate', data, options);
|
|
440
245
|
}
|
|
246
|
+
return await runtime.resume('stream', data, options);
|
|
441
247
|
}
|
|
442
248
|
async approve(method, options) {
|
|
443
249
|
if (method === 'generate') {
|
|
@@ -462,61 +268,13 @@ class Agent {
|
|
|
462
268
|
}
|
|
463
269
|
return await this.buildPromise;
|
|
464
270
|
}
|
|
465
|
-
createRuntime(config) {
|
|
466
|
-
const bus = new event_bus_1.AgentEventBus();
|
|
467
|
-
for (const [event, handlers] of this.agentHandlers) {
|
|
468
|
-
for (const handler of handlers) {
|
|
469
|
-
bus.on(event, handler);
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
this.activeEventBuses.add(bus);
|
|
473
|
-
const runtime = new agent_runtime_1.AgentRuntime({ ...config, eventBus: bus });
|
|
474
|
-
return { runtime, bus };
|
|
475
|
-
}
|
|
476
|
-
trackStreamBus(stream, bus) {
|
|
477
|
-
let cleanedUp = false;
|
|
478
|
-
const cleanup = () => {
|
|
479
|
-
if (!cleanedUp) {
|
|
480
|
-
cleanedUp = true;
|
|
481
|
-
this.cleanupBus(bus);
|
|
482
|
-
}
|
|
483
|
-
};
|
|
484
|
-
const reader = stream.getReader();
|
|
485
|
-
return new ReadableStream({
|
|
486
|
-
async pull(controller) {
|
|
487
|
-
try {
|
|
488
|
-
const { done, value } = await reader.read();
|
|
489
|
-
if (done) {
|
|
490
|
-
controller.close();
|
|
491
|
-
cleanup();
|
|
492
|
-
}
|
|
493
|
-
else {
|
|
494
|
-
controller.enqueue(value);
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
catch (error) {
|
|
498
|
-
controller.error(error);
|
|
499
|
-
cleanup();
|
|
500
|
-
}
|
|
501
|
-
},
|
|
502
|
-
cancel() {
|
|
503
|
-
reader.cancel().catch(() => { });
|
|
504
|
-
cleanup();
|
|
505
|
-
},
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
cleanupBus(bus) {
|
|
509
|
-
this.activeEventBuses.delete(bus);
|
|
510
|
-
bus.dispose();
|
|
511
|
-
}
|
|
512
271
|
toMessages(input) {
|
|
513
272
|
if (Array.isArray(input))
|
|
514
273
|
return input;
|
|
515
274
|
return [{ role: 'user', content: [{ type: 'text', text: input }] }];
|
|
516
275
|
}
|
|
517
276
|
async build() {
|
|
518
|
-
|
|
519
|
-
if (!hasModel) {
|
|
277
|
+
if (!this.modelConfig) {
|
|
520
278
|
throw new Error(`Agent "${this.name}" requires a model`);
|
|
521
279
|
}
|
|
522
280
|
if (!this.instructionsText) {
|
|
@@ -556,27 +314,7 @@ class Agent {
|
|
|
556
314
|
"Add .checkpoint('memory') for in-process storage, " +
|
|
557
315
|
'or pass a persistent store (e.g. LibSQLStore, PgStore).');
|
|
558
316
|
}
|
|
559
|
-
|
|
560
|
-
const resolved = await this.credProvider.resolve(this.credentialName);
|
|
561
|
-
this.resolvedKey = resolved.apiKey;
|
|
562
|
-
}
|
|
563
|
-
let modelConfig;
|
|
564
|
-
if (this.modelConfigObj) {
|
|
565
|
-
if (this.resolvedKey &&
|
|
566
|
-
typeof this.modelConfigObj === 'object' &&
|
|
567
|
-
'id' in this.modelConfigObj) {
|
|
568
|
-
modelConfig = { ...this.modelConfigObj, apiKey: this.resolvedKey };
|
|
569
|
-
}
|
|
570
|
-
else {
|
|
571
|
-
modelConfig = this.modelConfigObj;
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
else if (this.resolvedKey) {
|
|
575
|
-
modelConfig = { id: this.modelId, apiKey: this.resolvedKey };
|
|
576
|
-
}
|
|
577
|
-
else {
|
|
578
|
-
modelConfig = this.modelId;
|
|
579
|
-
}
|
|
317
|
+
const modelConfig = this.modelConfig;
|
|
580
318
|
let instructions = this.instructionsText;
|
|
581
319
|
if (this.workspaceInstance) {
|
|
582
320
|
const wsInstructions = this.workspaceInstance.getInstructions();
|
|
@@ -584,19 +322,7 @@ class Agent {
|
|
|
584
322
|
instructions = `${instructions}\n\n${wsInstructions}`;
|
|
585
323
|
}
|
|
586
324
|
}
|
|
587
|
-
|
|
588
|
-
try {
|
|
589
|
-
const modelId = typeof modelConfig === 'string'
|
|
590
|
-
? modelConfig
|
|
591
|
-
: 'id' in modelConfig
|
|
592
|
-
? modelConfig.id
|
|
593
|
-
: undefined;
|
|
594
|
-
modelCost = modelId ? await (0, catalog_1.getModelCost)(modelId) : undefined;
|
|
595
|
-
}
|
|
596
|
-
catch {
|
|
597
|
-
}
|
|
598
|
-
const runState = new run_state_1.RunStateManager(this.checkpointStore);
|
|
599
|
-
return {
|
|
325
|
+
this.runtime = new agent_runtime_1.AgentRuntime({
|
|
600
326
|
name: this.name,
|
|
601
327
|
model: modelConfig,
|
|
602
328
|
instructions,
|
|
@@ -610,12 +336,12 @@ class Agent {
|
|
|
610
336
|
structuredOutput: this.outputSchema,
|
|
611
337
|
checkpointStorage: this.checkpointStore,
|
|
612
338
|
thinking: this.thinkingConfig,
|
|
339
|
+
eventBus: this.eventBus,
|
|
613
340
|
toolCallConcurrency: this.concurrencyValue,
|
|
614
341
|
titleGeneration: this.memoryConfig?.titleGeneration,
|
|
615
342
|
telemetry: this.telemetryConfig ?? (await this.telemetryBuilder?.build()),
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
};
|
|
343
|
+
});
|
|
344
|
+
return this.runtime;
|
|
619
345
|
}
|
|
620
346
|
}
|
|
621
347
|
exports.Agent = Agent;
|