@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.
Files changed (148) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +18 -11
  3. package/dist/index.js +37 -10
  4. package/dist/index.js.map +1 -1
  5. package/dist/integrations/langsmith.d.ts +2 -0
  6. package/dist/integrations/langsmith.js +117 -2
  7. package/dist/integrations/langsmith.js.map +1 -1
  8. package/dist/runtime/agent-runtime.d.ts +30 -19
  9. package/dist/runtime/agent-runtime.js +616 -280
  10. package/dist/runtime/agent-runtime.js.map +1 -1
  11. package/dist/runtime/background-task-tracker.d.ts +6 -0
  12. package/dist/runtime/background-task-tracker.js +26 -0
  13. package/dist/runtime/background-task-tracker.js.map +1 -0
  14. package/dist/runtime/deferred-tool-manager.d.ts +28 -0
  15. package/dist/runtime/deferred-tool-manager.js +205 -0
  16. package/dist/runtime/deferred-tool-manager.js.map +1 -0
  17. package/dist/runtime/event-bus.d.ts +1 -0
  18. package/dist/runtime/event-bus.js +3 -0
  19. package/dist/runtime/event-bus.js.map +1 -1
  20. package/dist/runtime/json-value.d.ts +2 -0
  21. package/dist/runtime/json-value.js +43 -0
  22. package/dist/runtime/json-value.js.map +1 -0
  23. package/dist/runtime/memory-store.d.ts +34 -11
  24. package/dist/runtime/memory-store.js +210 -8
  25. package/dist/runtime/memory-store.js.map +1 -1
  26. package/dist/runtime/message-list.d.ts +6 -7
  27. package/dist/runtime/message-list.js +50 -6
  28. package/dist/runtime/message-list.js.map +1 -1
  29. package/dist/runtime/messages.d.ts +0 -2
  30. package/dist/runtime/messages.js +127 -101
  31. package/dist/runtime/messages.js.map +1 -1
  32. package/dist/runtime/model-factory.js +117 -34
  33. package/dist/runtime/model-factory.js.map +1 -1
  34. package/dist/runtime/observation-log-defaults.d.ts +20 -0
  35. package/dist/runtime/observation-log-defaults.js +523 -0
  36. package/dist/runtime/observation-log-defaults.js.map +1 -0
  37. package/dist/runtime/observation-log-observer.d.ts +64 -0
  38. package/dist/runtime/observation-log-observer.js +235 -0
  39. package/dist/runtime/observation-log-observer.js.map +1 -0
  40. package/dist/runtime/observation-log-reflector.d.ts +36 -0
  41. package/dist/runtime/observation-log-reflector.js +292 -0
  42. package/dist/runtime/observation-log-reflector.js.map +1 -0
  43. package/dist/runtime/observation-log-renderer.d.ts +6 -0
  44. package/dist/runtime/observation-log-renderer.js +73 -0
  45. package/dist/runtime/observation-log-renderer.js.map +1 -0
  46. package/dist/runtime/observation-log-store.d.ts +3 -0
  47. package/dist/runtime/observation-log-store.js +26 -0
  48. package/dist/runtime/observation-log-store.js.map +1 -0
  49. package/dist/runtime/provider-credentials.d.ts +167 -0
  50. package/dist/runtime/provider-credentials.js +34 -0
  51. package/dist/runtime/provider-credentials.js.map +1 -0
  52. package/dist/runtime/runtime-helpers.d.ts +3 -4
  53. package/dist/runtime/runtime-helpers.js +6 -32
  54. package/dist/runtime/runtime-helpers.js.map +1 -1
  55. package/dist/runtime/scoped-memory-task-runner.d.ts +79 -0
  56. package/dist/runtime/scoped-memory-task-runner.js +134 -0
  57. package/dist/runtime/scoped-memory-task-runner.js.map +1 -0
  58. package/dist/runtime/stream.js +25 -43
  59. package/dist/runtime/stream.js.map +1 -1
  60. package/dist/runtime/strip-orphaned-tool-messages.js +1 -25
  61. package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
  62. package/dist/runtime/title-generation.d.ts +12 -3
  63. package/dist/runtime/title-generation.js +72 -3
  64. package/dist/runtime/title-generation.js.map +1 -1
  65. package/dist/runtime/tool-adapter.d.ts +1 -1
  66. package/dist/runtime/tool-adapter.js +3 -2
  67. package/dist/runtime/tool-adapter.js.map +1 -1
  68. package/dist/sdk/agent.d.ts +35 -22
  69. package/dist/sdk/agent.js +106 -331
  70. package/dist/sdk/agent.js.map +1 -1
  71. package/dist/sdk/catalog.d.ts +1 -0
  72. package/dist/sdk/catalog.js +1 -0
  73. package/dist/sdk/catalog.js.map +1 -1
  74. package/dist/sdk/eval.d.ts +0 -3
  75. package/dist/sdk/eval.js +4 -9
  76. package/dist/sdk/eval.js.map +1 -1
  77. package/dist/sdk/memory.d.ts +12 -12
  78. package/dist/sdk/memory.js +71 -51
  79. package/dist/sdk/memory.js.map +1 -1
  80. package/dist/sdk/provider-capabilities.js +4 -2
  81. package/dist/sdk/provider-capabilities.js.map +1 -1
  82. package/dist/sdk/provider-tools.d.ts +17 -2
  83. package/dist/sdk/provider-tools.js +19 -0
  84. package/dist/sdk/provider-tools.js.map +1 -1
  85. package/dist/sdk/telemetry.d.ts +2 -0
  86. package/dist/sdk/telemetry.js +6 -0
  87. package/dist/sdk/telemetry.js.map +1 -1
  88. package/dist/sdk/tool.d.ts +17 -10
  89. package/dist/sdk/tool.js +34 -0
  90. package/dist/sdk/tool.js.map +1 -1
  91. package/dist/sdk/verify.js +1 -4
  92. package/dist/sdk/verify.js.map +1 -1
  93. package/dist/storage/base-memory.d.ts +54 -0
  94. package/dist/storage/base-memory.js +48 -0
  95. package/dist/storage/base-memory.js.map +1 -0
  96. package/dist/types/index.d.ts +6 -3
  97. package/dist/types/index.js +7 -1
  98. package/dist/types/index.js.map +1 -1
  99. package/dist/types/runtime/event.d.ts +4 -9
  100. package/dist/types/runtime/event.js.map +1 -1
  101. package/dist/types/sdk/agent-builder.d.ts +5 -3
  102. package/dist/types/sdk/agent.d.ts +70 -27
  103. package/dist/types/sdk/credential-provider.d.ts +2 -3
  104. package/dist/types/sdk/memory.d.ts +33 -20
  105. package/dist/types/sdk/message.d.ts +11 -10
  106. package/dist/types/sdk/observation-log.d.ts +99 -0
  107. package/dist/types/sdk/observation-log.js +17 -0
  108. package/dist/types/sdk/observation-log.js.map +1 -0
  109. package/dist/types/sdk/observation.d.ts +9 -0
  110. package/dist/types/sdk/{schema.js → observation.js} +1 -1
  111. package/dist/types/sdk/observation.js.map +1 -0
  112. package/dist/types/sdk/provider.d.ts +5 -2
  113. package/dist/types/sdk/tool-descriptor.d.ts +13 -0
  114. package/dist/types/sdk/tool-descriptor.js +3 -0
  115. package/dist/types/sdk/tool-descriptor.js.map +1 -0
  116. package/dist/types/sdk/tool.d.ts +8 -3
  117. package/dist/types/telemetry.d.ts +1 -0
  118. package/dist/utils/parse.d.ts +10 -0
  119. package/dist/utils/parse.js +26 -0
  120. package/dist/utils/parse.js.map +1 -0
  121. package/dist/utils/zod.d.ts +1 -1
  122. package/dist/utils/zod.js.map +1 -1
  123. package/dist/workspace/tools/batch-str-replace-file.d.ts +3 -0
  124. package/dist/workspace/tools/batch-str-replace-file.js +67 -0
  125. package/dist/workspace/tools/batch-str-replace-file.js.map +1 -0
  126. package/dist/workspace/tools/str-replace-file.d.ts +3 -0
  127. package/dist/workspace/tools/str-replace-file.js +51 -0
  128. package/dist/workspace/tools/str-replace-file.js.map +1 -0
  129. package/dist/workspace/tools/workspace-tools.js +4 -0
  130. package/dist/workspace/tools/workspace-tools.js.map +1 -1
  131. package/package.json +16 -11
  132. package/dist/codegen/generate-agent-code.d.ts +0 -2
  133. package/dist/codegen/generate-agent-code.js +0 -197
  134. package/dist/codegen/generate-agent-code.js.map +0 -1
  135. package/dist/runtime/working-memory.d.ts +0 -14
  136. package/dist/runtime/working-memory.js +0 -69
  137. package/dist/runtime/working-memory.js.map +0 -1
  138. package/dist/sdk/from-schema.d.ts +0 -15
  139. package/dist/sdk/from-schema.js +0 -218
  140. package/dist/sdk/from-schema.js.map +0 -1
  141. package/dist/storage/postgres-memory.d.ts +0 -79
  142. package/dist/storage/postgres-memory.js +0 -410
  143. package/dist/storage/postgres-memory.js.map +0 -1
  144. package/dist/storage/sqlite-memory.d.ts +0 -60
  145. package/dist/storage/sqlite-memory.js +0 -348
  146. package/dist/storage/sqlite-memory.js.map +0 -1
  147. package/dist/types/sdk/schema.d.ts +0 -99
  148. package/dist/types/sdk/schema.js.map +0 -1
@@ -1,197 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.generateAgentCode = generateAgentCode;
37
- function escapeTemplateLiteral(str) {
38
- return str.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$/g, '\\$');
39
- }
40
- function escapeSingleQuote(str) {
41
- return JSON.stringify(str).slice(1, -1).replace(/'/g, "\\'");
42
- }
43
- let prettierInstance;
44
- async function formatCode(code) {
45
- prettierInstance ??= await Promise.resolve().then(() => __importStar(require('prettier')));
46
- return await prettierInstance.format(code, {
47
- parser: 'typescript',
48
- singleQuote: true,
49
- useTabs: true,
50
- trailingComma: 'all',
51
- printWidth: 100,
52
- });
53
- }
54
- function assertAllHandled(_) {
55
- }
56
- function modelParts(model) {
57
- if (model.provider && model.name) {
58
- return [`.model('${escapeSingleQuote(model.provider)}', '${escapeSingleQuote(model.name)}')`];
59
- }
60
- if (model.name) {
61
- return [`.model('${escapeSingleQuote(model.name)}')`];
62
- }
63
- return [];
64
- }
65
- function toolPart(tool) {
66
- if (!tool.editable) {
67
- return {
68
- part: `.tool(new WorkflowTool('${escapeSingleQuote(tool.name)}'))`,
69
- usesWorkflowTool: true,
70
- };
71
- }
72
- const parts = [`new Tool('${escapeSingleQuote(tool.name)}')`];
73
- parts.push(`.description('${escapeSingleQuote(tool.description)}')`);
74
- if (tool.inputSchemaSource)
75
- parts.push(`.input(${tool.inputSchemaSource})`);
76
- if (tool.outputSchemaSource)
77
- parts.push(`.output(${tool.outputSchemaSource})`);
78
- if (tool.suspendSchemaSource)
79
- parts.push(`.suspend(${tool.suspendSchemaSource})`);
80
- if (tool.resumeSchemaSource)
81
- parts.push(`.resume(${tool.resumeSchemaSource})`);
82
- if (tool.handlerSource)
83
- parts.push(`.handler(${tool.handlerSource})`);
84
- if (tool.toMessageSource)
85
- parts.push(`.toMessage(${tool.toMessageSource})`);
86
- if (tool.requireApproval)
87
- parts.push('.requireApproval()');
88
- if (tool.needsApprovalFnSource)
89
- parts.push(`.needsApprovalFn(${tool.needsApprovalFnSource})`);
90
- return { part: `.tool(${parts.join('')})`, usesWorkflowTool: false };
91
- }
92
- function evalPart(ev) {
93
- const parts = [`new Eval('${escapeSingleQuote(ev.name)}')`];
94
- if (ev.description)
95
- parts.push(`.description('${escapeSingleQuote(ev.description)}')`);
96
- if (ev.modelId)
97
- parts.push(`.model('${escapeSingleQuote(ev.modelId)}')`);
98
- if (ev.credentialName)
99
- parts.push(`.credential('${escapeSingleQuote(ev.credentialName)}')`);
100
- if (ev.handlerSource) {
101
- parts.push(ev.type === 'check' ? `.check(${ev.handlerSource})` : `.judge(${ev.handlerSource})`);
102
- }
103
- return `.eval(${parts.join('')})`;
104
- }
105
- function guardrailPart(g) {
106
- const method = g.position === 'input' ? 'inputGuardrail' : 'outputGuardrail';
107
- return `.${method}(${g.source})`;
108
- }
109
- function memoryPart(memory) {
110
- if (memory.source) {
111
- return `.memory(${memory.source})`;
112
- }
113
- return `.memory(new Memory().lastMessages(${memory.lastMessages ?? 10}))`;
114
- }
115
- function thinkingPart(thinking) {
116
- const props = [];
117
- if (thinking.budgetTokens !== undefined)
118
- props.push(`budgetTokens: ${thinking.budgetTokens}`);
119
- if (thinking.reasoningEffort)
120
- props.push(`reasoningEffort: '${thinking.reasoningEffort}'`);
121
- if (props.length > 0) {
122
- return `.thinking('${thinking.provider}', { ${props.join(', ')} })`;
123
- }
124
- return `.thinking('${thinking.provider}')`;
125
- }
126
- function buildImports(schema, needsWorkflowTool) {
127
- const agentImports = new Set(['Agent']);
128
- if (schema.tools.some((t) => t.editable))
129
- agentImports.add('Tool');
130
- if (needsWorkflowTool)
131
- agentImports.add('WorkflowTool');
132
- if (schema.memory)
133
- agentImports.add('Memory');
134
- if (schema.mcp && schema.mcp.length > 0)
135
- agentImports.add('McpClient');
136
- if (schema.evaluations.length > 0)
137
- agentImports.add('Eval');
138
- const toolsNeedZod = schema.tools.some((t) => (t.inputSchemaSource?.includes('z.') ?? false) ||
139
- (t.outputSchemaSource?.includes('z.') ?? false));
140
- const structuredOutputNeedsZod = schema.config.structuredOutput.schemaSource?.includes('z.') ?? false;
141
- let imports = `import { ${Array.from(agentImports).sort().join(', ')} } from '@n8n/agents';`;
142
- if (toolsNeedZod || structuredOutputNeedsZod)
143
- imports += "\nimport { z } from 'zod';";
144
- return imports;
145
- }
146
- async function generateAgentCode(schema, agentName) {
147
- const { model, credential, instructions, description: _description, tools, providerTools, memory, evaluations, guardrails, mcp, telemetry, checkpoint, config, ...rest } = schema;
148
- assertAllHandled(rest);
149
- const { thinking, toolCallConcurrency, requireToolApproval, structuredOutput, ...configRest } = config;
150
- assertAllHandled(configRest);
151
- const parts = [];
152
- let needsWorkflowTool = false;
153
- parts.push(`export default new Agent('${escapeSingleQuote(agentName)}')`);
154
- parts.push(...modelParts(model));
155
- if (credential)
156
- parts.push(`.credential('${escapeSingleQuote(credential)}')`);
157
- if (instructions)
158
- parts.push(`.instructions(\`${escapeTemplateLiteral(instructions)}\`)`);
159
- for (const tool of tools) {
160
- const { part, usesWorkflowTool } = toolPart(tool);
161
- if (usesWorkflowTool)
162
- needsWorkflowTool = true;
163
- parts.push(part);
164
- }
165
- for (const pt of providerTools) {
166
- parts.push(`.providerTool(${pt.source})`);
167
- }
168
- if (memory)
169
- parts.push(memoryPart(memory));
170
- for (const ev of evaluations) {
171
- parts.push(evalPart(ev));
172
- }
173
- for (const g of guardrails) {
174
- parts.push(guardrailPart(g));
175
- }
176
- if (mcp && mcp.length > 0) {
177
- const configs = mcp.map((s) => s.configSource).join(', ');
178
- parts.push(`.mcp(new McpClient([${configs}]))`);
179
- }
180
- if (telemetry)
181
- parts.push(`.telemetry(${telemetry.source})`);
182
- if (checkpoint)
183
- parts.push(`.checkpoint('${escapeSingleQuote(checkpoint)}')`);
184
- if (thinking)
185
- parts.push(thinkingPart(thinking));
186
- if (toolCallConcurrency)
187
- parts.push(`.toolCallConcurrency(${toolCallConcurrency})`);
188
- if (requireToolApproval)
189
- parts.push('.requireToolApproval()');
190
- if (structuredOutput.enabled && structuredOutput.schemaSource) {
191
- parts.push(`.structuredOutput(${structuredOutput.schemaSource})`);
192
- }
193
- const imports = buildImports(schema, needsWorkflowTool);
194
- const raw = `${imports}\n\n${parts.join('')};\n`;
195
- return await formatCode(raw);
196
- }
197
- //# sourceMappingURL=generate-agent-code.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-agent-code.js","sourceRoot":"","sources":["../../src/codegen/generate-agent-code.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { z } from 'zod';
2
- import type { BuiltTool } from '../types';
3
- type ZodObjectSchema = z.ZodObject<z.ZodRawShape>;
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;
7
- export declare function templateFromSchema(schema: ZodObjectSchema): string;
8
- export interface WorkingMemoryToolConfig {
9
- structured: boolean;
10
- schema?: ZodObjectSchema;
11
- persist: (content: string) => Promise<void>;
12
- }
13
- export declare function buildWorkingMemoryTool(config: WorkingMemoryToolConfig): BuiltTool;
14
- export {};
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WORKING_MEMORY_DEFAULT_INSTRUCTION = exports.UPDATE_WORKING_MEMORY_TOOL_NAME = void 0;
4
- exports.buildWorkingMemoryInstruction = buildWorkingMemoryInstruction;
5
- exports.templateFromSchema = templateFromSchema;
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) {
16
- const format = structured
17
- ? 'The memory argument must be valid JSON matching the schema'
18
- : 'Update the template with any new information learned';
19
- const body = instruction ?? exports.WORKING_MEMORY_DEFAULT_INSTRUCTION;
20
- return [
21
- '',
22
- '## Working Memory',
23
- '',
24
- body,
25
- `${format}.`,
26
- '',
27
- 'Current template:',
28
- '```',
29
- template,
30
- '```',
31
- ].join('\n');
32
- }
33
- function templateFromSchema(schema) {
34
- const obj = {};
35
- for (const [key, field] of Object.entries(schema.shape)) {
36
- const desc = field.description;
37
- obj[key] = desc ?? '';
38
- }
39
- return JSON.stringify(obj, null, 2);
40
- }
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
- };
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
- };
68
- }
69
- //# sourceMappingURL=working-memory.js.map
@@ -1 +0,0 @@
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,15 +0,0 @@
1
- import type { AgentBuilder } from '../types/sdk/agent-builder';
2
- import type { CredentialProvider } from '../types/sdk/credential-provider';
3
- import type { HandlerExecutor } from '../types/sdk/handler-executor';
4
- import type { AgentSchema } from '../types/sdk/schema';
5
- export interface FromSchemaOptions {
6
- handlerExecutor: HandlerExecutor;
7
- credentialProvider?: CredentialProvider;
8
- }
9
- interface SuspendResult {
10
- [key: symbol]: true;
11
- payload: unknown;
12
- }
13
- export declare function isSuspendResult(value: unknown): value is SuspendResult;
14
- export declare function fromSchema(agent: AgentBuilder, schema: AgentSchema, options: FromSchemaOptions): Promise<void>;
15
- export {};
@@ -1,218 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSuspendResult = isSuspendResult;
4
- exports.fromSchema = fromSchema;
5
- const mcp_client_1 = require("./mcp-client");
6
- const memory_1 = require("./memory");
7
- const tool_1 = require("./tool");
8
- const SUSPEND_MARKER = Symbol.for('n8n.agent.suspend');
9
- function isSuspendResult(value) {
10
- return (typeof value === 'object' &&
11
- value !== null &&
12
- value[SUSPEND_MARKER] === true);
13
- }
14
- async function fromSchema(agent, schema, options) {
15
- const { handlerExecutor } = options;
16
- applyModel(agent, schema.model);
17
- if (schema.credential !== null) {
18
- agent.credential(schema.credential);
19
- }
20
- if (schema.instructions !== null) {
21
- agent.instructions(schema.instructions);
22
- }
23
- await applyTools(agent, schema.tools, handlerExecutor);
24
- await applyProviderTools(agent, schema.providerTools, handlerExecutor);
25
- applyConfig(agent, schema.config);
26
- applyMemory(agent, schema);
27
- applyGuardrails(agent, schema.guardrails);
28
- applyEvals(agent, schema.evaluations, handlerExecutor);
29
- await applyStructuredOutput(agent, schema.config.structuredOutput, handlerExecutor);
30
- if (options.credentialProvider) {
31
- agent.credentialProvider(options.credentialProvider);
32
- }
33
- await applyMcpServers(agent, schema.mcp, handlerExecutor);
34
- await applyTelemetry(agent, schema.telemetry, handlerExecutor);
35
- }
36
- function applyModel(agent, model) {
37
- if (model.provider && model.name) {
38
- agent.model(model.provider, model.name);
39
- }
40
- else if (model.name) {
41
- agent.model(model.name);
42
- }
43
- }
44
- async function applyTools(agent, tools, executor) {
45
- const addedTools = new Set();
46
- for (const ts of tools) {
47
- if (addedTools.has(ts.name)) {
48
- throw new Error(`Schema has multiple definitions of tool ${ts.name}`);
49
- }
50
- addedTools.add(ts.name);
51
- if (!ts.editable) {
52
- agent.tool({
53
- name: ts.name,
54
- description: ts.description,
55
- __workflowTool: true,
56
- workflowName: ts.name,
57
- });
58
- continue;
59
- }
60
- const schemas = {};
61
- if (ts.suspendSchemaSource) {
62
- schemas.suspend = await executor.evaluateSchema(ts.suspendSchemaSource);
63
- }
64
- if (ts.resumeSchemaSource) {
65
- schemas.resume = await executor.evaluateSchema(ts.resumeSchemaSource);
66
- }
67
- const builtTool = buildToolFromSchema(ts, executor, schemas);
68
- agent.tool(builtTool);
69
- }
70
- }
71
- async function applyProviderTools(agent, providerTools, executor) {
72
- for (const pt of providerTools) {
73
- if (pt.source) {
74
- const evaluated = (await executor.evaluateExpression(pt.source));
75
- agent.providerTool({
76
- name: evaluated.name,
77
- args: evaluated.args ?? {},
78
- });
79
- }
80
- else {
81
- agent.providerTool({
82
- name: pt.name,
83
- args: {},
84
- });
85
- }
86
- }
87
- }
88
- function applyConfig(agent, config) {
89
- if (config.thinking !== null) {
90
- const { provider, ...thinkingConfig } = config.thinking;
91
- agent.thinking(provider, thinkingConfig);
92
- }
93
- if (config.toolCallConcurrency !== null) {
94
- agent.toolCallConcurrency(config.toolCallConcurrency);
95
- }
96
- if (config.requireToolApproval) {
97
- agent.requireToolApproval();
98
- }
99
- }
100
- function applyMemory(agent, schema) {
101
- if (schema.memory !== null) {
102
- const memory = new memory_1.Memory();
103
- if (schema.memory.lastMessages !== null) {
104
- memory.lastMessages(schema.memory.lastMessages);
105
- }
106
- agent.memory(memory);
107
- }
108
- if (schema.checkpoint !== null) {
109
- agent.checkpoint(schema.checkpoint);
110
- }
111
- }
112
- function applyGuardrails(agent, guardrails) {
113
- for (const g of guardrails) {
114
- const builtGuardrail = {
115
- name: g.name,
116
- guardType: g.guardType,
117
- strategy: g.strategy,
118
- _config: g.config,
119
- };
120
- if (g.position === 'input') {
121
- agent.inputGuardrail(builtGuardrail);
122
- }
123
- else {
124
- agent.outputGuardrail(builtGuardrail);
125
- }
126
- }
127
- }
128
- function applyEvals(agent, evaluations, executor) {
129
- for (const evalSchema of evaluations) {
130
- const builtEval = buildEvalFromSchema(evalSchema, executor);
131
- agent.eval(builtEval);
132
- }
133
- }
134
- async function applyStructuredOutput(agent, structuredOutput, executor) {
135
- if (structuredOutput.enabled && structuredOutput.schemaSource) {
136
- const outputSchema = await executor.evaluateSchema(structuredOutput.schemaSource);
137
- agent.structuredOutput(outputSchema);
138
- }
139
- }
140
- async function applyMcpServers(agent, mcp, executor) {
141
- if (!mcp || mcp.length === 0)
142
- return;
143
- const mcpConfigs = [];
144
- for (const m of mcp) {
145
- if (m.configSource) {
146
- const config = (await executor.evaluateExpression(m.configSource));
147
- mcpConfigs.push(config);
148
- }
149
- }
150
- if (mcpConfigs.length > 0) {
151
- agent.mcp(new mcp_client_1.McpClient(mcpConfigs));
152
- }
153
- }
154
- async function applyTelemetry(agent, telemetry, executor) {
155
- if (telemetry?.source) {
156
- const built = (await executor.evaluateExpression(telemetry.source));
157
- agent.telemetry(built);
158
- }
159
- }
160
- function buildToolFromSchema(toolSchema, executor, preEvaluated) {
161
- const handler = async (input, ctx) => {
162
- if (toolSchema.hasSuspend && 'suspend' in ctx) {
163
- const interruptCtx = ctx;
164
- const result = await executor.executeTool(toolSchema.name, input, {
165
- resumeData: interruptCtx.resumeData,
166
- parentTelemetry: ctx.parentTelemetry,
167
- });
168
- if (isSuspendResult(result)) {
169
- return await interruptCtx.suspend(result.payload);
170
- }
171
- return result;
172
- }
173
- return await executor.executeTool(toolSchema.name, input, {
174
- parentTelemetry: ctx.parentTelemetry,
175
- });
176
- };
177
- let toMessage;
178
- if (toolSchema.hasToMessage) {
179
- if (executor.executeToMessageSync) {
180
- const syncExecutor = executor.executeToMessageSync.bind(executor);
181
- toMessage = (output) => {
182
- return syncExecutor(toolSchema.name, output);
183
- };
184
- }
185
- else {
186
- throw new Error('Executor does not support executeToMessageSync');
187
- }
188
- }
189
- const built = {
190
- name: toolSchema.name,
191
- description: toolSchema.description,
192
- inputSchema: toolSchema.inputSchema ?? undefined,
193
- handler,
194
- toMessage,
195
- suspendSchema: preEvaluated?.suspend,
196
- resumeSchema: preEvaluated?.resume,
197
- providerOptions: toolSchema.providerOptions
198
- ? toolSchema.providerOptions
199
- : undefined,
200
- };
201
- if (toolSchema.requireApproval) {
202
- return (0, tool_1.wrapToolForApproval)(built, { requireApproval: true });
203
- }
204
- return built;
205
- }
206
- function buildEvalFromSchema(evalSchema, executor) {
207
- return {
208
- name: evalSchema.name,
209
- description: evalSchema.description ?? undefined,
210
- evalType: evalSchema.type,
211
- modelId: evalSchema.modelId ?? null,
212
- credentialName: evalSchema.credentialName ?? null,
213
- _run: async (evalInput) => {
214
- return await executor.executeEval(evalSchema.name, evalInput);
215
- },
216
- };
217
- }
218
- //# sourceMappingURL=from-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-schema.js","sourceRoot":"","sources":["../../src/sdk/from-schema.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import type { ConnectionOptions } from 'tls';
2
- import type { BuiltMemory, Thread } from '../types/sdk/memory';
3
- import type { AgentDbMessage } from '../types/sdk/message';
4
- export interface PostgresConnectionConfig {
5
- host?: string;
6
- port?: number;
7
- database?: string;
8
- user?: string;
9
- password?: string | (() => string | Promise<string>);
10
- }
11
- export interface PostgresMemoryConfig {
12
- connection: string | PostgresConnectionConfig;
13
- pool?: {
14
- max?: number;
15
- min?: number;
16
- idleTimeoutMillis?: number;
17
- connectionTimeoutMillis?: number;
18
- allowExitOnIdle?: boolean;
19
- };
20
- ssl?: boolean | ConnectionOptions;
21
- namespace?: string;
22
- }
23
- export declare class PostgresMemory implements BuiltMemory {
24
- private initPromise;
25
- private embeddingsInitPromise;
26
- private readonly config;
27
- private readonly ns;
28
- constructor(config: PostgresMemoryConfig);
29
- private ensureInitialized;
30
- private _initialize;
31
- getThread(threadId: string): Promise<Thread | null>;
32
- saveThread(thread: Omit<Thread, 'createdAt' | 'updatedAt'>): Promise<Thread>;
33
- deleteThread(threadId: string): Promise<void>;
34
- getMessages(threadId: string, opts?: {
35
- limit?: number;
36
- before?: Date;
37
- }): Promise<AgentDbMessage[]>;
38
- saveMessages(args: {
39
- threadId: string;
40
- resourceId?: string;
41
- messages: AgentDbMessage[];
42
- }): Promise<void>;
43
- deleteMessages(messageIds: string[]): Promise<void>;
44
- getWorkingMemory(params: {
45
- threadId: string;
46
- resourceId: string;
47
- scope: 'resource' | 'thread';
48
- }): Promise<string | null>;
49
- saveWorkingMemory(params: {
50
- threadId: string;
51
- resourceId: string;
52
- scope: 'resource' | 'thread';
53
- }, content: string): Promise<void>;
54
- private embeddingDimension;
55
- private ensureEmbeddingsTable;
56
- private _initializeEmbeddingsTable;
57
- saveEmbeddings(opts: {
58
- scope?: 'thread' | 'resource';
59
- threadId?: string;
60
- resourceId?: string;
61
- entries: Array<{
62
- id: string;
63
- vector: number[];
64
- text: string;
65
- model: string;
66
- }>;
67
- }): Promise<void>;
68
- queryEmbeddings(opts: {
69
- scope?: 'thread' | 'resource';
70
- threadId?: string;
71
- resourceId?: string;
72
- vector: number[];
73
- topK: number;
74
- }): Promise<Array<{
75
- id: string;
76
- score: number;
77
- }>>;
78
- close(): Promise<void>;
79
- }