@n8n/agents 0.5.2 → 0.7.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 (114) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +12 -8
  3. package/dist/index.js +10 -3
  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 +6 -0
  9. package/dist/runtime/agent-runtime.js +291 -80
  10. package/dist/runtime/agent-runtime.js.map +1 -1
  11. package/dist/runtime/event-bus.d.ts +2 -0
  12. package/dist/runtime/event-bus.js +7 -0
  13. package/dist/runtime/event-bus.js.map +1 -1
  14. package/dist/runtime/json-value.d.ts +2 -0
  15. package/dist/runtime/json-value.js +43 -0
  16. package/dist/runtime/json-value.js.map +1 -0
  17. package/dist/runtime/memory-store.d.ts +40 -2
  18. package/dist/runtime/memory-store.js +138 -3
  19. package/dist/runtime/memory-store.js.map +1 -1
  20. package/dist/runtime/message-list.d.ts +5 -0
  21. package/dist/runtime/message-list.js +47 -0
  22. package/dist/runtime/message-list.js.map +1 -1
  23. package/dist/runtime/messages.d.ts +0 -2
  24. package/dist/runtime/messages.js +127 -101
  25. package/dist/runtime/messages.js.map +1 -1
  26. package/dist/runtime/model-factory.js +117 -34
  27. package/dist/runtime/model-factory.js.map +1 -1
  28. package/dist/runtime/provider-credentials.d.ts +167 -0
  29. package/dist/runtime/provider-credentials.js +34 -0
  30. package/dist/runtime/provider-credentials.js.map +1 -0
  31. package/dist/runtime/run-state.js.map +1 -1
  32. package/dist/runtime/runtime-helpers.d.ts +3 -4
  33. package/dist/runtime/runtime-helpers.js +6 -32
  34. package/dist/runtime/runtime-helpers.js.map +1 -1
  35. package/dist/runtime/stream.js +25 -43
  36. package/dist/runtime/stream.js.map +1 -1
  37. package/dist/runtime/strip-orphaned-tool-messages.js +1 -25
  38. package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
  39. package/dist/runtime/title-generation.d.ts +12 -3
  40. package/dist/runtime/title-generation.js +72 -3
  41. package/dist/runtime/title-generation.js.map +1 -1
  42. package/dist/runtime/tool-adapter.d.ts +1 -1
  43. package/dist/runtime/tool-adapter.js +3 -2
  44. package/dist/runtime/tool-adapter.js.map +1 -1
  45. package/dist/runtime/working-memory.d.ts +1 -1
  46. package/dist/runtime/working-memory.js +1 -1
  47. package/dist/runtime/working-memory.js.map +1 -1
  48. package/dist/sdk/agent.d.ts +19 -15
  49. package/dist/sdk/agent.js +22 -201
  50. package/dist/sdk/agent.js.map +1 -1
  51. package/dist/sdk/eval.d.ts +0 -3
  52. package/dist/sdk/eval.js +4 -9
  53. package/dist/sdk/eval.js.map +1 -1
  54. package/dist/sdk/provider-capabilities.js +4 -2
  55. package/dist/sdk/provider-capabilities.js.map +1 -1
  56. package/dist/sdk/provider-tools.d.ts +17 -2
  57. package/dist/sdk/provider-tools.js +19 -0
  58. package/dist/sdk/provider-tools.js.map +1 -1
  59. package/dist/sdk/telemetry.d.ts +2 -0
  60. package/dist/sdk/telemetry.js +6 -0
  61. package/dist/sdk/telemetry.js.map +1 -1
  62. package/dist/sdk/tool.d.ts +17 -10
  63. package/dist/sdk/tool.js +34 -0
  64. package/dist/sdk/tool.js.map +1 -1
  65. package/dist/sdk/verify.js +1 -4
  66. package/dist/sdk/verify.js.map +1 -1
  67. package/dist/storage/base-memory.d.ts +64 -0
  68. package/dist/storage/base-memory.js +54 -0
  69. package/dist/storage/base-memory.js.map +1 -0
  70. package/dist/storage/postgres-memory.d.ts +33 -16
  71. package/dist/storage/postgres-memory.js +46 -25
  72. package/dist/storage/postgres-memory.js.map +1 -1
  73. package/dist/storage/sqlite-memory.d.ts +16 -6
  74. package/dist/storage/sqlite-memory.js +16 -10
  75. package/dist/storage/sqlite-memory.js.map +1 -1
  76. package/dist/types/index.d.ts +4 -2
  77. package/dist/types/index.js +3 -1
  78. package/dist/types/index.js.map +1 -1
  79. package/dist/types/runtime/event.d.ts +2 -2
  80. package/dist/types/sdk/agent-builder.d.ts +0 -3
  81. package/dist/types/sdk/agent.d.ts +63 -25
  82. package/dist/types/sdk/credential-provider.d.ts +2 -3
  83. package/dist/types/sdk/memory.d.ts +23 -2
  84. package/dist/types/sdk/message.d.ts +11 -10
  85. package/dist/types/sdk/observation.d.ts +100 -0
  86. package/dist/types/sdk/observation.js +5 -0
  87. package/dist/types/sdk/observation.js.map +1 -0
  88. package/dist/types/sdk/tool-descriptor.d.ts +13 -0
  89. package/dist/types/sdk/{schema.js → tool-descriptor.js} +1 -1
  90. package/dist/types/sdk/tool-descriptor.js.map +1 -0
  91. package/dist/types/sdk/tool.d.ts +8 -3
  92. package/dist/types/telemetry.d.ts +1 -0
  93. package/dist/utils/parse.d.ts +10 -0
  94. package/dist/utils/parse.js +26 -0
  95. package/dist/utils/parse.js.map +1 -0
  96. package/dist/utils/zod.d.ts +1 -1
  97. package/dist/utils/zod.js.map +1 -1
  98. package/dist/workspace/tools/batch-str-replace-file.d.ts +3 -0
  99. package/dist/workspace/tools/batch-str-replace-file.js +67 -0
  100. package/dist/workspace/tools/batch-str-replace-file.js.map +1 -0
  101. package/dist/workspace/tools/str-replace-file.d.ts +3 -0
  102. package/dist/workspace/tools/str-replace-file.js +51 -0
  103. package/dist/workspace/tools/str-replace-file.js.map +1 -0
  104. package/dist/workspace/tools/workspace-tools.js +4 -0
  105. package/dist/workspace/tools/workspace-tools.js.map +1 -1
  106. package/package.json +17 -8
  107. package/dist/codegen/generate-agent-code.d.ts +0 -2
  108. package/dist/codegen/generate-agent-code.js +0 -197
  109. package/dist/codegen/generate-agent-code.js.map +0 -1
  110. package/dist/sdk/from-schema.d.ts +0 -15
  111. package/dist/sdk/from-schema.js +0 -218
  112. package/dist/sdk/from-schema.js.map +0 -1
  113. package/dist/types/sdk/schema.d.ts +0 -99
  114. package/dist/types/sdk/schema.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/utils/parse.ts"],"names":[],"mappings":";;AAyBA,0CAcC;AAnCD,+BAAoC;AAMpC,IAAI,WAAqD,CAAC;AAE1D,SAAS,MAAM;IACd,IAAI,CAAC,WAAW,EAAE,CAAC;QAElB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAgC,CAAC;QACvE,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAMM,KAAK,UAAU,eAAe,CACpC,MAA6B,EAC7B,IAAa;IAEb,IAAI,IAAA,iBAAW,EAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACnE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { JSONSchema7 } from 'json-schema';
2
2
  import type { ZodType } from 'zod';
3
- export declare function isZodSchema(schema: ZodType | JSONSchema7): schema is ZodType;
3
+ export declare function isZodSchema(schema: unknown): schema is ZodType;
4
4
  export declare function zodToJsonSchema(schema?: unknown): JSONSchema7 | null;
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/utils/zod.ts"],"names":[],"mappings":";;AAKA,kCAMC;AAED,0CAgBC;AA3BD,2DAA4E;AAG5E,SAAgB,WAAW,CAAC,MAA6B;IACxD,OAAO,CACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAAkB,CAAC,SAAS,KAAK,UAAU,CACnD,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,MAAgB;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QACJ,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,IAAI,cAAc,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC3E,OAAQ,MAAyD,CAAC,YAAY,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,IAAA,oCAAmB,EAAC,MAAM,CAA4B,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/utils/zod.ts"],"names":[],"mappings":";;AAKA,kCAMC;AAED,0CAgBC;AA3BD,2DAA4E;AAG5E,SAAgB,WAAW,CAAC,MAAe;IAC1C,OAAO,CACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAAkC,CAAC,SAAS,KAAK,UAAU,CACnE,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,MAAgB;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QACJ,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,IAAI,cAAc,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC3E,OAAQ,MAAyD,CAAC,YAAY,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,IAAA,oCAAmB,EAAC,MAAM,CAA4B,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { BuiltTool } from '../../types/sdk/tool';
2
+ import type { WorkspaceFilesystem } from '../types';
3
+ export declare function createBatchStrReplaceFileTool(filesystem: WorkspaceFilesystem): BuiltTool;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createBatchStrReplaceFileTool = createBatchStrReplaceFileTool;
4
+ const text_editor_1 = require("@n8n/ai-utilities/text-editor");
5
+ const zod_1 = require("zod");
6
+ const tool_1 = require("../../sdk/tool");
7
+ const strReplacementSchema = zod_1.z.object({
8
+ old_str: zod_1.z.string().describe('Exact text to replace. Must match exactly and be unique.'),
9
+ new_str: zod_1.z.string().describe('Replacement text to write in place of old_str.'),
10
+ });
11
+ const inputSchema = zod_1.z.object({
12
+ path: zod_1.z.string().describe('Path to the file to edit'),
13
+ replacements: zod_1.z
14
+ .array(strReplacementSchema)
15
+ .describe('Ordered exact string replacements applied atomically.'),
16
+ });
17
+ const batchReplaceResultSchema = zod_1.z.object({
18
+ index: zod_1.z.number().int(),
19
+ old_str: zod_1.z.string(),
20
+ status: zod_1.z.enum(['success', 'failed', 'not_attempted']),
21
+ error: zod_1.z.string().optional(),
22
+ });
23
+ const outputSchema = zod_1.z.object({
24
+ success: zod_1.z.boolean().describe('Whether all replacements were applied'),
25
+ result: zod_1.z.string().optional().describe('Success message'),
26
+ error: zod_1.z.string().optional().describe('Error message when replacements could not be applied'),
27
+ results: zod_1.z
28
+ .array(batchReplaceResultSchema)
29
+ .optional()
30
+ .describe('Per-replacement statuses for a failed batch edit'),
31
+ });
32
+ function createErrorOutput(error) {
33
+ return {
34
+ success: false,
35
+ error: error instanceof Error ? error.message : 'Unknown workspace edit error.',
36
+ };
37
+ }
38
+ function isBatchReplaceResult(result) {
39
+ return Array.isArray(result);
40
+ }
41
+ function createBatchStrReplaceFileTool(filesystem) {
42
+ return new tool_1.Tool('workspace_batch_str_replace_file')
43
+ .description('Apply multiple exact text replacements to a workspace file atomically. If any replacement fails, no changes are written.')
44
+ .input(inputSchema)
45
+ .output(outputSchema)
46
+ .handler(async (input) => {
47
+ try {
48
+ const content = await filesystem.readFile(input.path, { encoding: 'utf-8' });
49
+ const editor = new text_editor_1.TextEditorDocument({ initialText: content.toString() });
50
+ const result = editor.executeBatch(input.replacements);
51
+ if (isBatchReplaceResult(result)) {
52
+ return { success: false, error: 'Batch replacement failed.', results: result };
53
+ }
54
+ const editedContent = editor.getText();
55
+ if (editedContent === null) {
56
+ throw new Error(`File "${input.path}" is not loaded.`);
57
+ }
58
+ await filesystem.writeFile(input.path, editedContent, { overwrite: true });
59
+ return { success: true, result };
60
+ }
61
+ catch (error) {
62
+ return createErrorOutput(error);
63
+ }
64
+ })
65
+ .build();
66
+ }
67
+ //# sourceMappingURL=batch-str-replace-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/batch-str-replace-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BuiltTool } from '../../types/sdk/tool';
2
+ import type { WorkspaceFilesystem } from '../types';
3
+ export declare function createStrReplaceFileTool(filesystem: WorkspaceFilesystem): BuiltTool;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createStrReplaceFileTool = createStrReplaceFileTool;
4
+ const text_editor_1 = require("@n8n/ai-utilities/text-editor");
5
+ const zod_1 = require("zod");
6
+ const tool_1 = require("../../sdk/tool");
7
+ const inputSchema = zod_1.z.object({
8
+ path: zod_1.z.string().describe('Path to the file to edit'),
9
+ old_str: zod_1.z.string().describe('Exact text to replace. Must match exactly and be unique.'),
10
+ new_str: zod_1.z.string().describe('Replacement text to write in place of old_str.'),
11
+ });
12
+ const outputSchema = zod_1.z.object({
13
+ success: zod_1.z.boolean().describe('Whether the edit was applied'),
14
+ result: zod_1.z.string().optional().describe('Success message'),
15
+ error: zod_1.z.string().optional().describe('Error message when the edit could not be applied'),
16
+ });
17
+ function createErrorOutput(error) {
18
+ return {
19
+ success: false,
20
+ error: error instanceof Error ? error.message : 'Unknown workspace edit error.',
21
+ };
22
+ }
23
+ function createStrReplaceFileTool(filesystem) {
24
+ return new tool_1.Tool('workspace_str_replace_file')
25
+ .description('Replace one exact, unique text match in a workspace file without rewriting the whole file.')
26
+ .input(inputSchema)
27
+ .output(outputSchema)
28
+ .handler(async (input) => {
29
+ try {
30
+ const content = await filesystem.readFile(input.path, { encoding: 'utf-8' });
31
+ const editor = new text_editor_1.TextEditorDocument({ initialText: content.toString() });
32
+ const result = editor.execute({
33
+ command: 'str_replace',
34
+ path: input.path,
35
+ old_str: input.old_str,
36
+ new_str: input.new_str,
37
+ });
38
+ const editedContent = editor.getText();
39
+ if (editedContent === null) {
40
+ throw new Error(`File "${input.path}" is not loaded.`);
41
+ }
42
+ await filesystem.writeFile(input.path, editedContent, { overwrite: true });
43
+ return { success: true, result };
44
+ }
45
+ catch (error) {
46
+ return createErrorOutput(error);
47
+ }
48
+ })
49
+ .build();
50
+ }
51
+ //# sourceMappingURL=str-replace-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/str-replace-file.ts"],"names":[],"mappings":";;AA4BA,4DA6BC;AAzDD,+DAAmE;AACnE,6BAAwB;AAExB,yCAAsC;AAItC,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACxF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACzF,CAAC,CAAC;AAIH,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;KAC/E,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,UAA+B;IACvE,OAAO,IAAI,WAAI,CAAC,4BAA4B,CAAC;SAC3C,WAAW,CACX,4FAA4F,CAC5F;SACA,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,IAAI,gCAAkB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createWorkspaceTools = createWorkspaceTools;
4
4
  const append_file_1 = require("./append-file");
5
+ const batch_str_replace_file_1 = require("./batch-str-replace-file");
5
6
  const copy_file_1 = require("./copy-file");
6
7
  const delete_file_1 = require("./delete-file");
7
8
  const execute_command_1 = require("./execute-command");
@@ -12,11 +13,14 @@ const move_file_1 = require("./move-file");
12
13
  const process_tools_1 = require("./process-tools");
13
14
  const read_file_1 = require("./read-file");
14
15
  const rmdir_1 = require("./rmdir");
16
+ const str_replace_file_1 = require("./str-replace-file");
15
17
  const write_file_1 = require("./write-file");
16
18
  function createWorkspaceTools(workspace) {
17
19
  const tools = [];
18
20
  if (workspace.filesystem) {
19
21
  tools.push((0, read_file_1.createReadFileTool)(workspace.filesystem));
22
+ tools.push((0, str_replace_file_1.createStrReplaceFileTool)(workspace.filesystem));
23
+ tools.push((0, batch_str_replace_file_1.createBatchStrReplaceFileTool)(workspace.filesystem));
20
24
  tools.push((0, write_file_1.createWriteFileTool)(workspace.filesystem));
21
25
  tools.push((0, list_files_1.createListFilesTool)(workspace.filesystem));
22
26
  tools.push((0, file_stat_1.createFileStatTool)(workspace.filesystem));
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-tools.js","sourceRoot":"","sources":["../../../src/workspace/tools/workspace-tools.ts"],"names":[],"mappings":";;AAoBA,oDA0BC;AA5CD,+CAAqD;AACrD,2CAAiD;AACjD,+CAAqD;AACrD,uDAA6D;AAC7D,2CAAiD;AACjD,6CAAmD;AACnD,mCAA0C;AAC1C,2CAAiD;AACjD,mDAAiF;AACjF,2CAAiD;AACjD,mCAA0C;AAC1C,6CAAmD;AAOnD,SAAgB,oBAAoB,CAAC,SAAwB;IAC5D,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAoB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAoB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAwB,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,IAAA,uCAAuB,EAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,IAAA,qCAAqB,EAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"workspace-tools.js","sourceRoot":"","sources":["../../../src/workspace/tools/workspace-tools.ts"],"names":[],"mappings":";;AAsBA,oDA4BC;AAhDD,+CAAqD;AACrD,qEAAyE;AACzE,2CAAiD;AACjD,+CAAqD;AACrD,uDAA6D;AAC7D,2CAAiD;AACjD,6CAAmD;AACnD,mCAA0C;AAC1C,2CAAiD;AACjD,mDAAiF;AACjF,2CAAiD;AACjD,mCAA0C;AAC1C,yDAA8D;AAC9D,6CAAmD;AAOnD,SAAgB,oBAAoB,CAAC,SAAwB;IAC5D,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,2CAAwB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,IAAA,sDAA6B,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAoB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAoB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAwB,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,IAAA,uCAAuB,EAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,IAAA,qCAAqB,EAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/agents",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "AI agent SDK for n8n's code-first execution engine",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -11,23 +11,32 @@
11
11
  "LICENSE_EE.md"
12
12
  ],
13
13
  "dependencies": {
14
+ "@ai-sdk/amazon-bedrock": "^4.0.95",
14
15
  "@ai-sdk/anthropic": "^3.0.58",
16
+ "@ai-sdk/azure": "^3.0.54",
17
+ "@ai-sdk/cohere": "^3.0.30",
18
+ "@ai-sdk/deepseek": "^2.0.29",
19
+ "@ai-sdk/gateway": "^3.0.104",
15
20
  "@ai-sdk/google": "^3.0.43",
21
+ "@ai-sdk/groq": "^3.0.35",
22
+ "@ai-sdk/mistral": "^3.0.30",
16
23
  "@ai-sdk/openai": "^3.0.41",
17
- "@ai-sdk/xai": "^3.0.67",
18
24
  "@ai-sdk/provider-utils": "^4.0.21",
19
- "@modelcontextprotocol/sdk": "1.26.0",
20
- "ajv": "^8.18.0",
25
+ "@ai-sdk/xai": "^3.0.67",
21
26
  "@libsql/client": "^0.17.0",
27
+ "@modelcontextprotocol/sdk": "1.26.0",
28
+ "@openrouter/ai-sdk-provider": "^2.8.0",
22
29
  "ai": "^6.0.116",
30
+ "ajv": "^8.18.0",
23
31
  "pg": "8.17.0",
24
- "zod": "3.25.67"
32
+ "zod": "3.25.67",
33
+ "@n8n/ai-utilities": "0.15.0"
25
34
  },
26
35
  "peerDependencies": {
27
- "langsmith": ">=0.3.0",
28
- "@opentelemetry/sdk-trace-node": ">=1.0.0",
36
+ "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0",
29
37
  "@opentelemetry/sdk-trace-base": ">=1.0.0",
30
- "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0"
38
+ "@opentelemetry/sdk-trace-node": ">=1.0.0",
39
+ "langsmith": ">=0.3.0"
31
40
  },
32
41
  "peerDependenciesMeta": {
33
42
  "langsmith": {
@@ -1,2 +0,0 @@
1
- import type { AgentSchema } from '../types/sdk/schema';
2
- export declare function generateAgentCode(schema: AgentSchema, agentName: string): Promise<string>;
@@ -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,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 {};