@n8n/agents 0.7.0 → 0.8.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/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.js +30 -10
- package/dist/index.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +24 -12
- package/dist/runtime/agent-runtime.js +241 -91
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/background-task-tracker.d.ts +6 -0
- package/dist/runtime/background-task-tracker.js +26 -0
- package/dist/runtime/background-task-tracker.js.map +1 -0
- package/dist/runtime/deferred-tool-manager.d.ts +28 -0
- package/dist/runtime/deferred-tool-manager.js +205 -0
- package/dist/runtime/deferred-tool-manager.js.map +1 -0
- package/dist/runtime/memory-store.d.ts +21 -36
- package/dist/runtime/memory-store.js +118 -51
- package/dist/runtime/memory-store.js.map +1 -1
- package/dist/runtime/message-list.d.ts +1 -7
- package/dist/runtime/message-list.js +3 -6
- package/dist/runtime/message-list.js.map +1 -1
- package/dist/runtime/observation-log-defaults.d.ts +20 -0
- package/dist/runtime/observation-log-defaults.js +523 -0
- package/dist/runtime/observation-log-defaults.js.map +1 -0
- package/dist/runtime/observation-log-observer.d.ts +64 -0
- package/dist/runtime/observation-log-observer.js +235 -0
- package/dist/runtime/observation-log-observer.js.map +1 -0
- package/dist/runtime/observation-log-reflector.d.ts +36 -0
- package/dist/runtime/observation-log-reflector.js +292 -0
- package/dist/runtime/observation-log-reflector.js.map +1 -0
- package/dist/runtime/observation-log-renderer.d.ts +6 -0
- package/dist/runtime/observation-log-renderer.js +73 -0
- package/dist/runtime/observation-log-renderer.js.map +1 -0
- package/dist/runtime/observation-log-store.d.ts +3 -0
- package/dist/runtime/observation-log-store.js +26 -0
- package/dist/runtime/observation-log-store.js.map +1 -0
- package/dist/runtime/scoped-memory-task-runner.d.ts +79 -0
- package/dist/runtime/scoped-memory-task-runner.js +134 -0
- package/dist/runtime/scoped-memory-task-runner.js.map +1 -0
- package/dist/sdk/agent.d.ts +13 -1
- package/dist/sdk/agent.js +58 -9
- package/dist/sdk/agent.js.map +1 -1
- package/dist/sdk/catalog.d.ts +1 -0
- package/dist/sdk/catalog.js +1 -0
- package/dist/sdk/catalog.js.map +1 -1
- package/dist/sdk/memory.d.ts +12 -12
- package/dist/sdk/memory.js +71 -51
- package/dist/sdk/memory.js.map +1 -1
- package/dist/storage/base-memory.d.ts +0 -10
- package/dist/storage/base-memory.js +0 -6
- package/dist/storage/base-memory.js.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.js +7 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/runtime/event.d.ts +1 -0
- package/dist/types/sdk/agent-builder.d.ts +5 -0
- package/dist/types/sdk/agent.d.ts +6 -0
- package/dist/types/sdk/memory.d.ts +16 -24
- package/dist/types/sdk/observation-log.d.ts +99 -0
- package/dist/types/sdk/observation-log.js +17 -0
- package/dist/types/sdk/observation-log.js.map +1 -0
- package/dist/types/sdk/observation.d.ts +3 -94
- package/dist/types/sdk/observation.js +0 -2
- package/dist/types/sdk/observation.js.map +1 -1
- package/dist/types/sdk/provider.d.ts +5 -2
- package/package.json +3 -7
- package/dist/runtime/working-memory.d.ts +0 -14
- package/dist/runtime/working-memory.js +0 -69
- package/dist/runtime/working-memory.js.map +0 -1
- package/dist/storage/postgres-memory.d.ts +0 -96
- package/dist/storage/postgres-memory.js +0 -431
- package/dist/storage/postgres-memory.js.map +0 -1
- package/dist/storage/sqlite-memory.d.ts +0 -70
- package/dist/storage/sqlite-memory.js +0 -354
- package/dist/storage/sqlite-memory.js.map +0 -1
package/dist/sdk/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/sdk/catalog.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/sdk/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/memory.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { BuiltMemory, MemoryConfig, SemanticRecallConfig, TitleGenerationConfig } from '../types';
|
|
3
|
-
type
|
|
1
|
+
import { DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS, DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET } from '../runtime/observation-log-defaults';
|
|
2
|
+
import type { BuiltMemory, MemoryConfig, ObservationalMemoryConfig, SemanticRecallConfig, TitleGenerationConfig } from '../types';
|
|
3
|
+
import type { ModelConfig } from '../types/sdk/agent';
|
|
4
|
+
export { DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS, DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET };
|
|
5
|
+
export interface ResolveObservationalMemoryConfigOptions {
|
|
6
|
+
defaultModel: ModelConfig;
|
|
7
|
+
}
|
|
8
|
+
export declare function resolveObservationalMemoryConfig(config: ObservationalMemoryConfig, options: ResolveObservationalMemoryConfigOptions): ObservationalMemoryConfig;
|
|
9
|
+
export declare function resolveMemoryConfigDefaults(config: MemoryConfig, options: ResolveObservationalMemoryConfigOptions): MemoryConfig;
|
|
10
|
+
export declare function normalizeMemoryConfig(config: MemoryConfig): MemoryConfig;
|
|
4
11
|
export declare class Memory {
|
|
5
12
|
private lastMessagesValue;
|
|
6
13
|
private semanticRecallConfig?;
|
|
7
|
-
private workingMemorySchema?;
|
|
8
|
-
private workingMemoryTemplate?;
|
|
9
|
-
private workingMemoryScope;
|
|
10
|
-
private workingMemoryInstruction?;
|
|
11
14
|
private memoryBackend?;
|
|
12
15
|
private titleGenerationConfig?;
|
|
16
|
+
private observationalMemoryConfig?;
|
|
13
17
|
get lastMessageCount(): number;
|
|
14
18
|
storage(backend: 'memory' | BuiltMemory): this;
|
|
15
19
|
lastMessages(count: number): this;
|
|
16
20
|
semanticRecall(config: SemanticRecallConfig): this;
|
|
17
|
-
structured(schema: ZodObjectSchema): this;
|
|
18
|
-
freeform(template: string): this;
|
|
19
|
-
scope(s: 'resource' | 'thread'): this;
|
|
20
|
-
instruction(text: string): this;
|
|
21
21
|
titleGeneration(config: boolean | TitleGenerationConfig): this;
|
|
22
|
+
observationalMemory(config?: ObservationalMemoryConfig): this;
|
|
22
23
|
build(): MemoryConfig;
|
|
23
24
|
}
|
|
24
|
-
export {};
|
package/dist/sdk/memory.js
CHANGED
|
@@ -1,13 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Memory = void 0;
|
|
3
|
+
exports.Memory = exports.DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET = exports.DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS = void 0;
|
|
4
|
+
exports.resolveObservationalMemoryConfig = resolveObservationalMemoryConfig;
|
|
5
|
+
exports.resolveMemoryConfigDefaults = resolveMemoryConfigDefaults;
|
|
6
|
+
exports.normalizeMemoryConfig = normalizeMemoryConfig;
|
|
4
7
|
const memory_store_1 = require("../runtime/memory-store");
|
|
5
|
-
const
|
|
8
|
+
const observation_log_defaults_1 = require("../runtime/observation-log-defaults");
|
|
9
|
+
Object.defineProperty(exports, "DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS", { enumerable: true, get: function () { return observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS; } });
|
|
10
|
+
Object.defineProperty(exports, "DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET", { enumerable: true, get: function () { return observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET; } });
|
|
11
|
+
const observation_log_store_1 = require("../runtime/observation-log-store");
|
|
6
12
|
const DEFAULT_LAST_MESSAGES = 10;
|
|
13
|
+
function resolveObservationalMemoryConfig(config, options) {
|
|
14
|
+
const observerModel = options.defaultModel;
|
|
15
|
+
const reflectorModel = options.defaultModel;
|
|
16
|
+
return {
|
|
17
|
+
observerThresholdTokens: config.observerThresholdTokens ?? observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_OBSERVER_THRESHOLD_TOKENS,
|
|
18
|
+
reflectorThresholdTokens: config.reflectorThresholdTokens ?? observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_REFLECTOR_THRESHOLD_TOKENS,
|
|
19
|
+
renderTokenBudget: config.renderTokenBudget ?? observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET,
|
|
20
|
+
observationLogTailLimit: config.observationLogTailLimit ?? observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_TAIL_LIMIT,
|
|
21
|
+
lockTtlMs: config.lockTtlMs ?? observation_log_defaults_1.DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS,
|
|
22
|
+
observe: config.observe ?? (0, observation_log_defaults_1.createObservationLogObserveFn)(observerModel),
|
|
23
|
+
reflect: config.reflect ?? (0, observation_log_defaults_1.createObservationLogReflectFn)(reflectorModel),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function resolveMemoryConfigDefaults(config, options) {
|
|
27
|
+
if (!config.observationalMemory) {
|
|
28
|
+
return config;
|
|
29
|
+
}
|
|
30
|
+
const observationalMemoryConfig = config.observationLog?.renderTokenBudget !== undefined &&
|
|
31
|
+
config.observationalMemory.renderTokenBudget === undefined
|
|
32
|
+
? {
|
|
33
|
+
...config.observationalMemory,
|
|
34
|
+
renderTokenBudget: config.observationLog.renderTokenBudget,
|
|
35
|
+
}
|
|
36
|
+
: config.observationalMemory;
|
|
37
|
+
const observationalMemory = resolveObservationalMemoryConfig(observationalMemoryConfig, options);
|
|
38
|
+
return normalizeMemoryConfig({
|
|
39
|
+
...config,
|
|
40
|
+
observationalMemory,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function normalizeMemoryConfig(config) {
|
|
44
|
+
if (!config.observationalMemory) {
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
if (!(0, observation_log_store_1.hasObservationLogStore)(config.memory)) {
|
|
48
|
+
throw new Error("Observational memory requires a storage backend that implements BuiltObservationLogStore (e.g. n8n's N8nMemory).");
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
...config,
|
|
52
|
+
observationLog: {
|
|
53
|
+
...config.observationLog,
|
|
54
|
+
...(config.observationalMemory.renderTokenBudget !== undefined && {
|
|
55
|
+
renderTokenBudget: config.observationalMemory.renderTokenBudget,
|
|
56
|
+
}),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
7
60
|
class Memory {
|
|
8
61
|
constructor() {
|
|
9
62
|
this.lastMessagesValue = DEFAULT_LAST_MESSAGES;
|
|
10
|
-
this.workingMemoryScope = 'resource';
|
|
11
63
|
}
|
|
12
64
|
get lastMessageCount() {
|
|
13
65
|
return this.lastMessagesValue;
|
|
@@ -29,22 +81,6 @@ class Memory {
|
|
|
29
81
|
this.semanticRecallConfig = config;
|
|
30
82
|
return this;
|
|
31
83
|
}
|
|
32
|
-
structured(schema) {
|
|
33
|
-
this.workingMemorySchema = schema;
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
freeform(template) {
|
|
37
|
-
this.workingMemoryTemplate = template;
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
scope(s) {
|
|
41
|
-
this.workingMemoryScope = s;
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
instruction(text) {
|
|
45
|
-
this.workingMemoryInstruction = text;
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
84
|
titleGeneration(config) {
|
|
49
85
|
if (config === true) {
|
|
50
86
|
this.titleGenerationConfig = {};
|
|
@@ -57,15 +93,11 @@ class Memory {
|
|
|
57
93
|
}
|
|
58
94
|
return this;
|
|
59
95
|
}
|
|
96
|
+
observationalMemory(config = {}) {
|
|
97
|
+
this.observationalMemoryConfig = config;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
60
100
|
build() {
|
|
61
|
-
if (this.workingMemorySchema && this.workingMemoryTemplate !== undefined) {
|
|
62
|
-
throw new Error('Working memory cannot use both .structured() and .freeform(). ' +
|
|
63
|
-
'Choose one: .structured(zodSchema) for typed state, or .freeform(template) for free-form text.');
|
|
64
|
-
}
|
|
65
|
-
if (this.workingMemoryTemplate !== undefined && this.workingMemoryTemplate.trim() === '') {
|
|
66
|
-
throw new Error('Free-form working memory template cannot be empty. ' +
|
|
67
|
-
'Provide a markdown template with slots for the agent to fill.');
|
|
68
|
-
}
|
|
69
101
|
const memory = this.memoryBackend ?? new memory_store_1.InMemoryMemory();
|
|
70
102
|
if (this.semanticRecallConfig) {
|
|
71
103
|
if (!memory.queryEmbeddings && !memory.search) {
|
|
@@ -76,35 +108,23 @@ class Memory {
|
|
|
76
108
|
".semanticRecall({ topK: 5, embedder: 'openai/text-embedding-3-small' })");
|
|
77
109
|
}
|
|
78
110
|
}
|
|
79
|
-
|
|
80
|
-
if (this.workingMemorySchema) {
|
|
81
|
-
workingMemory = {
|
|
82
|
-
template: (0, working_memory_1.templateFromSchema)(this.workingMemorySchema),
|
|
83
|
-
structured: true,
|
|
84
|
-
schema: this.workingMemorySchema,
|
|
85
|
-
scope: this.workingMemoryScope,
|
|
86
|
-
...(this.workingMemoryInstruction !== undefined && {
|
|
87
|
-
instruction: this.workingMemoryInstruction,
|
|
88
|
-
}),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
else if (this.workingMemoryTemplate !== undefined) {
|
|
92
|
-
workingMemory = {
|
|
93
|
-
template: this.workingMemoryTemplate,
|
|
94
|
-
structured: false,
|
|
95
|
-
scope: this.workingMemoryScope,
|
|
96
|
-
...(this.workingMemoryInstruction !== undefined && {
|
|
97
|
-
instruction: this.workingMemoryInstruction,
|
|
98
|
-
}),
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
111
|
+
const baseConfig = {
|
|
102
112
|
memory,
|
|
103
113
|
lastMessages: this.lastMessagesValue,
|
|
104
|
-
workingMemory,
|
|
105
114
|
semanticRecall: this.semanticRecallConfig,
|
|
106
115
|
titleGeneration: this.titleGenerationConfig,
|
|
107
116
|
};
|
|
117
|
+
if (!this.observationalMemoryConfig) {
|
|
118
|
+
return normalizeMemoryConfig(baseConfig);
|
|
119
|
+
}
|
|
120
|
+
if (!(0, observation_log_store_1.hasObservationLogStore)(memory)) {
|
|
121
|
+
throw new Error("Observational memory requires a storage backend that implements BuiltObservationLogStore (e.g. n8n's N8nMemory).");
|
|
122
|
+
}
|
|
123
|
+
return normalizeMemoryConfig({
|
|
124
|
+
...baseConfig,
|
|
125
|
+
memory,
|
|
126
|
+
observationalMemory: this.observationalMemoryConfig,
|
|
127
|
+
});
|
|
108
128
|
}
|
|
109
129
|
}
|
|
110
130
|
exports.Memory = Memory;
|
package/dist/sdk/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/sdk/memory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/sdk/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,16 +28,6 @@ export declare abstract class BaseMemory<TConstructorOptions extends JSONObject
|
|
|
28
28
|
after: number;
|
|
29
29
|
};
|
|
30
30
|
}): Promise<AgentDbMessage[]>;
|
|
31
|
-
getWorkingMemory?(_params: {
|
|
32
|
-
threadId: string;
|
|
33
|
-
resourceId: string;
|
|
34
|
-
scope: 'resource' | 'thread';
|
|
35
|
-
}): Promise<string | null>;
|
|
36
|
-
saveWorkingMemory?(_params: {
|
|
37
|
-
threadId: string;
|
|
38
|
-
resourceId: string;
|
|
39
|
-
scope: 'resource' | 'thread';
|
|
40
|
-
}, _content: string): Promise<void>;
|
|
41
31
|
saveEmbeddings?(_opts: {
|
|
42
32
|
scope?: 'thread' | 'resource';
|
|
43
33
|
threadId?: string;
|
|
@@ -27,12 +27,6 @@ class BaseMemory {
|
|
|
27
27
|
search(_query, _opts) {
|
|
28
28
|
throw new Error('Method not implemented.');
|
|
29
29
|
}
|
|
30
|
-
getWorkingMemory(_params) {
|
|
31
|
-
throw new Error('Method not implemented.');
|
|
32
|
-
}
|
|
33
|
-
saveWorkingMemory(_params, _content) {
|
|
34
|
-
throw new Error('Method not implemented.');
|
|
35
|
-
}
|
|
36
30
|
saveEmbeddings(_opts) {
|
|
37
31
|
throw new Error('Method not implemented.');
|
|
38
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-memory.js","sourceRoot":"","sources":["../../src/storage/base-memory.ts"],"names":[],"mappings":";;;AAKA,MAAsB,UAAU;IAG/B,YACoB,IAAY,EACZ,kBAAuC;QADvC,SAAI,GAAJ,IAAI,CAAQ;QACZ,uBAAkB,GAAlB,kBAAkB,CAAqB;IACxD,CAAC;IAEJ,SAAS,CAAC,SAAiB;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,UAAU,CAAC,OAAgD;QAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,SAAiB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,WAAW,CACV,SAAiB,EACjB,KAAyC;QAEzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,KAIZ;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,cAAc,CAAC,WAAqB;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CACL,MAAc,EACd,KAMC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"base-memory.js","sourceRoot":"","sources":["../../src/storage/base-memory.ts"],"names":[],"mappings":";;;AAKA,MAAsB,UAAU;IAG/B,YACoB,IAAY,EACZ,kBAAuC;QADvC,SAAI,GAAJ,IAAI,CAAQ;QACZ,uBAAkB,GAAlB,kBAAkB,CAAqB;IACxD,CAAC;IAEJ,SAAS,CAAC,SAAiB;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,UAAU,CAAC,OAAgD;QAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,SAAiB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,WAAW,CACV,SAAiB,EACjB,KAAyC;QAEzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,KAIZ;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,cAAc,CAAC,WAAqB;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CACL,MAAc,EACd,KAMC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,cAAc,CAAE,KAKf;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,eAAe,CAAE,KAMhB;QACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACP,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACtC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;SACzC,CAAC;IACH,CAAC;CACD;AA1ED,gCA0EC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export type { JSONValue, JSONObject, JSONArray } from './utils/json';
|
|
2
2
|
export type { MessageRole, MessageContent, ContentMetadata, ContentCitation, ContentText, ContentReasoning, ContentFile, ContentToolCall, ContentInvalidToolCall, ContentProvider, Message, AgentMessageBase, CustomAgentMessages, AgentMessage, AgentDbMessage, } from './sdk/message';
|
|
3
3
|
export type { Provider, AnthropicThinkingConfig, OpenAIThinkingConfig, GoogleThinkingConfig, XaiThinkingConfig, ThinkingConfigFor, ThinkingConfig, } from './sdk/provider';
|
|
4
|
-
export type { AgentResult, StreamChunk, FinishReason, TokenUsage, ModelConfig, RunOptions, ExecutionOptions, PersistedExecutionOptions, ResumeOptions, GenerateResult, StreamResult, SubAgentUsage, BuiltAgent, AgentRunState, AgentResumeData, PendingToolCall, SerializableAgentState, } from './sdk/agent';
|
|
4
|
+
export type { AgentResult, StreamChunk, FinishReason, TokenUsage, ModelConfig, RunOptions, ExecutionOptions, AgentExecutionCounter, PersistedExecutionOptions, ResumeOptions, GenerateResult, StreamResult, SubAgentUsage, BuiltAgent, AgentRunState, AgentResumeData, PendingToolCall, SerializableAgentState, } from './sdk/agent';
|
|
5
5
|
export type { SerializedMessageList } from './runtime/message-list';
|
|
6
6
|
export type { ToolContext, InterruptibleToolContext, BuiltTool, BuiltProviderTool, } from './sdk/tool';
|
|
7
|
-
export type { Thread, BuiltMemory, ObservationCapableMemory, MemoryDescriptor, SemanticRecallConfig, MemoryConfig, CheckpointStore, TitleGenerationConfig, } from './sdk/memory';
|
|
8
|
-
export type {
|
|
9
|
-
export {
|
|
7
|
+
export type { Thread, BuiltMemory, ObservationCapableMemory, MemoryDescriptor, SemanticRecallConfig, MemoryConfig, ObservationLogMemoryConfig, ObservationalMemoryConfig, CheckpointStore, TitleGenerationConfig, } from './sdk/memory';
|
|
8
|
+
export type { ObservationCursor, ScopeKind, } from './sdk/observation';
|
|
9
|
+
export type { BuiltObservationLogStore, BuiltObservationLogTaskLockStore, NewObservationLogEntry, ObservationLogEntry, ObservationLogMarker, ObservationLogMerge, ObservationLogObserveFn, ObservationLogObserverInput, ObservationLogReadOptions, ObservationLogReflectFn, ObservationLogReflectorInput, ObservationLogReflection, ObservationLogReflectionResult, ObservationLogScope, ObservationLogScopeKind, ObservationLogStatus, ObservationLogTaskKind, ObservationLogTaskLockHandle, TokenCounter, } from './sdk/observation-log';
|
|
10
|
+
export { createObservationLogThreadScopeId, createObservationLogThreadScopePrefix, estimateObservationTokens, OBSERVATION_LOG_MARKERS, OBSERVATION_LOG_STATUSES, } from './sdk/observation-log';
|
|
10
11
|
export type { EvalInput, EvalScore, JudgeFn, JudgeInput, CheckFn, JudgeHandlerFn, BuiltEval, EvalRunResult, EvalResults, } from './sdk/eval';
|
|
11
12
|
export type { GuardrailType, GuardrailStrategy, PiiDetectionType, BuiltGuardrail, } from './sdk/guardrail';
|
|
12
13
|
export type { BuiltTelemetry, AttributeValue, OpaqueTracer, OpaqueTracerProvider, } from './telemetry';
|
package/dist/types/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentEvent = exports.
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.AgentEvent = exports.OBSERVATION_LOG_STATUSES = exports.OBSERVATION_LOG_MARKERS = exports.estimateObservationTokens = exports.createObservationLogThreadScopePrefix = exports.createObservationLogThreadScopeId = void 0;
|
|
4
|
+
var observation_log_1 = require("./sdk/observation-log");
|
|
5
|
+
Object.defineProperty(exports, "createObservationLogThreadScopeId", { enumerable: true, get: function () { return observation_log_1.createObservationLogThreadScopeId; } });
|
|
6
|
+
Object.defineProperty(exports, "createObservationLogThreadScopePrefix", { enumerable: true, get: function () { return observation_log_1.createObservationLogThreadScopePrefix; } });
|
|
7
|
+
Object.defineProperty(exports, "estimateObservationTokens", { enumerable: true, get: function () { return observation_log_1.estimateObservationTokens; } });
|
|
8
|
+
Object.defineProperty(exports, "OBSERVATION_LOG_MARKERS", { enumerable: true, get: function () { return observation_log_1.OBSERVATION_LOG_MARKERS; } });
|
|
9
|
+
Object.defineProperty(exports, "OBSERVATION_LOG_STATUSES", { enumerable: true, get: function () { return observation_log_1.OBSERVATION_LOG_STATUSES; } });
|
|
6
10
|
var event_1 = require("./runtime/event");
|
|
7
11
|
Object.defineProperty(exports, "AgentEvent", { enumerable: true, get: function () { return event_1.AgentEvent; } });
|
|
8
12
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAmGA,yDAM+B;AAL9B,oIAAA,iCAAiC,OAAA;AACjC,wIAAA,qCAAqC,OAAA;AACrC,4HAAA,yBAAyB,OAAA;AACzB,0HAAA,uBAAuB,OAAA;AACvB,2HAAA,wBAAwB,OAAA;AA6BzB,yCAA6C;AAApC,mGAAA,UAAU,OAAA"}
|
|
@@ -7,6 +7,11 @@ export interface AgentBuilder {
|
|
|
7
7
|
model(providerOrIdOrConfig: string | ModelConfig, modelName?: string): this;
|
|
8
8
|
instructions(text: string): this;
|
|
9
9
|
tool(t: BuiltTool | BuiltTool[]): this;
|
|
10
|
+
deferredTool(t: BuiltTool | BuiltTool[], options?: {
|
|
11
|
+
search?: {
|
|
12
|
+
topK?: number;
|
|
13
|
+
};
|
|
14
|
+
}): this;
|
|
10
15
|
providerTool(t: BuiltProviderTool): this;
|
|
11
16
|
thinking(provider: string, config?: Record<string, unknown>): this;
|
|
12
17
|
toolCallConcurrency(n: number): this;
|
|
@@ -114,11 +114,17 @@ export type StreamChunk = ContentMetadata & ({
|
|
|
114
114
|
export interface RunOptions {
|
|
115
115
|
persistence?: AgentPersistenceOptions;
|
|
116
116
|
}
|
|
117
|
+
export interface AgentExecutionCounter {
|
|
118
|
+
incrementMessageCount(): void;
|
|
119
|
+
incrementToolCallCount(): void;
|
|
120
|
+
incrementTokenCount(tokenCount: number): void;
|
|
121
|
+
}
|
|
117
122
|
export interface ExecutionOptions {
|
|
118
123
|
maxIterations?: number;
|
|
119
124
|
abortSignal?: AbortSignal;
|
|
120
125
|
providerOptions?: ProviderOptions;
|
|
121
126
|
telemetry?: BuiltTelemetry;
|
|
127
|
+
executionCounter?: AgentExecutionCounter;
|
|
122
128
|
}
|
|
123
129
|
export interface PersistedExecutionOptions {
|
|
124
130
|
maxIterations?: number;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { z } from 'zod';
|
|
2
1
|
import type { ModelConfig, SerializableAgentState } from './agent';
|
|
3
2
|
import type { AgentDbMessage } from './message';
|
|
4
|
-
import type {
|
|
3
|
+
import type { BuiltObservationLogStore, ObservationLogObserveFn, ObservationLogReflectFn } from './observation-log';
|
|
5
4
|
import type { JSONObject } from '../utils/json';
|
|
6
5
|
export interface MemoryDescriptor<TParams extends JSONObject = JSONObject> {
|
|
7
6
|
name: string;
|
|
@@ -23,10 +22,7 @@ export interface BuiltMemory {
|
|
|
23
22
|
getMessages(threadId: string, opts?: {
|
|
24
23
|
limit?: number;
|
|
25
24
|
before?: Date;
|
|
26
|
-
|
|
27
|
-
sinceCreatedAt: Date;
|
|
28
|
-
sinceMessageId: string;
|
|
29
|
-
};
|
|
25
|
+
resourceId?: string;
|
|
30
26
|
}): Promise<AgentDbMessage[]>;
|
|
31
27
|
saveMessages(args: {
|
|
32
28
|
threadId: string;
|
|
@@ -44,16 +40,6 @@ export interface BuiltMemory {
|
|
|
44
40
|
after: number;
|
|
45
41
|
};
|
|
46
42
|
}): Promise<AgentDbMessage[]>;
|
|
47
|
-
getWorkingMemory?(params: {
|
|
48
|
-
threadId: string;
|
|
49
|
-
resourceId: string;
|
|
50
|
-
scope: 'resource' | 'thread';
|
|
51
|
-
}): Promise<string | null>;
|
|
52
|
-
saveWorkingMemory?(params: {
|
|
53
|
-
threadId: string;
|
|
54
|
-
resourceId: string;
|
|
55
|
-
scope: 'resource' | 'thread';
|
|
56
|
-
}, content: string): Promise<void>;
|
|
57
43
|
saveEmbeddings?(opts: {
|
|
58
44
|
scope?: 'thread' | 'resource';
|
|
59
45
|
threadId?: string;
|
|
@@ -93,16 +79,22 @@ export interface TitleGenerationConfig {
|
|
|
93
79
|
instructions?: string;
|
|
94
80
|
sync?: boolean;
|
|
95
81
|
}
|
|
96
|
-
export type ObservationCapableMemory = BuiltMemory &
|
|
82
|
+
export type ObservationCapableMemory = BuiltMemory & BuiltObservationLogStore;
|
|
83
|
+
export interface ObservationLogMemoryConfig {
|
|
84
|
+
renderTokenBudget?: number;
|
|
85
|
+
}
|
|
86
|
+
export interface ObservationalMemoryConfig {
|
|
87
|
+
observerThresholdTokens?: number;
|
|
88
|
+
reflectorThresholdTokens?: number;
|
|
89
|
+
renderTokenBudget?: number;
|
|
90
|
+
observationLogTailLimit?: number;
|
|
91
|
+
lockTtlMs?: number;
|
|
92
|
+
observe?: ObservationLogObserveFn;
|
|
93
|
+
reflect?: ObservationLogReflectFn;
|
|
94
|
+
}
|
|
97
95
|
interface MemoryConfigBase {
|
|
98
96
|
lastMessages: number;
|
|
99
|
-
|
|
100
|
-
template: string;
|
|
101
|
-
structured: boolean;
|
|
102
|
-
schema?: z.ZodObject<z.ZodRawShape>;
|
|
103
|
-
scope: 'resource' | 'thread';
|
|
104
|
-
instruction?: string;
|
|
105
|
-
};
|
|
97
|
+
observationLog?: ObservationLogMemoryConfig;
|
|
106
98
|
semanticRecall?: SemanticRecallConfig;
|
|
107
99
|
titleGeneration?: TitleGenerationConfig;
|
|
108
100
|
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { AgentDbMessage } from './message';
|
|
2
|
+
export declare const OBSERVATION_LOG_MARKERS: readonly ["critical", "important", "info", "completion"];
|
|
3
|
+
export type ObservationLogMarker = (typeof OBSERVATION_LOG_MARKERS)[number];
|
|
4
|
+
export declare const OBSERVATION_LOG_STATUSES: readonly ["active", "superseded", "dropped"];
|
|
5
|
+
export type ObservationLogStatus = (typeof OBSERVATION_LOG_STATUSES)[number];
|
|
6
|
+
export type ObservationLogScopeKind = 'thread' | 'resource';
|
|
7
|
+
export type ObservationLogTaskKind = 'observer' | 'reflector';
|
|
8
|
+
export declare function createObservationLogThreadScopeId(threadId: string, resourceId: string): string;
|
|
9
|
+
export declare function createObservationLogThreadScopePrefix(threadId: string): string;
|
|
10
|
+
export interface ObservationLogScope {
|
|
11
|
+
scopeKind: ObservationLogScopeKind;
|
|
12
|
+
scopeId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ObservationLogTaskLockHandle extends ObservationLogScope {
|
|
15
|
+
taskKind: ObservationLogTaskKind;
|
|
16
|
+
holderId: string;
|
|
17
|
+
heldUntil: Date;
|
|
18
|
+
}
|
|
19
|
+
export interface ObservationLogEntry extends ObservationLogScope {
|
|
20
|
+
id: string;
|
|
21
|
+
marker: ObservationLogMarker;
|
|
22
|
+
text: string;
|
|
23
|
+
parentId: string | null;
|
|
24
|
+
tokenCount: number;
|
|
25
|
+
status: ObservationLogStatus;
|
|
26
|
+
supersededBy: string | null;
|
|
27
|
+
createdAt: Date;
|
|
28
|
+
}
|
|
29
|
+
export interface NewObservationLogEntry extends ObservationLogScope {
|
|
30
|
+
marker: ObservationLogMarker;
|
|
31
|
+
text: string;
|
|
32
|
+
parentId?: string | null;
|
|
33
|
+
tokenCount?: number;
|
|
34
|
+
createdAt?: Date;
|
|
35
|
+
}
|
|
36
|
+
export interface ObservationLogReadOptions extends ObservationLogScope {
|
|
37
|
+
status?: ObservationLogStatus;
|
|
38
|
+
parentId?: string | null;
|
|
39
|
+
limit?: number;
|
|
40
|
+
order?: 'asc' | 'desc';
|
|
41
|
+
}
|
|
42
|
+
export interface ObservationLogMerge {
|
|
43
|
+
supersedes: string[];
|
|
44
|
+
marker: ObservationLogMarker;
|
|
45
|
+
text: string;
|
|
46
|
+
parentId?: string | null;
|
|
47
|
+
tokenCount?: number;
|
|
48
|
+
createdAt?: Date;
|
|
49
|
+
}
|
|
50
|
+
export interface ObservationLogReflection {
|
|
51
|
+
drop: string[];
|
|
52
|
+
merge: ObservationLogMerge[];
|
|
53
|
+
}
|
|
54
|
+
export interface ObservationLogReflectionResult {
|
|
55
|
+
droppedIds: string[];
|
|
56
|
+
supersededIds: string[];
|
|
57
|
+
inserted: ObservationLogEntry[];
|
|
58
|
+
}
|
|
59
|
+
export type TokenCounter = (text: string) => number;
|
|
60
|
+
export declare const estimateObservationTokens: TokenCounter;
|
|
61
|
+
export interface ObservationLogObserverInput {
|
|
62
|
+
scopeKind: ObservationLogScopeKind;
|
|
63
|
+
scopeId: string;
|
|
64
|
+
now: Date;
|
|
65
|
+
deltaMessages: AgentDbMessage[];
|
|
66
|
+
transcript: string;
|
|
67
|
+
transcriptTokenCount: number;
|
|
68
|
+
observationLogTail: ObservationLogEntry[];
|
|
69
|
+
renderedObservationLogTail: string | null;
|
|
70
|
+
}
|
|
71
|
+
export type ObservationLogObserveFn = (input: ObservationLogObserverInput) => Promise<string>;
|
|
72
|
+
export interface ObservationLogReflectorInput {
|
|
73
|
+
scopeKind: ObservationLogScopeKind;
|
|
74
|
+
scopeId: string;
|
|
75
|
+
now: Date;
|
|
76
|
+
activeObservationLog: ObservationLogEntry[];
|
|
77
|
+
renderedObservationLog: string;
|
|
78
|
+
tokenCount: number;
|
|
79
|
+
tokenBudget: number;
|
|
80
|
+
}
|
|
81
|
+
export type ObservationLogReflectFn = (input: ObservationLogReflectorInput) => Promise<string>;
|
|
82
|
+
export interface BuiltObservationLogStore {
|
|
83
|
+
appendObservationLogEntries(rows: NewObservationLogEntry[]): Promise<ObservationLogEntry[]>;
|
|
84
|
+
getActiveObservationLog(scope: ObservationLogScope & {
|
|
85
|
+
limit?: number;
|
|
86
|
+
order?: 'asc' | 'desc';
|
|
87
|
+
}): Promise<ObservationLogEntry[]>;
|
|
88
|
+
getObservationLog(opts: ObservationLogReadOptions): Promise<ObservationLogEntry[]>;
|
|
89
|
+
dropObservationLogEntries(ids: string[]): Promise<void>;
|
|
90
|
+
supersedeObservationLogEntries(ids: string[], supersededBy: string): Promise<void>;
|
|
91
|
+
applyObservationLogReflection(scope: ObservationLogScope, reflection: ObservationLogReflection): Promise<ObservationLogReflectionResult>;
|
|
92
|
+
}
|
|
93
|
+
export interface BuiltObservationLogTaskLockStore {
|
|
94
|
+
acquireObservationLogTaskLock(scopeKind: ObservationLogScopeKind, scopeId: string, taskKind: ObservationLogTaskKind, opts: {
|
|
95
|
+
ttlMs: number;
|
|
96
|
+
holderId: string;
|
|
97
|
+
}): Promise<ObservationLogTaskLockHandle | null>;
|
|
98
|
+
releaseObservationLogTaskLock(handle: ObservationLogTaskLockHandle): Promise<void>;
|
|
99
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.estimateObservationTokens = exports.OBSERVATION_LOG_STATUSES = exports.OBSERVATION_LOG_MARKERS = void 0;
|
|
4
|
+
exports.createObservationLogThreadScopeId = createObservationLogThreadScopeId;
|
|
5
|
+
exports.createObservationLogThreadScopePrefix = createObservationLogThreadScopePrefix;
|
|
6
|
+
exports.OBSERVATION_LOG_MARKERS = ['critical', 'important', 'info', 'completion'];
|
|
7
|
+
exports.OBSERVATION_LOG_STATUSES = ['active', 'superseded', 'dropped'];
|
|
8
|
+
const OBSERVATION_LOG_THREAD_SCOPE_PREFIX = 'thread';
|
|
9
|
+
function createObservationLogThreadScopeId(threadId, resourceId) {
|
|
10
|
+
return `${OBSERVATION_LOG_THREAD_SCOPE_PREFIX}:${encodeURIComponent(threadId)}:resource:${encodeURIComponent(resourceId)}`;
|
|
11
|
+
}
|
|
12
|
+
function createObservationLogThreadScopePrefix(threadId) {
|
|
13
|
+
return `${OBSERVATION_LOG_THREAD_SCOPE_PREFIX}:${encodeURIComponent(threadId)}:resource:`;
|
|
14
|
+
}
|
|
15
|
+
const estimateObservationTokens = (text) => Math.ceil(text.length / 4);
|
|
16
|
+
exports.estimateObservationTokens = estimateObservationTokens;
|
|
17
|
+
//# sourceMappingURL=observation-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation-log.js","sourceRoot":"","sources":["../../../src/types/sdk/observation-log.ts"],"names":[],"mappings":";;;AAgBA,8EAEC;AAED,sFAEC;AApBY,QAAA,uBAAuB,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAInF,QAAA,wBAAwB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAQrF,MAAM,mCAAmC,GAAG,QAAQ,CAAC;AAErD,SAAgB,iCAAiC,CAAC,QAAgB,EAAE,UAAkB;IACrF,OAAO,GAAG,mCAAmC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;AAC5H,CAAC;AAED,SAAgB,qCAAqC,CAAC,QAAgB;IACrE,OAAO,GAAG,mCAAmC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC3F,CAAC;AA6DM,MAAM,yBAAyB,GAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAA/E,QAAA,yBAAyB,6BAAsD"}
|