@n8n/agents 0.3.0 → 0.5.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.
Files changed (84) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/codegen/generate-agent-code.d.ts +2 -0
  3. package/dist/codegen/generate-agent-code.js +197 -0
  4. package/dist/codegen/generate-agent-code.js.map +1 -0
  5. package/dist/index.d.ts +10 -1
  6. package/dist/index.js +12 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/agent-runtime.d.ts +4 -3
  9. package/dist/runtime/agent-runtime.js +28 -87
  10. package/dist/runtime/agent-runtime.js.map +1 -1
  11. package/dist/runtime/memory-store.d.ts +3 -3
  12. package/dist/runtime/memory-store.js +2 -4
  13. package/dist/runtime/memory-store.js.map +1 -1
  14. package/dist/runtime/message-list.d.ts +9 -4
  15. package/dist/runtime/message-list.js +51 -8
  16. package/dist/runtime/message-list.js.map +1 -1
  17. package/dist/runtime/messages.d.ts +3 -3
  18. package/dist/runtime/messages.js +1 -2
  19. package/dist/runtime/messages.js.map +1 -1
  20. package/dist/runtime/model-factory.js +17 -4
  21. package/dist/runtime/model-factory.js.map +1 -1
  22. package/dist/runtime/runtime-helpers.d.ts +5 -5
  23. package/dist/runtime/runtime-helpers.js +6 -7
  24. package/dist/runtime/runtime-helpers.js.map +1 -1
  25. package/dist/runtime/strip-orphaned-tool-messages.d.ts +2 -2
  26. package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
  27. package/dist/runtime/title-generation.d.ts +4 -0
  28. package/dist/runtime/title-generation.js +52 -15
  29. package/dist/runtime/title-generation.js.map +1 -1
  30. package/dist/runtime/working-memory.d.ts +10 -17
  31. package/dist/runtime/working-memory.js +41 -110
  32. package/dist/runtime/working-memory.js.map +1 -1
  33. package/dist/sdk/agent.d.ts +12 -1
  34. package/dist/sdk/agent.js +201 -1
  35. package/dist/sdk/agent.js.map +1 -1
  36. package/dist/sdk/eval.js +6 -0
  37. package/dist/sdk/eval.js.map +1 -1
  38. package/dist/sdk/from-schema.d.ts +15 -0
  39. package/dist/sdk/from-schema.js +218 -0
  40. package/dist/sdk/from-schema.js.map +1 -0
  41. package/dist/sdk/mcp-client.d.ts +1 -0
  42. package/dist/sdk/mcp-client.js +3 -0
  43. package/dist/sdk/mcp-client.js.map +1 -1
  44. package/dist/sdk/memory.d.ts +2 -0
  45. package/dist/sdk/memory.js +10 -0
  46. package/dist/sdk/memory.js.map +1 -1
  47. package/dist/sdk/message.d.ts +2 -2
  48. package/dist/sdk/message.js +14 -5
  49. package/dist/sdk/message.js.map +1 -1
  50. package/dist/sdk/provider-capabilities.d.ts +10 -0
  51. package/dist/sdk/provider-capabilities.js +26 -0
  52. package/dist/sdk/provider-capabilities.js.map +1 -0
  53. package/dist/sdk/tool.js +2 -1
  54. package/dist/sdk/tool.js.map +1 -1
  55. package/dist/sdk/verify.js +0 -11
  56. package/dist/sdk/verify.js.map +1 -1
  57. package/dist/storage/postgres-memory.d.ts +2 -2
  58. package/dist/storage/postgres-memory.js +4 -5
  59. package/dist/storage/postgres-memory.js.map +1 -1
  60. package/dist/storage/sqlite-memory.d.ts +2 -2
  61. package/dist/storage/sqlite-memory.js +4 -5
  62. package/dist/storage/sqlite-memory.js.map +1 -1
  63. package/dist/types/index.d.ts +2 -0
  64. package/dist/types/sdk/agent-builder.d.ts +25 -0
  65. package/dist/types/sdk/agent-builder.js +3 -0
  66. package/dist/types/sdk/agent-builder.js.map +1 -0
  67. package/dist/types/sdk/agent.d.ts +1 -0
  68. package/dist/types/sdk/credential-provider.d.ts +13 -0
  69. package/dist/types/sdk/credential-provider.js +3 -0
  70. package/dist/types/sdk/credential-provider.js.map +1 -0
  71. package/dist/types/sdk/eval.d.ts +3 -0
  72. package/dist/types/sdk/handler-executor.d.ts +12 -0
  73. package/dist/types/sdk/handler-executor.js +3 -0
  74. package/dist/types/sdk/handler-executor.js.map +1 -0
  75. package/dist/types/sdk/memory.d.ts +4 -3
  76. package/dist/types/sdk/message.d.ts +1 -0
  77. package/dist/types/sdk/schema.d.ts +99 -0
  78. package/dist/types/sdk/schema.js +3 -0
  79. package/dist/types/sdk/schema.js.map +1 -0
  80. package/dist/types/sdk/tool.d.ts +1 -0
  81. package/dist/utils/zod.d.ts +1 -0
  82. package/dist/utils/zod.js +24 -1
  83. package/dist/utils/zod.js.map +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-helpers.js","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-helpers.js","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { AgentDbMessage } from '../types/sdk/message';
2
- export declare function stripOrphanedToolMessages(messages: AgentDbMessage[]): AgentDbMessage[];
1
+ import type { AgentMessage } from '../types/sdk/message';
2
+ export declare function stripOrphanedToolMessages<T extends AgentMessage>(messages: T[]): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"strip-orphaned-tool-messages.js","sourceRoot":"","sources":["../../src/runtime/strip-orphaned-tool-messages.ts"],"names":[],"mappings":";;AAmBA,8DAkDC;AArED,4CAA8C;AAmB9C,SAAgB,yBAAyB,CAAC,QAA0B;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC;YAAE,SAAS;QACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7D,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,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,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7F,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IACC,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,KAAK,CAAC,UAAU;gBAChB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EACtC,CAAC;gBACF,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
+ {"version":3,"file":"strip-orphaned-tool-messages.js","sourceRoot":"","sources":["../../src/runtime/strip-orphaned-tool-messages.ts"],"names":[],"mappings":";;AAmBA,8DAkDC;AArED,4CAA8C;AAmB9C,SAAgB,yBAAyB,CAAyB,QAAa;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC;YAAE,SAAS;QACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7D,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,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,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7F,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IACC,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,KAAK,CAAC,UAAU;gBAChB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EACtC,CAAC;gBACF,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,6 +1,10 @@
1
+ import { type LanguageModel } from 'ai';
1
2
  import type { BuiltMemory, TitleGenerationConfig } from '../types';
2
3
  import type { ModelConfig } from '../types/sdk/agent';
3
4
  import type { AgentDbMessage } from '../types/sdk/message';
5
+ export declare function generateTitleFromMessage(model: LanguageModel, userMessage: string, opts?: {
6
+ instructions?: string;
7
+ }): Promise<string | null>;
4
8
  export declare function generateThreadTitle(opts: {
5
9
  memory: BuiltMemory;
6
10
  threadId: string;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTitleFromMessage = generateTitleFromMessage;
3
4
  exports.generateThreadTitle = generateThreadTitle;
4
5
  const ai_1 = require("ai");
5
6
  const logger_1 = require("./logger");
@@ -7,11 +8,56 @@ const model_factory_1 = require("./model-factory");
7
8
  const logger = (0, logger_1.createFilteredLogger)();
8
9
  const DEFAULT_TITLE_INSTRUCTIONS = [
9
10
  '- you will generate a short title based on the first message a user begins a conversation with',
10
- '- ensure it is not more than 80 characters long',
11
- "- the title should be a summary of the user's message",
12
- '- do not use quotes or colons',
13
- '- the entire text you return will be used as the title',
11
+ '- the title should describe what the user asked for, not what an assistant might reply',
12
+ '- 1 to 5 words, no more than 80 characters',
13
+ '- use sentence case (e.g. "Conversation title" instead of "Conversation Title")',
14
+ '- do not use quotes, colons, or markdown formatting',
15
+ '- the entire text you return will be used directly as the title, so respond with the title only',
14
16
  ].join('\n');
17
+ const TRIVIAL_MESSAGE_MAX_CHARS = 15;
18
+ const TRIVIAL_MESSAGE_MAX_WORDS = 3;
19
+ const MAX_TITLE_LENGTH = 80;
20
+ function isTrivialMessage(message) {
21
+ const normalized = message.trim();
22
+ if (normalized.length <= TRIVIAL_MESSAGE_MAX_CHARS)
23
+ return true;
24
+ const wordCount = normalized.split(/\s+/).filter(Boolean).length;
25
+ return wordCount <= TRIVIAL_MESSAGE_MAX_WORDS;
26
+ }
27
+ function sanitizeTitle(raw) {
28
+ let title = raw.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
29
+ title = title
30
+ .replace(/^#{1,6}\s+/, '')
31
+ .replace(/\*+/g, '')
32
+ .trim();
33
+ title = title.replace(/^["']|["']$/g, '').trim();
34
+ if (title.length > MAX_TITLE_LENGTH) {
35
+ const truncated = title.slice(0, MAX_TITLE_LENGTH);
36
+ const lastSpace = truncated.lastIndexOf(' ');
37
+ title = (lastSpace > 20 ? truncated.slice(0, lastSpace) : truncated) + '\u2026';
38
+ }
39
+ return title;
40
+ }
41
+ async function generateTitleFromMessage(model, userMessage, opts) {
42
+ const trimmed = userMessage.trim();
43
+ if (!trimmed)
44
+ return null;
45
+ if (isTrivialMessage(trimmed)) {
46
+ return sanitizeTitle(trimmed) || null;
47
+ }
48
+ const result = await (0, ai_1.generateText)({
49
+ model,
50
+ messages: [
51
+ { role: 'system', content: opts?.instructions ?? DEFAULT_TITLE_INSTRUCTIONS },
52
+ { role: 'user', content: trimmed },
53
+ ],
54
+ });
55
+ const raw = result.text?.trim();
56
+ if (!raw)
57
+ return null;
58
+ const title = sanitizeTitle(raw);
59
+ return title || null;
60
+ }
15
61
  async function generateThreadTitle(opts) {
16
62
  try {
17
63
  const thread = await opts.memory.getThread(opts.threadId);
@@ -28,18 +74,9 @@ async function generateThreadTitle(opts) {
28
74
  return;
29
75
  const titleModelId = opts.titleConfig.model ?? opts.agentModel;
30
76
  const titleModel = (0, model_factory_1.createModel)(titleModelId);
31
- const instructions = opts.titleConfig.instructions ?? DEFAULT_TITLE_INSTRUCTIONS;
32
- const result = await (0, ai_1.generateText)({
33
- model: titleModel,
34
- messages: [
35
- { role: 'system', content: instructions },
36
- { role: 'user', content: userText },
37
- ],
77
+ const title = await generateTitleFromMessage(titleModel, userText, {
78
+ instructions: opts.titleConfig.instructions,
38
79
  });
39
- let title = result.text?.trim();
40
- if (!title)
41
- return;
42
- title = title.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
43
80
  if (!title)
44
81
  return;
45
82
  await opts.memory.saveThread({
@@ -1 +1 @@
1
- {"version":3,"file":"title-generation.js","sourceRoot":"","sources":["../../src/runtime/title-generation.ts"],"names":[],"mappings":";;AAyBA,kDAmDC;AA5ED,2BAAkC;AAGlC,qCAAgD;AAChD,mDAA8C;AAI9C,MAAM,MAAM,GAAG,IAAA,6BAAoB,GAAE,CAAC;AAEtC,MAAM,0BAA0B,GAAG;IAClC,gGAAgG;IAChG,iDAAiD;IACjD,uDAAuD;IACvD,+BAA+B;IAC/B,wDAAwD;CACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AASN,KAAK,UAAU,mBAAmB,CAAC,IASzC;IACA,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,OAAO;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC;YAAE,OAAO;QAExD,MAAM,QAAQ,GAAI,WAAW,CAAC,OAAkD;aAC9E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC;aACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAA,2BAAW,EAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,0BAA0B,CAAC;QAEjF,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAY,EAAC;YACjC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;aACnC;SACD,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO;QAGnB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK;YACL,QAAQ,EAAE,MAAM,EAAE,QAAQ;SAC1B,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"title-generation.js","sourceRoot":"","sources":["../../src/runtime/title-generation.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,14 @@
1
- import type { z } from 'zod';
2
- import type { StreamChunk } from '../types';
1
+ import { z } from 'zod';
2
+ import type { BuiltTool } from '../types';
3
3
  type ZodObjectSchema = z.ZodObject<z.ZodRawShape>;
4
- export declare function parseWorkingMemory(text: string): {
5
- cleanText: string;
6
- workingMemory: string | null;
7
- };
8
- export declare function buildWorkingMemoryInstruction(template: string, structured: boolean): string;
4
+ export declare const UPDATE_WORKING_MEMORY_TOOL_NAME = "updateWorkingMemory";
5
+ export declare const WORKING_MEMORY_DEFAULT_INSTRUCTION: string;
6
+ export declare function buildWorkingMemoryInstruction(template: string, structured: boolean, instruction?: string): string;
9
7
  export declare function templateFromSchema(schema: ZodObjectSchema): string;
10
- type PersistFn = (content: string) => Promise<void>;
11
- export declare class WorkingMemoryStreamFilter {
12
- private writer;
13
- private persist;
14
- private state;
15
- private buffer;
16
- private pendingText;
17
- constructor(writer: WritableStreamDefaultWriter<StreamChunk>, persist: PersistFn);
18
- write(chunk: StreamChunk): Promise<void>;
19
- flush(): Promise<void>;
8
+ export interface WorkingMemoryToolConfig {
9
+ structured: boolean;
10
+ schema?: ZodObjectSchema;
11
+ persist: (content: string) => Promise<void>;
20
12
  }
13
+ export declare function buildWorkingMemoryTool(config: WorkingMemoryToolConfig): BuiltTool;
21
14
  export {};
@@ -1,42 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkingMemoryStreamFilter = void 0;
4
- exports.parseWorkingMemory = parseWorkingMemory;
3
+ exports.WORKING_MEMORY_DEFAULT_INSTRUCTION = exports.UPDATE_WORKING_MEMORY_TOOL_NAME = void 0;
5
4
  exports.buildWorkingMemoryInstruction = buildWorkingMemoryInstruction;
6
5
  exports.templateFromSchema = templateFromSchema;
7
- const logger_1 = require("./logger");
8
- const logger = (0, logger_1.createFilteredLogger)();
9
- const OPEN_TAG = '<working_memory>';
10
- const CLOSE_TAG = '</working_memory>';
11
- function parseWorkingMemory(text) {
12
- const openIdx = text.indexOf(OPEN_TAG);
13
- if (openIdx === -1)
14
- return { cleanText: text, workingMemory: null };
15
- const closeIdx = text.indexOf(CLOSE_TAG, openIdx);
16
- if (closeIdx === -1)
17
- return { cleanText: text, workingMemory: null };
18
- const contentStart = openIdx + OPEN_TAG.length;
19
- const rawContent = text.slice(contentStart, closeIdx);
20
- const workingMemory = rawContent.replace(/^\n/, '').replace(/\n$/, '');
21
- const before = text.slice(0, openIdx).replace(/\n$/, '');
22
- const after = text.slice(closeIdx + CLOSE_TAG.length).replace(/^\n/, '');
23
- const cleanText = (before + (after ? '\n' + after : '')).trim();
24
- return { cleanText, workingMemory };
25
- }
26
- function buildWorkingMemoryInstruction(template, structured) {
6
+ exports.buildWorkingMemoryTool = buildWorkingMemoryTool;
7
+ const zod_1 = require("zod");
8
+ exports.UPDATE_WORKING_MEMORY_TOOL_NAME = 'updateWorkingMemory';
9
+ exports.WORKING_MEMORY_DEFAULT_INSTRUCTION = [
10
+ 'You have persistent working memory that survives across conversations.',
11
+ 'Your current working memory state is shown below.',
12
+ `When you learn new information about the user or conversation that should be remembered, call the \`${exports.UPDATE_WORKING_MEMORY_TOOL_NAME}\` tool.`,
13
+ 'Only call it when something has actually changed — do NOT call it if nothing new was learned.',
14
+ ].join('\n');
15
+ function buildWorkingMemoryInstruction(template, structured, instruction) {
27
16
  const format = structured
28
- ? 'Emit the updated state as valid JSON matching the schema'
17
+ ? 'The memory argument must be valid JSON matching the schema'
29
18
  : 'Update the template with any new information learned';
19
+ const body = instruction ?? exports.WORKING_MEMORY_DEFAULT_INSTRUCTION;
30
20
  return [
31
21
  '',
32
22
  '## Working Memory',
33
23
  '',
34
- 'You have persistent working memory that survives across conversations.',
35
- 'The current state will be shown to you in a system message.',
36
- 'IMPORTANT: Always respond to the user first with your normal reply.',
37
- `Then, at the very end of your response, emit your updated working memory inside ${OPEN_TAG}...${CLOSE_TAG} tags on a new line.`,
38
- `${format}. If nothing changed, emit the current state unchanged.`,
39
- 'The working memory block must be the last thing in your response, after your reply to the user.',
24
+ body,
25
+ `${format}.`,
40
26
  '',
41
27
  'Current template:',
42
28
  '```',
@@ -52,87 +38,32 @@ function templateFromSchema(schema) {
52
38
  }
53
39
  return JSON.stringify(obj, null, 2);
54
40
  }
55
- class WorkingMemoryStreamFilter {
56
- constructor(writer, persist) {
57
- this.state = 'normal';
58
- this.buffer = '';
59
- this.pendingText = '';
60
- this.writer = writer;
61
- this.persist = persist;
62
- }
63
- async write(chunk) {
64
- if (chunk.type !== 'text-delta') {
65
- await this.writer.write(chunk);
66
- return;
67
- }
68
- this.pendingText += chunk.delta;
69
- while (this.pendingText.length > 0) {
70
- if (this.state === 'normal') {
71
- const openIdx = this.pendingText.indexOf(OPEN_TAG);
72
- if (openIdx === -1) {
73
- const lastLt = this.pendingText.lastIndexOf('<');
74
- if (lastLt !== -1 &&
75
- this.pendingText.length - lastLt < OPEN_TAG.length &&
76
- OPEN_TAG.startsWith(this.pendingText.slice(lastLt))) {
77
- if (lastLt > 0) {
78
- await this.writer.write({
79
- type: 'text-delta',
80
- delta: this.pendingText.slice(0, lastLt),
81
- });
82
- }
83
- this.pendingText = this.pendingText.slice(lastLt);
84
- }
85
- else {
86
- await this.writer.write({ type: 'text-delta', delta: this.pendingText });
87
- this.pendingText = '';
88
- }
89
- break;
90
- }
91
- if (openIdx > 0) {
92
- await this.writer.write({
93
- type: 'text-delta',
94
- delta: this.pendingText.slice(0, openIdx),
95
- });
96
- }
97
- this.state = 'inside';
98
- this.pendingText = this.pendingText.slice(openIdx + OPEN_TAG.length);
99
- this.buffer = '';
100
- }
101
- else {
102
- const closeIdx = this.pendingText.indexOf(CLOSE_TAG);
103
- if (closeIdx === -1) {
104
- const lastLt = this.pendingText.lastIndexOf('<');
105
- if (lastLt !== -1 &&
106
- this.pendingText.length - lastLt < CLOSE_TAG.length &&
107
- CLOSE_TAG.startsWith(this.pendingText.slice(lastLt))) {
108
- this.buffer += this.pendingText.slice(0, lastLt);
109
- this.pendingText = this.pendingText.slice(lastLt);
110
- }
111
- else {
112
- this.buffer += this.pendingText;
113
- this.pendingText = '';
114
- }
115
- break;
116
- }
117
- this.buffer += this.pendingText.slice(0, closeIdx);
118
- this.pendingText = this.pendingText.slice(closeIdx + CLOSE_TAG.length);
119
- this.state = 'normal';
120
- const content = this.buffer.replace(/^\n/, '').replace(/\n$/, '');
121
- this.persist(content).catch((error) => {
122
- logger.warn('Failed to persist working memory', { error });
123
- });
124
- this.buffer = '';
125
- }
126
- }
127
- }
128
- async flush() {
129
- if (this.state === 'normal' && this.pendingText.length > 0) {
130
- await this.writer.write({ type: 'text-delta', delta: this.pendingText });
131
- }
132
- this.pendingText = '';
133
- this.buffer = '';
134
- this.state = 'normal';
41
+ function buildWorkingMemoryTool(config) {
42
+ if (config.structured && config.schema) {
43
+ const schema = config.schema;
44
+ return {
45
+ name: exports.UPDATE_WORKING_MEMORY_TOOL_NAME,
46
+ description: 'Update your persistent working memory with new information about the user or conversation. Only call this when something has actually changed.',
47
+ inputSchema: schema,
48
+ handler: async (input) => {
49
+ const content = JSON.stringify(input, null, 2);
50
+ await config.persist(content);
51
+ return { success: true, message: 'Working memory updated.' };
52
+ },
53
+ };
135
54
  }
55
+ const freeformSchema = zod_1.z.object({
56
+ memory: zod_1.z.string().describe('The updated working memory content.'),
57
+ });
58
+ return {
59
+ name: exports.UPDATE_WORKING_MEMORY_TOOL_NAME,
60
+ description: 'Update your persistent working memory with new information about the user or conversation. Only call this when something has actually changed.',
61
+ inputSchema: freeformSchema,
62
+ handler: async (input) => {
63
+ const { memory } = input;
64
+ await config.persist(memory);
65
+ return { success: true, message: 'Working memory updated.' };
66
+ },
67
+ };
136
68
  }
137
- exports.WorkingMemoryStreamFilter = WorkingMemoryStreamFilter;
138
69
  //# sourceMappingURL=working-memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"working-memory.js","sourceRoot":"","sources":["../../src/runtime/working-memory.ts"],"names":[],"mappings":"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"}
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,qBAAqB,CAAC;AAMxD,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"}
@@ -1,17 +1,21 @@
1
1
  import type { ProviderOptions } from '@ai-sdk/provider-utils';
2
2
  import { z } from 'zod';
3
3
  import type { Eval } from './eval';
4
+ import { type FromSchemaOptions } from './from-schema';
4
5
  import type { McpClient } from './mcp-client';
5
6
  import { Memory } from './memory';
6
7
  import { Telemetry } from './telemetry';
7
8
  import { AgentRuntime } from '../runtime/agent-runtime';
8
9
  import type { AgentEvent, AgentEventHandler, AgentMiddleware, BuiltAgent, BuiltEval, BuiltGuardrail, BuiltMemory, BuiltProviderTool, BuiltTool, BuiltTelemetry, CheckpointStore, ExecutionOptions, GenerateResult, MemoryConfig, ModelConfig, Provider, RunOptions, SerializableAgentState, StreamResult, ThinkingConfigFor, ResumeOptions } from '../types';
10
+ import type { AgentBuilder } from '../types/sdk/agent-builder';
11
+ import type { CredentialProvider } from '../types/sdk/credential-provider';
9
12
  import type { AgentMessage } from '../types/sdk/message';
13
+ import type { AgentSchema } from '../types/sdk/schema';
10
14
  import type { Workspace } from '../workspace/workspace';
11
15
  type ToolParameter = BuiltTool | {
12
16
  build(): BuiltTool;
13
17
  };
14
- export declare class Agent implements BuiltAgent {
18
+ export declare class Agent implements BuiltAgent, AgentBuilder {
15
19
  readonly name: string;
16
20
  private modelId?;
17
21
  private modelConfigObj?;
@@ -27,6 +31,7 @@ export declare class Agent implements BuiltAgent {
27
31
  private checkpointStore?;
28
32
  private thinkingConfig?;
29
33
  private credentialName?;
34
+ private credProvider?;
30
35
  private resolvedKey?;
31
36
  private runtime?;
32
37
  private concurrencyValue?;
@@ -39,12 +44,16 @@ export declare class Agent implements BuiltAgent {
39
44
  private eventBus;
40
45
  private workspaceInstance?;
41
46
  constructor(name: string);
47
+ static fromSchema(schema: AgentSchema, name: string, options: FromSchemaOptions): Promise<Agent>;
48
+ hasCheckpointStorage(): boolean;
49
+ hasMemory(): boolean;
42
50
  model(providerOrIdOrConfig: string | ModelConfig, modelName?: string): this;
43
51
  instructions(text: string, options?: {
44
52
  providerOptions?: ProviderOptions;
45
53
  }): this;
46
54
  tool(t: ToolParameter | ToolParameter[]): this;
47
55
  providerTool(builtProviderTool: BuiltProviderTool): this;
56
+ get declaredTools(): BuiltTool[];
48
57
  memory(m: MemoryConfig | Memory | BuiltMemory): this;
49
58
  middleware(m: AgentMiddleware): this;
50
59
  inputGuardrail(g: BuiltGuardrail | {
@@ -58,6 +67,7 @@ export declare class Agent implements BuiltAgent {
58
67
  }): this;
59
68
  checkpoint(storage: 'memory' | CheckpointStore): this;
60
69
  credential(name: string): this;
70
+ credentialProvider(provider: CredentialProvider): this;
61
71
  protected get declaredCredential(): string | undefined;
62
72
  protected set resolvedApiKey(key: string);
63
73
  structuredOutput(schema: z.ZodType): this;
@@ -71,6 +81,7 @@ export declare class Agent implements BuiltAgent {
71
81
  get evaluations(): BuiltEval[];
72
82
  on(event: AgentEvent, handler: AgentEventHandler): void;
73
83
  asTool(description: string): BuiltTool;
84
+ describe(): AgentSchema;
74
85
  getState(): SerializableAgentState;
75
86
  abort(): void;
76
87
  generate(input: AgentMessage[] | string, options?: RunOptions & ExecutionOptions): Promise<GenerateResult>;