@n8n/agents 0.6.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 +18 -11
- package/dist/index.js +37 -10
- 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 +30 -19
- package/dist/runtime/agent-runtime.js +616 -280
- 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/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 +34 -11
- package/dist/runtime/memory-store.js +210 -8
- package/dist/runtime/memory-store.js.map +1 -1
- package/dist/runtime/message-list.d.ts +6 -7
- package/dist/runtime/message-list.js +50 -6
- 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/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/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/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/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/sdk/agent.d.ts +35 -22
- package/dist/sdk/agent.js +106 -331
- 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/eval.d.ts +0 -3
- package/dist/sdk/eval.js +4 -9
- package/dist/sdk/eval.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/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 +54 -0
- package/dist/storage/base-memory.js +48 -0
- package/dist/storage/base-memory.js.map +1 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.js +7 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/runtime/event.d.ts +4 -9
- package/dist/types/runtime/event.js.map +1 -1
- package/dist/types/sdk/agent-builder.d.ts +5 -3
- package/dist/types/sdk/agent.d.ts +70 -27
- package/dist/types/sdk/credential-provider.d.ts +2 -3
- package/dist/types/sdk/memory.d.ts +33 -20
- package/dist/types/sdk/message.d.ts +11 -10
- 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 +9 -0
- package/dist/types/sdk/{schema.js → observation.js} +1 -1
- package/dist/types/sdk/observation.js.map +1 -0
- package/dist/types/sdk/provider.d.ts +5 -2
- package/dist/types/sdk/tool-descriptor.d.ts +13 -0
- package/dist/types/sdk/tool-descriptor.js +3 -0
- 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 +16 -11
- 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/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/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/storage/postgres-memory.d.ts +0 -79
- package/dist/storage/postgres-memory.js +0 -410
- package/dist/storage/postgres-memory.js.map +0 -1
- package/dist/storage/sqlite-memory.d.ts +0 -60
- package/dist/storage/sqlite-memory.js +0 -348
- package/dist/storage/sqlite-memory.js.map +0 -1
- package/dist/types/sdk/schema.d.ts +0 -99
- package/dist/types/sdk/schema.js.map +0 -1
package/dist/runtime/stream.js
CHANGED
|
@@ -25,60 +25,42 @@ function toTokenUsage(usage) {
|
|
|
25
25
|
}
|
|
26
26
|
function convertChunk(c) {
|
|
27
27
|
switch (c.type) {
|
|
28
|
+
case 'start-step':
|
|
29
|
+
return { type: 'start-step' };
|
|
30
|
+
case 'finish-step':
|
|
31
|
+
return { type: 'finish-step' };
|
|
32
|
+
case 'text-start':
|
|
33
|
+
return { type: 'text-start', id: c.id };
|
|
28
34
|
case 'text-delta':
|
|
29
|
-
return { type: 'text-delta', delta: c.text ?? '' };
|
|
35
|
+
return { type: 'text-delta', id: c.id, delta: c.text ?? '' };
|
|
36
|
+
case 'text-end':
|
|
37
|
+
return { type: 'text-end', id: c.id };
|
|
38
|
+
case 'reasoning-start':
|
|
39
|
+
return { type: 'reasoning-start', id: c.id };
|
|
30
40
|
case 'reasoning-delta':
|
|
31
|
-
return { type: 'reasoning-delta', delta: c.text ?? '' };
|
|
32
|
-
case '
|
|
33
|
-
return {
|
|
34
|
-
type: 'message',
|
|
35
|
-
message: {
|
|
36
|
-
role: 'tool',
|
|
37
|
-
content: [
|
|
38
|
-
{
|
|
39
|
-
type: 'tool-call',
|
|
40
|
-
toolCallId: c.toolCallId,
|
|
41
|
-
toolName: c.toolName ?? '',
|
|
42
|
-
input: c.input,
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
},
|
|
46
|
-
};
|
|
41
|
+
return { type: 'reasoning-delta', id: c.id, delta: c.text ?? '' };
|
|
42
|
+
case 'reasoning-end':
|
|
43
|
+
return { type: 'reasoning-end', id: c.id };
|
|
47
44
|
case 'tool-input-start':
|
|
48
|
-
return {
|
|
49
|
-
type: 'tool-call-delta',
|
|
50
|
-
name: c.toolName,
|
|
51
|
-
};
|
|
45
|
+
return { type: 'tool-input-start', toolCallId: c.id, toolName: c.toolName };
|
|
52
46
|
case 'tool-input-delta':
|
|
47
|
+
return { type: 'tool-input-delta', toolCallId: c.id, delta: c.delta };
|
|
48
|
+
case 'tool-call':
|
|
53
49
|
return {
|
|
54
|
-
type: 'tool-call
|
|
55
|
-
|
|
50
|
+
type: 'tool-call',
|
|
51
|
+
toolCallId: c.toolCallId,
|
|
52
|
+
toolName: c.toolName ?? '',
|
|
53
|
+
input: c.input,
|
|
56
54
|
};
|
|
57
55
|
case 'tool-result':
|
|
58
56
|
return {
|
|
59
|
-
type: '
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
type: 'tool-result',
|
|
65
|
-
toolCallId: c.toolCallId ?? '',
|
|
66
|
-
toolName: c.toolName ?? '',
|
|
67
|
-
result: c.output && 'value' in c.output ? c.output.value : null,
|
|
68
|
-
},
|
|
69
|
-
],
|
|
70
|
-
},
|
|
57
|
+
type: 'tool-result',
|
|
58
|
+
toolCallId: c.toolCallId ?? '',
|
|
59
|
+
toolName: c.toolName ?? '',
|
|
60
|
+
output: c.output && 'value' in c.output ? c.output.value : null,
|
|
71
61
|
};
|
|
72
62
|
case 'error':
|
|
73
63
|
return { type: 'error', error: c.error };
|
|
74
|
-
case 'finish-step': {
|
|
75
|
-
const usage = toTokenUsage(c.usage);
|
|
76
|
-
return {
|
|
77
|
-
type: 'finish',
|
|
78
|
-
finishReason: (c.finishReason ?? 'stop'),
|
|
79
|
-
...(usage && { usage }),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
64
|
case 'finish': {
|
|
83
65
|
const usage = toTokenUsage(c.totalUsage);
|
|
84
66
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/runtime/stream.ts"],"names":[],"mappings":";;AAMA,oCAiCC;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/runtime/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,25 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.stripOrphanedToolMessages = stripOrphanedToolMessages;
|
|
4
4
|
const message_1 = require("../sdk/message");
|
|
5
5
|
function stripOrphanedToolMessages(messages) {
|
|
6
|
-
const callIds = new Set();
|
|
7
|
-
const resultIds = new Set();
|
|
8
|
-
for (const msg of messages) {
|
|
9
|
-
if (!(0, message_1.isLlmMessage)(msg))
|
|
10
|
-
continue;
|
|
11
|
-
for (const block of msg.content) {
|
|
12
|
-
if (block.type === 'tool-call' && block.toolCallId) {
|
|
13
|
-
callIds.add(block.toolCallId);
|
|
14
|
-
}
|
|
15
|
-
else if (block.type === 'tool-result' && block.toolCallId) {
|
|
16
|
-
resultIds.add(block.toolCallId);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
const orphanedCallIds = new Set([...callIds].filter((id) => !resultIds.has(id)));
|
|
21
|
-
const orphanedResultIds = new Set([...resultIds].filter((id) => !callIds.has(id)));
|
|
22
|
-
if (orphanedCallIds.size === 0 && orphanedResultIds.size === 0) {
|
|
23
|
-
return messages;
|
|
24
|
-
}
|
|
25
6
|
const result = [];
|
|
26
7
|
for (const msg of messages) {
|
|
27
8
|
if (!(0, message_1.isLlmMessage)(msg)) {
|
|
@@ -29,12 +10,7 @@ function stripOrphanedToolMessages(messages) {
|
|
|
29
10
|
continue;
|
|
30
11
|
}
|
|
31
12
|
const filtered = msg.content.filter((block) => {
|
|
32
|
-
if (block.type === 'tool-call' && block.
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
if (block.type === 'tool-result' &&
|
|
36
|
-
block.toolCallId &&
|
|
37
|
-
orphanedResultIds.has(block.toolCallId)) {
|
|
13
|
+
if (block.type === 'tool-call' && block.state === 'pending') {
|
|
38
14
|
return false;
|
|
39
15
|
}
|
|
40
16
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip-orphaned-tool-messages.js","sourceRoot":"","sources":["../../src/runtime/strip-orphaned-tool-messages.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"strip-orphaned-tool-messages.js","sourceRoot":"","sources":["../../src/runtime/strip-orphaned-tool-messages.ts"],"names":[],"mappings":";;AAYA,8DAsBC;AAlCD,4CAA8C;AAY9C,SAAgB,yBAAyB,CAAyB,QAAa;IAC9E,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEpC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { type LanguageModel } from 'ai';
|
|
2
|
-
import type { BuiltMemory, TitleGenerationConfig } from '../types';
|
|
2
|
+
import type { BuiltMemory, BuiltTelemetry, TitleGenerationConfig } from '../types';
|
|
3
3
|
import type { ModelConfig } from '../types/sdk/agent';
|
|
4
4
|
import type { AgentDbMessage } from '../types/sdk/message';
|
|
5
|
-
|
|
5
|
+
interface GenerateTitleFromMessageOptions {
|
|
6
6
|
instructions?: string;
|
|
7
|
-
|
|
7
|
+
telemetry?: BuiltTelemetry;
|
|
8
|
+
}
|
|
9
|
+
export declare function generateTitleFromMessage(model: LanguageModel, userMessage: string, opts?: GenerateTitleFromMessageOptions): Promise<string | null>;
|
|
10
|
+
export declare function generateTitleAndEmojiFromMessage(model: LanguageModel, userMessage: string, opts?: {
|
|
11
|
+
instructions?: string;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
title: string;
|
|
14
|
+
emoji?: string;
|
|
15
|
+
} | null>;
|
|
8
16
|
export declare function generateThreadTitle(opts: {
|
|
9
17
|
memory: BuiltMemory;
|
|
10
18
|
threadId: string;
|
|
@@ -13,3 +21,4 @@ export declare function generateThreadTitle(opts: {
|
|
|
13
21
|
agentModel: ModelConfig;
|
|
14
22
|
turnDelta: AgentDbMessage[];
|
|
15
23
|
}): Promise<void>;
|
|
24
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateTitleFromMessage = generateTitleFromMessage;
|
|
4
|
+
exports.generateTitleAndEmojiFromMessage = generateTitleAndEmojiFromMessage;
|
|
4
5
|
exports.generateThreadTitle = generateThreadTitle;
|
|
5
6
|
const ai_1 = require("ai");
|
|
6
7
|
const logger_1 = require("./logger");
|
|
@@ -30,9 +31,33 @@ const DEFAULT_TITLE_INSTRUCTIONS = [
|
|
|
30
31
|
'Message: "Build a workflow with a manual trigger that queries Scryfall for a random card"',
|
|
31
32
|
'Title: Scryfall random card workflow',
|
|
32
33
|
].join('\n');
|
|
34
|
+
const DEFAULT_TITLE_AND_EMOJI_INSTRUCTIONS = [
|
|
35
|
+
'Generate a short title and a single emoji for a conversation based on the user message.',
|
|
36
|
+
'Respond with ONLY a JSON object: {"title": "...", "emoji": "..."}',
|
|
37
|
+
'Rules:',
|
|
38
|
+
'- Title: 2 to 6 words, max 50 characters, sentence case',
|
|
39
|
+
'- Title must not contain emoji, quotes, colons, or markdown formatting',
|
|
40
|
+
'- Emoji: exactly one emoji that represents the topic',
|
|
41
|
+
'- Respond with the JSON object only, no other text',
|
|
42
|
+
].join('\n');
|
|
33
43
|
const TRIVIAL_MESSAGE_MAX_CHARS = 15;
|
|
34
44
|
const TRIVIAL_MESSAGE_MAX_WORDS = 3;
|
|
35
45
|
const MAX_TITLE_LENGTH = 80;
|
|
46
|
+
function buildTelemetryOptions(telemetry) {
|
|
47
|
+
if (!telemetry?.enabled)
|
|
48
|
+
return {};
|
|
49
|
+
return {
|
|
50
|
+
experimental_telemetry: {
|
|
51
|
+
isEnabled: true,
|
|
52
|
+
functionId: telemetry.functionId ?? 'title-generation',
|
|
53
|
+
metadata: telemetry.metadata,
|
|
54
|
+
recordInputs: telemetry.recordInputs,
|
|
55
|
+
recordOutputs: telemetry.recordOutputs,
|
|
56
|
+
tracer: telemetry.tracer,
|
|
57
|
+
integrations: telemetry.integrations.length > 0 ? telemetry.integrations : undefined,
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
36
61
|
function isTrivialMessage(message) {
|
|
37
62
|
const normalized = message.trim();
|
|
38
63
|
if (normalized.length <= TRIVIAL_MESSAGE_MAX_CHARS)
|
|
@@ -77,6 +102,7 @@ async function generateTitleFromMessage(model, userMessage, opts) {
|
|
|
77
102
|
content: `Generate a title for the following first message of a conversation. Do not answer the message — only produce the title.\n\n<message>\n${trimmed}\n</message>`,
|
|
78
103
|
},
|
|
79
104
|
],
|
|
105
|
+
...buildTelemetryOptions(opts?.telemetry),
|
|
80
106
|
});
|
|
81
107
|
const raw = result.text?.trim();
|
|
82
108
|
if (!raw)
|
|
@@ -84,6 +110,47 @@ async function generateTitleFromMessage(model, userMessage, opts) {
|
|
|
84
110
|
const title = sanitizeTitle(raw);
|
|
85
111
|
return title || null;
|
|
86
112
|
}
|
|
113
|
+
async function generateTitleAndEmojiFromMessage(model, userMessage, opts) {
|
|
114
|
+
const trimmed = userMessage.trim();
|
|
115
|
+
if (!trimmed)
|
|
116
|
+
return null;
|
|
117
|
+
if (isTrivialMessage(trimmed)) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
const result = await (0, ai_1.generateText)({
|
|
121
|
+
model,
|
|
122
|
+
messages: [
|
|
123
|
+
{ role: 'system', content: opts?.instructions ?? DEFAULT_TITLE_AND_EMOJI_INSTRUCTIONS },
|
|
124
|
+
{ role: 'user', content: trimmed },
|
|
125
|
+
],
|
|
126
|
+
});
|
|
127
|
+
let text = result.text?.trim();
|
|
128
|
+
if (!text)
|
|
129
|
+
return null;
|
|
130
|
+
text = text.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
|
|
131
|
+
if (!text)
|
|
132
|
+
return null;
|
|
133
|
+
let rawTitle = '';
|
|
134
|
+
let emoji;
|
|
135
|
+
const jsonMatch = /\{[\s\S]*\}/.exec(text);
|
|
136
|
+
if (jsonMatch) {
|
|
137
|
+
try {
|
|
138
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
139
|
+
rawTitle = parsed.title?.trim() ?? '';
|
|
140
|
+
emoji = parsed.emoji?.trim() ?? undefined;
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
rawTitle = text;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
rawTitle = text;
|
|
148
|
+
}
|
|
149
|
+
const title = sanitizeTitle(rawTitle);
|
|
150
|
+
if (!title)
|
|
151
|
+
return null;
|
|
152
|
+
return { title, emoji };
|
|
153
|
+
}
|
|
87
154
|
async function generateThreadTitle(opts) {
|
|
88
155
|
try {
|
|
89
156
|
const thread = await opts.memory.getThread(opts.threadId);
|
|
@@ -100,16 +167,18 @@ async function generateThreadTitle(opts) {
|
|
|
100
167
|
return;
|
|
101
168
|
const titleModelId = opts.titleConfig.model ?? opts.agentModel;
|
|
102
169
|
const titleModel = (0, model_factory_1.createModel)(titleModelId);
|
|
103
|
-
const
|
|
170
|
+
const generated = await generateTitleAndEmojiFromMessage(titleModel, userText, {
|
|
104
171
|
instructions: opts.titleConfig.instructions,
|
|
105
172
|
});
|
|
106
|
-
if (!
|
|
173
|
+
if (!generated)
|
|
107
174
|
return;
|
|
175
|
+
const { title, emoji } = generated;
|
|
176
|
+
const metadata = { ...(thread?.metadata ?? {}), ...(emoji && { emoji }) };
|
|
108
177
|
await opts.memory.saveThread({
|
|
109
178
|
id: opts.threadId,
|
|
110
179
|
resourceId: opts.resourceId,
|
|
111
180
|
title,
|
|
112
|
-
metadata
|
|
181
|
+
metadata,
|
|
113
182
|
});
|
|
114
183
|
}
|
|
115
184
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title-generation.js","sourceRoot":"","sources":["../../src/runtime/title-generation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"title-generation.js","sourceRoot":"","sources":["../../src/runtime/title-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare function isAgentToolResult(value: unknown): value is AgentToolRes
|
|
|
17
17
|
export declare function createAgentToolResult(output: unknown, subAgentUsage: SubAgentUsage[]): never;
|
|
18
18
|
export declare function toAiSdkProviderTools(tools?: BuiltProviderTool[]): Record<string, AiSdkTool>;
|
|
19
19
|
export declare function toAiSdkTools(tools?: BuiltTool[]): Record<string, AiSdkTool>;
|
|
20
|
-
export declare function executeTool(args: unknown, builtTool: BuiltTool, resumeData?: unknown, parentTelemetry?: BuiltTelemetry): Promise<unknown>;
|
|
20
|
+
export declare function executeTool(args: unknown, builtTool: BuiltTool, resumeData?: unknown, parentTelemetry?: BuiltTelemetry, toolCallId?: string): Promise<unknown>;
|
|
21
21
|
export declare function isInterruptible(toolName: string, toolMap: Map<string, BuiltTool>): boolean;
|
|
22
22
|
export declare function buildToolMap(tools?: BuiltTool[]): Map<string, BuiltTool>;
|
|
23
23
|
export {};
|
|
@@ -71,7 +71,7 @@ function toAiSdkTools(tools) {
|
|
|
71
71
|
}
|
|
72
72
|
return result;
|
|
73
73
|
}
|
|
74
|
-
async function executeTool(args, builtTool, resumeData, parentTelemetry) {
|
|
74
|
+
async function executeTool(args, builtTool, resumeData, parentTelemetry, toolCallId) {
|
|
75
75
|
if (!builtTool.handler) {
|
|
76
76
|
throw new Error(`No handler found for tool "${builtTool.name}"`);
|
|
77
77
|
}
|
|
@@ -82,10 +82,11 @@ async function executeTool(args, builtTool, resumeData, parentTelemetry) {
|
|
|
82
82
|
},
|
|
83
83
|
resumeData,
|
|
84
84
|
parentTelemetry,
|
|
85
|
+
toolCallId,
|
|
85
86
|
};
|
|
86
87
|
return await builtTool.handler(args, ctx);
|
|
87
88
|
}
|
|
88
|
-
const ctx = { parentTelemetry };
|
|
89
|
+
const ctx = { parentTelemetry, toolCallId };
|
|
89
90
|
return await builtTool.handler(args, ctx);
|
|
90
91
|
}
|
|
91
92
|
function isInterruptible(toolName, toolMap) {
|
|
@@ -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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"}
|
package/dist/sdk/agent.d.ts
CHANGED
|
@@ -1,27 +1,48 @@
|
|
|
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 { AgentEventHandler, AgentMiddleware, BuiltAgent, BuiltEval, BuiltGuardrail, BuiltMemory, BuiltProviderTool, BuiltTool, BuiltTelemetry, CheckpointStore, ExecutionOptions, GenerateResult, MemoryConfig, ModelConfig, Provider, RunOptions, SerializableAgentState, StreamResult, ThinkingConfig, ThinkingConfigFor, ResumeOptions } from '../types';
|
|
9
|
+
import type { AgentEvent } from '../types/runtime/event';
|
|
10
10
|
import type { AgentBuilder } from '../types/sdk/agent-builder';
|
|
11
|
-
import type { CredentialProvider } from '../types/sdk/credential-provider';
|
|
12
11
|
import type { AgentMessage } from '../types/sdk/message';
|
|
13
|
-
import type { AgentSchema } from '../types/sdk/schema';
|
|
14
12
|
import type { Workspace } from '../workspace/workspace';
|
|
15
13
|
type ToolParameter = BuiltTool | {
|
|
16
14
|
build(): BuiltTool;
|
|
17
15
|
};
|
|
16
|
+
interface DeferredToolOptions {
|
|
17
|
+
search?: {
|
|
18
|
+
topK?: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface AgentSnapshot {
|
|
22
|
+
name: string;
|
|
23
|
+
model: {
|
|
24
|
+
provider: string | null;
|
|
25
|
+
name: string | null;
|
|
26
|
+
};
|
|
27
|
+
instructions: string | null;
|
|
28
|
+
tools: ReadonlyArray<{
|
|
29
|
+
name: string;
|
|
30
|
+
description: string | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
hasMemory: boolean;
|
|
33
|
+
hasObservationalMemory: boolean;
|
|
34
|
+
thinking: ThinkingConfig | null;
|
|
35
|
+
toolCallConcurrency: number | null;
|
|
36
|
+
requireToolApproval: boolean;
|
|
37
|
+
}
|
|
18
38
|
export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
19
39
|
readonly name: string;
|
|
20
|
-
private
|
|
21
|
-
private modelConfigObj?;
|
|
40
|
+
private modelConfig?;
|
|
22
41
|
private instructionProviderOpts?;
|
|
23
42
|
private instructionsText?;
|
|
24
43
|
private tools;
|
|
44
|
+
private deferredTools;
|
|
45
|
+
private deferredToolSearchTopK;
|
|
25
46
|
private providerTools;
|
|
26
47
|
private memoryConfig?;
|
|
27
48
|
private inputGuardrails;
|
|
@@ -30,9 +51,7 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
30
51
|
private outputSchema?;
|
|
31
52
|
private checkpointStore?;
|
|
32
53
|
private thinkingConfig?;
|
|
33
|
-
private
|
|
34
|
-
private credProvider?;
|
|
35
|
-
private resolvedKey?;
|
|
54
|
+
private runtime?;
|
|
36
55
|
private concurrencyValue?;
|
|
37
56
|
private telemetryBuilder?;
|
|
38
57
|
private telemetryConfig?;
|
|
@@ -40,11 +59,9 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
40
59
|
private requireToolApprovalValue;
|
|
41
60
|
private mcpClients;
|
|
42
61
|
private buildPromise;
|
|
43
|
-
private
|
|
44
|
-
private activeEventBuses;
|
|
62
|
+
private eventBus;
|
|
45
63
|
private workspaceInstance?;
|
|
46
64
|
constructor(name: string);
|
|
47
|
-
static fromSchema(schema: AgentSchema, name: string, options: FromSchemaOptions): Promise<Agent>;
|
|
48
65
|
hasCheckpointStorage(): boolean;
|
|
49
66
|
hasMemory(): boolean;
|
|
50
67
|
model(providerOrIdOrConfig: string | ModelConfig, modelName?: string): this;
|
|
@@ -52,6 +69,7 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
52
69
|
providerOptions?: ProviderOptions;
|
|
53
70
|
}): this;
|
|
54
71
|
tool(t: ToolParameter | ToolParameter[]): this;
|
|
72
|
+
deferredTool(t: ToolParameter | ToolParameter[], options?: DeferredToolOptions): this;
|
|
55
73
|
providerTool(builtProviderTool: BuiltProviderTool): this;
|
|
56
74
|
get declaredTools(): BuiltTool[];
|
|
57
75
|
memory(m: MemoryConfig | Memory | BuiltMemory): this;
|
|
@@ -66,10 +84,6 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
66
84
|
ensureBuilt(): BuiltEval;
|
|
67
85
|
}): this;
|
|
68
86
|
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
87
|
structuredOutput(schema: z.ZodType): this;
|
|
74
88
|
thinking<P extends Provider>(_provider: P, config?: ThinkingConfigFor<P>): this;
|
|
75
89
|
telemetry(t: Telemetry | BuiltTelemetry): this;
|
|
@@ -82,8 +96,10 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
82
96
|
on(event: AgentEvent, handler: AgentEventHandler): void;
|
|
83
97
|
off(event: AgentEvent, handler: AgentEventHandler): void;
|
|
84
98
|
asTool(description: string): BuiltTool;
|
|
85
|
-
|
|
99
|
+
get snapshot(): AgentSnapshot;
|
|
100
|
+
getState(): SerializableAgentState;
|
|
86
101
|
abort(): void;
|
|
102
|
+
close(): Promise<void>;
|
|
87
103
|
generate(input: AgentMessage[] | string, options?: RunOptions & ExecutionOptions): Promise<GenerateResult>;
|
|
88
104
|
stream(input: AgentMessage[] | string, options?: RunOptions & ExecutionOptions): Promise<StreamResult>;
|
|
89
105
|
resume(method: 'generate', data: unknown, options: ResumeOptions & ExecutionOptions): Promise<GenerateResult>;
|
|
@@ -93,10 +109,7 @@ export declare class Agent implements BuiltAgent, AgentBuilder {
|
|
|
93
109
|
deny(method: 'generate', options: ResumeOptions & ExecutionOptions): Promise<GenerateResult>;
|
|
94
110
|
deny(method: 'stream', options: ResumeOptions & ExecutionOptions): Promise<StreamResult>;
|
|
95
111
|
private ensureBuilt;
|
|
96
|
-
private createRuntime;
|
|
97
|
-
private trackStreamBus;
|
|
98
|
-
private cleanupBus;
|
|
99
112
|
private toMessages;
|
|
100
|
-
protected build(): Promise<
|
|
113
|
+
protected build(): Promise<AgentRuntime>;
|
|
101
114
|
}
|
|
102
115
|
export {};
|