@n8n/agents 0.6.0 → 0.7.1

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 -7
  9. package/dist/runtime/agent-runtime.js +390 -204
  10. package/dist/runtime/agent-runtime.js.map +1 -1
  11. package/dist/runtime/event-bus.d.ts +1 -0
  12. package/dist/runtime/event-bus.js +3 -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/runtime-helpers.d.ts +3 -4
  32. package/dist/runtime/runtime-helpers.js +6 -32
  33. package/dist/runtime/runtime-helpers.js.map +1 -1
  34. package/dist/runtime/stream.js +25 -43
  35. package/dist/runtime/stream.js.map +1 -1
  36. package/dist/runtime/strip-orphaned-tool-messages.js +1 -25
  37. package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
  38. package/dist/runtime/title-generation.d.ts +12 -3
  39. package/dist/runtime/title-generation.js +72 -3
  40. package/dist/runtime/title-generation.js.map +1 -1
  41. package/dist/runtime/tool-adapter.d.ts +1 -1
  42. package/dist/runtime/tool-adapter.js +3 -2
  43. package/dist/runtime/tool-adapter.js.map +1 -1
  44. package/dist/runtime/working-memory.d.ts +1 -1
  45. package/dist/runtime/working-memory.js +1 -1
  46. package/dist/runtime/working-memory.js.map +1 -1
  47. package/dist/sdk/agent.d.ts +24 -23
  48. package/dist/sdk/agent.js +50 -324
  49. package/dist/sdk/agent.js.map +1 -1
  50. package/dist/sdk/eval.d.ts +0 -3
  51. package/dist/sdk/eval.js +4 -9
  52. package/dist/sdk/eval.js.map +1 -1
  53. package/dist/sdk/provider-capabilities.js +4 -2
  54. package/dist/sdk/provider-capabilities.js.map +1 -1
  55. package/dist/sdk/provider-tools.d.ts +17 -2
  56. package/dist/sdk/provider-tools.js +19 -0
  57. package/dist/sdk/provider-tools.js.map +1 -1
  58. package/dist/sdk/telemetry.d.ts +2 -0
  59. package/dist/sdk/telemetry.js +6 -0
  60. package/dist/sdk/telemetry.js.map +1 -1
  61. package/dist/sdk/tool.d.ts +17 -10
  62. package/dist/sdk/tool.js +34 -0
  63. package/dist/sdk/tool.js.map +1 -1
  64. package/dist/sdk/verify.js +1 -4
  65. package/dist/sdk/verify.js.map +1 -1
  66. package/dist/storage/base-memory.d.ts +64 -0
  67. package/dist/storage/base-memory.js +54 -0
  68. package/dist/storage/base-memory.js.map +1 -0
  69. package/dist/storage/postgres-memory.d.ts +33 -16
  70. package/dist/storage/postgres-memory.js +46 -25
  71. package/dist/storage/postgres-memory.js.map +1 -1
  72. package/dist/storage/sqlite-memory.d.ts +16 -6
  73. package/dist/storage/sqlite-memory.js +16 -10
  74. package/dist/storage/sqlite-memory.js.map +1 -1
  75. package/dist/types/index.d.ts +4 -2
  76. package/dist/types/index.js +3 -1
  77. package/dist/types/index.js.map +1 -1
  78. package/dist/types/runtime/event.d.ts +3 -9
  79. package/dist/types/runtime/event.js.map +1 -1
  80. package/dist/types/sdk/agent-builder.d.ts +0 -3
  81. package/dist/types/sdk/agent.d.ts +64 -27
  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
@@ -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 {};
@@ -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,99 +0,0 @@
1
- import type { JSONSchema7 } from 'json-schema';
2
- export interface AgentSchema {
3
- model: {
4
- provider: string | null;
5
- name: string | null;
6
- raw?: string;
7
- };
8
- credential: string | null;
9
- instructions: string | null;
10
- description: string | null;
11
- tools: ToolSchema[];
12
- providerTools: ProviderToolSchema[];
13
- memory: MemorySchema | null;
14
- evaluations: EvalSchema[];
15
- guardrails: GuardrailSchema[];
16
- mcp: McpServerSchema[] | null;
17
- telemetry: TelemetrySchema | null;
18
- checkpoint: 'memory' | null;
19
- config: {
20
- structuredOutput: {
21
- enabled: boolean;
22
- schemaSource: string | null;
23
- };
24
- thinking: ThinkingSchema | null;
25
- toolCallConcurrency: number | null;
26
- requireToolApproval: boolean;
27
- };
28
- }
29
- export interface ToolSchema {
30
- name: string;
31
- description: string;
32
- type: 'custom' | 'workflow' | 'provider' | 'mcp';
33
- editable: boolean;
34
- inputSchemaSource: string | null;
35
- outputSchemaSource: string | null;
36
- handlerSource: string | null;
37
- suspendSchemaSource: string | null;
38
- resumeSchemaSource: string | null;
39
- toMessageSource: string | null;
40
- requireApproval: boolean;
41
- needsApprovalFnSource: string | null;
42
- providerOptions: Record<string, unknown> | null;
43
- inputSchema: JSONSchema7 | null;
44
- outputSchema: JSONSchema7 | null;
45
- hasSuspend: boolean;
46
- hasResume: boolean;
47
- hasToMessage: boolean;
48
- }
49
- export interface ProviderToolSchema {
50
- name: string;
51
- source: string;
52
- }
53
- export interface MemorySchema {
54
- source: string | null;
55
- storage: 'memory' | 'custom';
56
- lastMessages: number | null;
57
- semanticRecall: {
58
- topK: number;
59
- messageRange: {
60
- before: number;
61
- after: number;
62
- } | null;
63
- embedder: string | null;
64
- } | null;
65
- workingMemory: {
66
- type: 'structured' | 'freeform';
67
- schema?: JSONSchema7;
68
- template?: string;
69
- } | null;
70
- }
71
- export interface EvalSchema {
72
- name: string;
73
- description: string | null;
74
- type: 'check' | 'judge';
75
- modelId: string | null;
76
- credentialName: string | null;
77
- hasCredential: boolean;
78
- handlerSource: string | null;
79
- }
80
- export interface GuardrailSchema {
81
- name: string;
82
- guardType: 'pii' | 'prompt-injection' | 'moderation' | 'custom';
83
- strategy: 'block' | 'redact' | 'warn';
84
- position: 'input' | 'output';
85
- config: Record<string, unknown>;
86
- source: string;
87
- }
88
- export interface McpServerSchema {
89
- name: string;
90
- configSource: string;
91
- }
92
- export interface TelemetrySchema {
93
- source: string;
94
- }
95
- export interface ThinkingSchema {
96
- provider: 'anthropic' | 'openai';
97
- budgetTokens?: number;
98
- reasoningEffort?: string;
99
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/types/sdk/schema.ts"],"names":[],"mappings":""}