@n8n/agents 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +88 -0
- package/dist/build.tsbuildinfo +1 -0
- package/dist/evals/categorization.d.ts +2 -0
- package/dist/evals/categorization.js +23 -0
- package/dist/evals/categorization.js.map +1 -0
- package/dist/evals/contains-keywords.d.ts +2 -0
- package/dist/evals/contains-keywords.js +29 -0
- package/dist/evals/contains-keywords.js.map +1 -0
- package/dist/evals/correctness.d.ts +2 -0
- package/dist/evals/correctness.js +28 -0
- package/dist/evals/correctness.js.map +1 -0
- package/dist/evals/helpfulness.d.ts +2 -0
- package/dist/evals/helpfulness.js +26 -0
- package/dist/evals/helpfulness.js.map +1 -0
- package/dist/evals/index.d.ts +7 -0
- package/dist/evals/index.js +18 -0
- package/dist/evals/index.js.map +1 -0
- package/dist/evals/json-validity.d.ts +2 -0
- package/dist/evals/json-validity.js +21 -0
- package/dist/evals/json-validity.js.map +1 -0
- package/dist/evals/parse-judge-response.d.ts +2 -0
- package/dist/evals/parse-judge-response.js +25 -0
- package/dist/evals/parse-judge-response.js.map +1 -0
- package/dist/evals/string-similarity.d.ts +2 -0
- package/dist/evals/string-similarity.js +42 -0
- package/dist/evals/string-similarity.js.map +1 -0
- package/dist/evals/tool-call-accuracy.d.ts +2 -0
- package/dist/evals/tool-call-accuracy.js +29 -0
- package/dist/evals/tool-call-accuracy.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/langsmith.d.ts +13 -0
- package/dist/integrations/langsmith.js +77 -0
- package/dist/integrations/langsmith.js.map +1 -0
- package/dist/runtime/agent-runtime.d.ts +80 -0
- package/dist/runtime/agent-runtime.js +1246 -0
- package/dist/runtime/agent-runtime.js.map +1 -0
- package/dist/runtime/event-bus.d.ts +14 -0
- package/dist/runtime/event-bus.js +53 -0
- package/dist/runtime/event-bus.js.map +1 -0
- package/dist/runtime/logger.d.ts +22 -0
- package/dist/runtime/logger.js +40 -0
- package/dist/runtime/logger.js.map +1 -0
- package/dist/runtime/mcp-connection.d.ts +23 -0
- package/dist/runtime/mcp-connection.js +135 -0
- package/dist/runtime/mcp-connection.js.map +1 -0
- package/dist/runtime/mcp-tool-resolver.d.ts +7 -0
- package/dist/runtime/mcp-tool-resolver.js +64 -0
- package/dist/runtime/mcp-tool-resolver.js.map +1 -0
- package/dist/runtime/memory-store.d.ts +29 -0
- package/dist/runtime/memory-store.js +68 -0
- package/dist/runtime/memory-store.js.map +1 -0
- package/dist/runtime/message-list.d.ts +25 -0
- package/dist/runtime/message-list.js +79 -0
- package/dist/runtime/message-list.js.map +1 -0
- package/dist/runtime/messages.d.ts +8 -0
- package/dist/runtime/messages.js +239 -0
- package/dist/runtime/messages.js.map +1 -0
- package/dist/runtime/model-factory.d.ts +33 -0
- package/dist/runtime/model-factory.js +68 -0
- package/dist/runtime/model-factory.js.map +1 -0
- package/dist/runtime/run-state.d.ts +9 -0
- package/dist/runtime/run-state.js +49 -0
- package/dist/runtime/run-state.js.map +1 -0
- package/dist/runtime/runtime-helpers.d.ts +21 -0
- package/dist/runtime/runtime-helpers.js +96 -0
- package/dist/runtime/runtime-helpers.js.map +1 -0
- package/dist/runtime/stream.d.ts +15 -0
- package/dist/runtime/stream.js +94 -0
- package/dist/runtime/stream.js.map +1 -0
- package/dist/runtime/strip-orphaned-tool-messages.d.ts +2 -0
- package/dist/runtime/strip-orphaned-tool-messages.js +48 -0
- package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -0
- package/dist/runtime/title-generation.d.ts +11 -0
- package/dist/runtime/title-generation.js +56 -0
- package/dist/runtime/title-generation.js.map +1 -0
- package/dist/runtime/tool-adapter.d.ts +23 -0
- package/dist/runtime/tool-adapter.js +104 -0
- package/dist/runtime/tool-adapter.js.map +1 -0
- package/dist/runtime/working-memory.d.ts +21 -0
- package/dist/runtime/working-memory.js +138 -0
- package/dist/runtime/working-memory.js.map +1 -0
- package/dist/sdk/agent.d.ts +88 -0
- package/dist/sdk/agent.js +327 -0
- package/dist/sdk/agent.js.map +1 -0
- package/dist/sdk/catalog.d.ts +31 -0
- package/dist/sdk/catalog.js +80 -0
- package/dist/sdk/catalog.js.map +1 -0
- package/dist/sdk/eval.d.ts +23 -0
- package/dist/sdk/eval.js +99 -0
- package/dist/sdk/eval.js.map +1 -0
- package/dist/sdk/evaluate.d.ts +13 -0
- package/dist/sdk/evaluate.js +84 -0
- package/dist/sdk/evaluate.js.map +1 -0
- package/dist/sdk/guardrail.d.ts +14 -0
- package/dist/sdk/guardrail.js +41 -0
- package/dist/sdk/guardrail.js.map +1 -0
- package/dist/sdk/mcp-client.d.ts +16 -0
- package/dist/sdk/mcp-client.js +128 -0
- package/dist/sdk/mcp-client.js.map +1 -0
- package/dist/sdk/memory.d.ts +22 -0
- package/dist/sdk/memory.js +101 -0
- package/dist/sdk/memory.js.map +1 -0
- package/dist/sdk/message.d.ts +4 -0
- package/dist/sdk/message.js +18 -0
- package/dist/sdk/message.js.map +1 -0
- package/dist/sdk/network.d.ts +20 -0
- package/dist/sdk/network.js +46 -0
- package/dist/sdk/network.js.map +1 -0
- package/dist/sdk/provider-tools.d.ts +18 -0
- package/dist/sdk/provider-tools.js +31 -0
- package/dist/sdk/provider-tools.js.map +1 -0
- package/dist/sdk/telemetry.d.ts +31 -0
- package/dist/sdk/telemetry.js +186 -0
- package/dist/sdk/telemetry.js.map +1 -0
- package/dist/sdk/tool.d.ts +38 -0
- package/dist/sdk/tool.js +143 -0
- package/dist/sdk/tool.js.map +1 -0
- package/dist/sdk/verify.d.ts +5 -0
- package/dist/sdk/verify.js +37 -0
- package/dist/sdk/verify.js.map +1 -0
- package/dist/storage/postgres-memory.d.ts +79 -0
- package/dist/storage/postgres-memory.js +411 -0
- package/dist/storage/postgres-memory.js.map +1 -0
- package/dist/storage/sqlite-memory.d.ts +60 -0
- package/dist/storage/sqlite-memory.js +349 -0
- package/dist/storage/sqlite-memory.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/runtime/event.d.ts +41 -0
- package/dist/types/runtime/event.js +14 -0
- package/dist/types/runtime/event.js.map +1 -0
- package/dist/types/runtime/message-list.d.ts +7 -0
- package/dist/types/runtime/message-list.js +3 -0
- package/dist/types/runtime/message-list.js.map +1 -0
- package/dist/types/sdk/agent.d.ts +174 -0
- package/dist/types/sdk/agent.js +3 -0
- package/dist/types/sdk/agent.js.map +1 -0
- package/dist/types/sdk/eval.d.ts +41 -0
- package/dist/types/sdk/eval.js +3 -0
- package/dist/types/sdk/eval.js.map +1 -0
- package/dist/types/sdk/guardrail.d.ts +9 -0
- package/dist/types/sdk/guardrail.js +3 -0
- package/dist/types/sdk/guardrail.js.map +1 -0
- package/dist/types/sdk/mcp.d.ts +24 -0
- package/dist/types/sdk/mcp.js +3 -0
- package/dist/types/sdk/mcp.js.map +1 -0
- package/dist/types/sdk/memory.d.ts +99 -0
- package/dist/types/sdk/memory.js +3 -0
- package/dist/types/sdk/memory.js.map +1 -0
- package/dist/types/sdk/message.d.ts +79 -0
- package/dist/types/sdk/message.js +3 -0
- package/dist/types/sdk/message.js.map +1 -0
- package/dist/types/sdk/provider.d.ts +16 -0
- package/dist/types/sdk/provider.js +3 -0
- package/dist/types/sdk/provider.js.map +1 -0
- package/dist/types/sdk/tool.d.ts +32 -0
- package/dist/types/sdk/tool.js +3 -0
- package/dist/types/sdk/tool.js.map +1 -0
- package/dist/types/telemetry.d.ts +18 -0
- package/dist/types/telemetry.js +3 -0
- package/dist/types/telemetry.js.map +1 -0
- package/dist/types/utils/json.d.ts +5 -0
- package/dist/types/utils/json.js +3 -0
- package/dist/types/utils/json.js.map +1 -0
- package/dist/utils/zod.d.ts +3 -0
- package/dist/utils/zod.js +7 -0
- package/dist/utils/zod.js.map +1 -0
- package/dist/workspace/filesystem/base-filesystem.d.ts +40 -0
- package/dist/workspace/filesystem/base-filesystem.js +99 -0
- package/dist/workspace/filesystem/base-filesystem.js.map +1 -0
- package/dist/workspace/index.d.ts +8 -0
- package/dist/workspace/index.js +17 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/lifecycle.d.ts +13 -0
- package/dist/workspace/lifecycle.js +11 -0
- package/dist/workspace/lifecycle.js.map +1 -0
- package/dist/workspace/process.d.ts +36 -0
- package/dist/workspace/process.js +76 -0
- package/dist/workspace/process.js.map +1 -0
- package/dist/workspace/sandbox/base-sandbox.d.ts +28 -0
- package/dist/workspace/sandbox/base-sandbox.js +163 -0
- package/dist/workspace/sandbox/base-sandbox.js.map +1 -0
- package/dist/workspace/tools/append-file.d.ts +3 -0
- package/dist/workspace/tools/append-file.js +22 -0
- package/dist/workspace/tools/append-file.js.map +1 -0
- package/dist/workspace/tools/copy-file.d.ts +3 -0
- package/dist/workspace/tools/copy-file.js +26 -0
- package/dist/workspace/tools/copy-file.js.map +1 -0
- package/dist/workspace/tools/delete-file.d.ts +3 -0
- package/dist/workspace/tools/delete-file.js +26 -0
- package/dist/workspace/tools/delete-file.js.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts +3 -0
- package/dist/workspace/tools/execute-command.js +39 -0
- package/dist/workspace/tools/execute-command.js.map +1 -0
- package/dist/workspace/tools/file-stat.d.ts +3 -0
- package/dist/workspace/tools/file-stat.js +33 -0
- package/dist/workspace/tools/file-stat.js.map +1 -0
- package/dist/workspace/tools/list-files.d.ts +3 -0
- package/dist/workspace/tools/list-files.js +28 -0
- package/dist/workspace/tools/list-files.js.map +1 -0
- package/dist/workspace/tools/mkdir.d.ts +3 -0
- package/dist/workspace/tools/mkdir.js +22 -0
- package/dist/workspace/tools/mkdir.js.map +1 -0
- package/dist/workspace/tools/move-file.d.ts +3 -0
- package/dist/workspace/tools/move-file.js +26 -0
- package/dist/workspace/tools/move-file.js.map +1 -0
- package/dist/workspace/tools/process-tools.d.ts +4 -0
- package/dist/workspace/tools/process-tools.js +37 -0
- package/dist/workspace/tools/process-tools.js.map +1 -0
- package/dist/workspace/tools/read-file.d.ts +3 -0
- package/dist/workspace/tools/read-file.js +24 -0
- package/dist/workspace/tools/read-file.js.map +1 -0
- package/dist/workspace/tools/rmdir.d.ts +3 -0
- package/dist/workspace/tools/rmdir.js +26 -0
- package/dist/workspace/tools/rmdir.js.map +1 -0
- package/dist/workspace/tools/workspace-tools.d.ts +8 -0
- package/dist/workspace/tools/workspace-tools.js +39 -0
- package/dist/workspace/tools/workspace-tools.js.map +1 -0
- package/dist/workspace/tools/write-file.d.ts +3 -0
- package/dist/workspace/tools/write-file.js +26 -0
- package/dist/workspace/tools/write-file.js.map +1 -0
- package/dist/workspace/types.d.ts +178 -0
- package/dist/workspace/types.js +7 -0
- package/dist/workspace/types.js.map +1 -0
- package/dist/workspace/workspace.d.ts +21 -0
- package/dist/workspace/workspace.js +131 -0
- package/dist/workspace/workspace.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluate = evaluate;
|
|
4
|
+
const message_1 = require("./message");
|
|
5
|
+
function extractText(messages) {
|
|
6
|
+
return (0, message_1.filterLlmMessages)(messages)
|
|
7
|
+
.flatMap((m) => m.content)
|
|
8
|
+
.filter((c) => c.type === 'text')
|
|
9
|
+
.map((c) => c.text)
|
|
10
|
+
.join('');
|
|
11
|
+
}
|
|
12
|
+
async function evaluate(agent, config) {
|
|
13
|
+
const { dataset, evals } = config;
|
|
14
|
+
const runs = await Promise.all(dataset.map(async (row) => {
|
|
15
|
+
const result = await runWithInterrupts(agent, row.input, row.resumeData);
|
|
16
|
+
const toolCalls = result.toolCalls ?? [];
|
|
17
|
+
let output = extractText(result.messages);
|
|
18
|
+
if (!output.trim() && toolCalls.length > 0) {
|
|
19
|
+
const toolOutputs = toolCalls
|
|
20
|
+
.filter((tc) => tc.output !== undefined)
|
|
21
|
+
.map((tc) => `[${tc.tool}] ${JSON.stringify(tc.output)}`);
|
|
22
|
+
if (toolOutputs.length > 0) {
|
|
23
|
+
output = toolOutputs.join('\n');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const scoreEntries = await Promise.all(evals.map(async (ev) => {
|
|
27
|
+
const score = await ev.run({
|
|
28
|
+
input: row.input,
|
|
29
|
+
output,
|
|
30
|
+
expected: row.expected,
|
|
31
|
+
toolCalls,
|
|
32
|
+
});
|
|
33
|
+
return [ev.name, score];
|
|
34
|
+
}));
|
|
35
|
+
return {
|
|
36
|
+
input: row.input,
|
|
37
|
+
output,
|
|
38
|
+
expected: row.expected,
|
|
39
|
+
scores: Object.fromEntries(scoreEntries),
|
|
40
|
+
};
|
|
41
|
+
}));
|
|
42
|
+
const summary = {};
|
|
43
|
+
for (const ev of evals) {
|
|
44
|
+
const results = runs
|
|
45
|
+
.map((r) => r.scores[ev.name]?.pass)
|
|
46
|
+
.filter((p) => p !== undefined);
|
|
47
|
+
if (results.length > 0) {
|
|
48
|
+
const passed = results.filter(Boolean).length;
|
|
49
|
+
summary[ev.name] = {
|
|
50
|
+
passed,
|
|
51
|
+
failed: results.length - passed,
|
|
52
|
+
total: results.length,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return { runs, summary };
|
|
57
|
+
}
|
|
58
|
+
async function runWithInterrupts(agent, input, resumeOverrides) {
|
|
59
|
+
let result = await agent.generate(input);
|
|
60
|
+
const allToolCalls = [
|
|
61
|
+
...(result.toolCalls ?? []),
|
|
62
|
+
];
|
|
63
|
+
while (result.pendingSuspend && result.pendingSuspend.length > 0) {
|
|
64
|
+
const { runId, toolCallId, toolName } = result.pendingSuspend[0];
|
|
65
|
+
const override = toolName ? resumeOverrides?.[toolName] : undefined;
|
|
66
|
+
let data;
|
|
67
|
+
if (override === 'deny') {
|
|
68
|
+
data = { approved: false };
|
|
69
|
+
}
|
|
70
|
+
else if (override && typeof override === 'object') {
|
|
71
|
+
data = override;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
data = { approved: true };
|
|
75
|
+
}
|
|
76
|
+
result = await agent.resume('generate', data, { runId, toolCallId });
|
|
77
|
+
allToolCalls.push(...(result.toolCalls ?? []));
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
...result,
|
|
81
|
+
...(allToolCalls.length > 0 ? { toolCalls: allToolCalls } : {}),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/sdk/evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BuiltGuardrail, GuardrailType, GuardrailStrategy, PiiDetectionType } from '../types';
|
|
2
|
+
export declare class Guardrail {
|
|
3
|
+
private name;
|
|
4
|
+
private guardType?;
|
|
5
|
+
private strategyType?;
|
|
6
|
+
private detectionTypes?;
|
|
7
|
+
private thresholdValue?;
|
|
8
|
+
constructor(name: string);
|
|
9
|
+
type(guardType: GuardrailType): this;
|
|
10
|
+
strategy(strategy: GuardrailStrategy): this;
|
|
11
|
+
detect(types: PiiDetectionType[]): this;
|
|
12
|
+
threshold(value: number): this;
|
|
13
|
+
build(): BuiltGuardrail;
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Guardrail = void 0;
|
|
4
|
+
class Guardrail {
|
|
5
|
+
constructor(name) {
|
|
6
|
+
this.name = name;
|
|
7
|
+
}
|
|
8
|
+
type(guardType) {
|
|
9
|
+
this.guardType = guardType;
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
strategy(strategy) {
|
|
13
|
+
this.strategyType = strategy;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
detect(types) {
|
|
17
|
+
this.detectionTypes = types;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
threshold(value) {
|
|
21
|
+
this.thresholdValue = value;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
build() {
|
|
25
|
+
if (!this.guardType)
|
|
26
|
+
throw new Error(`Guardrail "${this.name}" requires a type`);
|
|
27
|
+
if (!this.strategyType)
|
|
28
|
+
throw new Error(`Guardrail "${this.name}" requires a strategy`);
|
|
29
|
+
return {
|
|
30
|
+
name: this.name,
|
|
31
|
+
guardType: this.guardType,
|
|
32
|
+
strategy: this.strategyType,
|
|
33
|
+
_config: {
|
|
34
|
+
detectionTypes: this.detectionTypes,
|
|
35
|
+
threshold: this.thresholdValue,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Guardrail = Guardrail;
|
|
41
|
+
//# sourceMappingURL=guardrail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/sdk/guardrail.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAWrB,YAAY,IAAY;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,SAAwB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,QAA2B;QACnC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,KAAyB;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAExF,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE;gBACR,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,IAAI,CAAC,cAAc;aAC9B;SACD,CAAC;IACH,CAAC;CACD;AAjDD,8BAiDC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { McpServerConfig, McpVerifyResult } from '../types/sdk/mcp';
|
|
2
|
+
import type { BuiltTool } from '../types/sdk/tool';
|
|
3
|
+
export declare class McpClient {
|
|
4
|
+
private readonly configs;
|
|
5
|
+
private connections;
|
|
6
|
+
private listToolsPromise;
|
|
7
|
+
private closePromise;
|
|
8
|
+
constructor(configs: McpServerConfig[], requireToolApproval?: boolean);
|
|
9
|
+
connect(): Promise<void>;
|
|
10
|
+
listTools(): Promise<BuiltTool[]>;
|
|
11
|
+
close(): Promise<void>;
|
|
12
|
+
verify(): Promise<McpVerifyResult>;
|
|
13
|
+
declaresApproval(): boolean;
|
|
14
|
+
private doListTools;
|
|
15
|
+
private doClose;
|
|
16
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.McpClient = void 0;
|
|
4
|
+
const mcp_connection_1 = require("../runtime/mcp-connection");
|
|
5
|
+
class McpClient {
|
|
6
|
+
constructor(configs, requireToolApproval = false) {
|
|
7
|
+
for (const cfg of configs) {
|
|
8
|
+
if (!cfg.url && !cfg.command) {
|
|
9
|
+
throw new Error(`MCP server "${cfg.name}": exactly one of "url" or "command" must be provided`);
|
|
10
|
+
}
|
|
11
|
+
if (cfg.url && cfg.command) {
|
|
12
|
+
throw new Error(`MCP server "${cfg.name}": provide either "url" or "command", not both`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const seen = new Set();
|
|
16
|
+
for (const cfg of configs) {
|
|
17
|
+
if (seen.has(cfg.name)) {
|
|
18
|
+
throw new Error(`MCP server name "${cfg.name}" is already registered`);
|
|
19
|
+
}
|
|
20
|
+
seen.add(cfg.name);
|
|
21
|
+
}
|
|
22
|
+
this.configs = configs;
|
|
23
|
+
this.connections = configs.map((cfg) => new mcp_connection_1.McpConnection(cfg, requireToolApproval));
|
|
24
|
+
}
|
|
25
|
+
async connect() {
|
|
26
|
+
await this.listTools();
|
|
27
|
+
}
|
|
28
|
+
async listTools() {
|
|
29
|
+
if (!this.listToolsPromise) {
|
|
30
|
+
const p = this.doListTools();
|
|
31
|
+
this.listToolsPromise = p;
|
|
32
|
+
p.catch(() => {
|
|
33
|
+
if (this.listToolsPromise === p)
|
|
34
|
+
this.listToolsPromise = undefined;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return await this.listToolsPromise;
|
|
38
|
+
}
|
|
39
|
+
async close() {
|
|
40
|
+
this.closePromise ??= this.doClose();
|
|
41
|
+
return await this.closePromise;
|
|
42
|
+
}
|
|
43
|
+
async verify() {
|
|
44
|
+
if (this.configs.length === 0) {
|
|
45
|
+
return { ok: true, servers: [] };
|
|
46
|
+
}
|
|
47
|
+
const results = await Promise.allSettled(this.configs.map(async (cfg) => {
|
|
48
|
+
const conn = new mcp_connection_1.McpConnection(cfg);
|
|
49
|
+
try {
|
|
50
|
+
await conn.connect();
|
|
51
|
+
const tools = await conn.listTools();
|
|
52
|
+
return { name: cfg.name, tools: tools.length };
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
await conn.disconnect().catch(() => { });
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
58
|
+
const errors = [];
|
|
59
|
+
const servers = [];
|
|
60
|
+
for (let i = 0; i < results.length; i++) {
|
|
61
|
+
const result = results[i];
|
|
62
|
+
if (result.status === 'rejected') {
|
|
63
|
+
errors.push({
|
|
64
|
+
server: this.configs[i].name,
|
|
65
|
+
error: result.reason instanceof Error ? result.reason.message : String(result.reason),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
servers.push(result.value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return errors.length > 0 ? { ok: false, errors } : { ok: true, servers };
|
|
73
|
+
}
|
|
74
|
+
declaresApproval() {
|
|
75
|
+
return this.connections.some((conn) => conn.declaresApproval());
|
|
76
|
+
}
|
|
77
|
+
async doListTools() {
|
|
78
|
+
const connectedConnections = [];
|
|
79
|
+
const settled = await Promise.allSettled(this.connections.map(async (conn) => {
|
|
80
|
+
await conn.connect();
|
|
81
|
+
connectedConnections.push(conn);
|
|
82
|
+
return await conn.listTools();
|
|
83
|
+
}));
|
|
84
|
+
const failed = settled
|
|
85
|
+
.map((r, i) => ({ result: r, name: this.connections[i].name }))
|
|
86
|
+
.filter((x) => x.result.status === 'rejected');
|
|
87
|
+
if (failed.length > 0) {
|
|
88
|
+
await Promise.allSettled(connectedConnections.map(async (c) => await c.disconnect()));
|
|
89
|
+
const details = failed
|
|
90
|
+
.map((x) => {
|
|
91
|
+
const reason = x.result.status === 'rejected'
|
|
92
|
+
? x.result.reason instanceof Error
|
|
93
|
+
? x.result.reason.message
|
|
94
|
+
: String(x.result.reason)
|
|
95
|
+
: '';
|
|
96
|
+
return `${x.name}: ${reason}`;
|
|
97
|
+
})
|
|
98
|
+
.join('; ');
|
|
99
|
+
throw new Error(`MCP connection failed — ${details}`);
|
|
100
|
+
}
|
|
101
|
+
const tools = settled.flatMap((r) => (r.status === 'fulfilled' ? r.value : []));
|
|
102
|
+
const seen = new Set();
|
|
103
|
+
const duplicates = [];
|
|
104
|
+
for (const tool of tools) {
|
|
105
|
+
if (seen.has(tool.name)) {
|
|
106
|
+
duplicates.push(tool.name);
|
|
107
|
+
}
|
|
108
|
+
seen.add(tool.name);
|
|
109
|
+
}
|
|
110
|
+
if (duplicates.length > 0) {
|
|
111
|
+
await Promise.allSettled(connectedConnections.map(async (c) => await c.disconnect()));
|
|
112
|
+
throw new Error(`MCP tool name collision — the following tool names resolve to duplicates: ${duplicates.join(', ')}`);
|
|
113
|
+
}
|
|
114
|
+
return tools;
|
|
115
|
+
}
|
|
116
|
+
async doClose() {
|
|
117
|
+
await Promise.allSettled(this.connections.map(async (conn) => {
|
|
118
|
+
try {
|
|
119
|
+
await conn.disconnect();
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error(`MCP disconnect error for server "${conn.name}":`, error);
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.McpClient = McpClient;
|
|
128
|
+
//# sourceMappingURL=mcp-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/sdk/mcp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BuiltMemory, MemoryConfig, SemanticRecallConfig, TitleGenerationConfig } from '../types';
|
|
3
|
+
type ZodObjectSchema = z.ZodObject<z.ZodRawShape>;
|
|
4
|
+
export declare class Memory {
|
|
5
|
+
private lastMessagesValue;
|
|
6
|
+
private semanticRecallConfig?;
|
|
7
|
+
private workingMemorySchema?;
|
|
8
|
+
private workingMemoryTemplate?;
|
|
9
|
+
private workingMemoryScope;
|
|
10
|
+
private memoryBackend?;
|
|
11
|
+
private titleGenerationConfig?;
|
|
12
|
+
get lastMessageCount(): number;
|
|
13
|
+
storage(backend: 'memory' | BuiltMemory): this;
|
|
14
|
+
lastMessages(count: number): this;
|
|
15
|
+
semanticRecall(config: SemanticRecallConfig): this;
|
|
16
|
+
structured(schema: ZodObjectSchema): this;
|
|
17
|
+
freeform(template: string): this;
|
|
18
|
+
scope(s: 'resource' | 'thread'): this;
|
|
19
|
+
titleGeneration(config: boolean | TitleGenerationConfig): this;
|
|
20
|
+
build(): MemoryConfig;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Memory = void 0;
|
|
4
|
+
const memory_store_1 = require("../runtime/memory-store");
|
|
5
|
+
const working_memory_1 = require("../runtime/working-memory");
|
|
6
|
+
const DEFAULT_LAST_MESSAGES = 10;
|
|
7
|
+
class Memory {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.lastMessagesValue = DEFAULT_LAST_MESSAGES;
|
|
10
|
+
this.workingMemoryScope = 'resource';
|
|
11
|
+
}
|
|
12
|
+
get lastMessageCount() {
|
|
13
|
+
return this.lastMessagesValue;
|
|
14
|
+
}
|
|
15
|
+
storage(backend) {
|
|
16
|
+
if (backend === 'memory') {
|
|
17
|
+
this.memoryBackend = undefined;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.memoryBackend = backend;
|
|
21
|
+
}
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
lastMessages(count) {
|
|
25
|
+
this.lastMessagesValue = count;
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
semanticRecall(config) {
|
|
29
|
+
this.semanticRecallConfig = config;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
structured(schema) {
|
|
33
|
+
this.workingMemorySchema = schema;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
freeform(template) {
|
|
37
|
+
this.workingMemoryTemplate = template;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
scope(s) {
|
|
41
|
+
this.workingMemoryScope = s;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
titleGeneration(config) {
|
|
45
|
+
if (config === true) {
|
|
46
|
+
this.titleGenerationConfig = {};
|
|
47
|
+
}
|
|
48
|
+
else if (config === false) {
|
|
49
|
+
this.titleGenerationConfig = undefined;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.titleGenerationConfig = config;
|
|
53
|
+
}
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
build() {
|
|
57
|
+
if (this.workingMemorySchema && this.workingMemoryTemplate !== undefined) {
|
|
58
|
+
throw new Error('Working memory cannot use both .structured() and .freeform(). ' +
|
|
59
|
+
'Choose one: .structured(zodSchema) for typed state, or .freeform(template) for free-form text.');
|
|
60
|
+
}
|
|
61
|
+
if (this.workingMemoryTemplate !== undefined && this.workingMemoryTemplate.trim() === '') {
|
|
62
|
+
throw new Error('Free-form working memory template cannot be empty. ' +
|
|
63
|
+
'Provide a markdown template with slots for the agent to fill.');
|
|
64
|
+
}
|
|
65
|
+
const memory = this.memoryBackend ?? new memory_store_1.InMemoryMemory();
|
|
66
|
+
if (this.semanticRecallConfig) {
|
|
67
|
+
if (!memory.queryEmbeddings && !memory.search) {
|
|
68
|
+
throw new Error('Semantic recall requires a storage backend with queryEmbeddings() or search() support.');
|
|
69
|
+
}
|
|
70
|
+
if (!memory.search && !this.semanticRecallConfig.embedder) {
|
|
71
|
+
throw new Error('Semantic recall requires an embedder when using queryEmbeddings(). Add embedder to your semanticRecall config: ' +
|
|
72
|
+
".semanticRecall({ topK: 5, embedder: 'openai/text-embedding-3-small' })");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
let workingMemory;
|
|
76
|
+
if (this.workingMemorySchema) {
|
|
77
|
+
workingMemory = {
|
|
78
|
+
template: (0, working_memory_1.templateFromSchema)(this.workingMemorySchema),
|
|
79
|
+
structured: true,
|
|
80
|
+
schema: this.workingMemorySchema,
|
|
81
|
+
scope: this.workingMemoryScope,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
else if (this.workingMemoryTemplate !== undefined) {
|
|
85
|
+
workingMemory = {
|
|
86
|
+
template: this.workingMemoryTemplate,
|
|
87
|
+
structured: false,
|
|
88
|
+
scope: this.workingMemoryScope,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
memory,
|
|
93
|
+
lastMessages: this.lastMessagesValue,
|
|
94
|
+
workingMemory,
|
|
95
|
+
semanticRecall: this.semanticRecallConfig,
|
|
96
|
+
titleGeneration: this.titleGenerationConfig,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.Memory = Memory;
|
|
101
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/sdk/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentDbMessage, AgentMessage, Message } from '../types/sdk/message';
|
|
2
|
+
export declare function toDbMessage(message: AgentMessage): AgentDbMessage;
|
|
3
|
+
export declare function isLlmMessage(message: AgentMessage): message is Message;
|
|
4
|
+
export declare function filterLlmMessages(messages: AgentMessage[]): Message[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toDbMessage = toDbMessage;
|
|
4
|
+
exports.isLlmMessage = isLlmMessage;
|
|
5
|
+
exports.filterLlmMessages = filterLlmMessages;
|
|
6
|
+
function toDbMessage(message) {
|
|
7
|
+
if ('id' in message && typeof message.id === 'string') {
|
|
8
|
+
return message;
|
|
9
|
+
}
|
|
10
|
+
return { ...message, id: crypto.randomUUID() };
|
|
11
|
+
}
|
|
12
|
+
function isLlmMessage(message) {
|
|
13
|
+
return message.type !== 'custom';
|
|
14
|
+
}
|
|
15
|
+
function filterLlmMessages(messages) {
|
|
16
|
+
return messages.filter(isLlmMessage);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/sdk/message.ts"],"names":[],"mappings":";;AAMA,kCAKC;AAED,oCAEC;AAED,8CAEC;AAbD,SAAgB,WAAW,CAAC,OAAqB;IAChD,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,OAAyB,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,SAAgB,YAAY,CAAC,OAAqB;IACjD,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAwB;IACzD,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Agent } from './agent';
|
|
2
|
+
import type { GenerateResult, RunOptions } from '../types';
|
|
3
|
+
interface BuiltNetwork {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
run(prompt: string, options?: RunOptions): Promise<GenerateResult>;
|
|
6
|
+
}
|
|
7
|
+
export declare class Network {
|
|
8
|
+
private networkName;
|
|
9
|
+
private coordinatorAgent?;
|
|
10
|
+
private agents;
|
|
11
|
+
private built?;
|
|
12
|
+
constructor(name: string);
|
|
13
|
+
coordinator(a: Agent): this;
|
|
14
|
+
agent(a: Agent): this;
|
|
15
|
+
private ensureBuilt;
|
|
16
|
+
get name(): string;
|
|
17
|
+
run(prompt: string, options?: RunOptions): Promise<GenerateResult>;
|
|
18
|
+
protected build(): BuiltNetwork;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Network = void 0;
|
|
4
|
+
class Network {
|
|
5
|
+
constructor(name) {
|
|
6
|
+
this.agents = [];
|
|
7
|
+
this.networkName = name;
|
|
8
|
+
}
|
|
9
|
+
coordinator(a) {
|
|
10
|
+
this.coordinatorAgent = a;
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
agent(a) {
|
|
14
|
+
this.agents.push(a);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
ensureBuilt() {
|
|
18
|
+
this.built ??= this.build();
|
|
19
|
+
return this.built;
|
|
20
|
+
}
|
|
21
|
+
get name() {
|
|
22
|
+
return this.networkName;
|
|
23
|
+
}
|
|
24
|
+
async run(prompt, options) {
|
|
25
|
+
return await this.ensureBuilt().run(prompt, options);
|
|
26
|
+
}
|
|
27
|
+
build() {
|
|
28
|
+
if (!this.coordinatorAgent) {
|
|
29
|
+
throw new Error(`Network "${this.networkName}" requires a coordinator`);
|
|
30
|
+
}
|
|
31
|
+
if (this.agents.length === 0) {
|
|
32
|
+
throw new Error(`Network "${this.networkName}" requires at least one agent`);
|
|
33
|
+
}
|
|
34
|
+
const coordinator = this.coordinatorAgent;
|
|
35
|
+
const name = this.networkName;
|
|
36
|
+
return {
|
|
37
|
+
name,
|
|
38
|
+
async run(prompt, options) {
|
|
39
|
+
const messages = [{ role: 'user', content: [{ type: 'text', text: prompt }] }];
|
|
40
|
+
return await coordinator.generate(messages, options);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.Network = Network;
|
|
46
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/sdk/network.ts"],"names":[],"mappings":";;;AAsBA,MAAa,OAAO;IASnB,YAAY,IAAY;QAJhB,WAAM,GAAY,EAAE,CAAC;QAK5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAGD,WAAW,CAAC,CAAQ;QACnB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,KAAK,CAAC,CAAQ;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAGO,WAAW;QAClB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAGD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,OAAoB;QAC7C,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAGS,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,0BAA0B,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,+BAA+B,CAAC,CAAC;QAC9E,CAAC;QAOD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAE9B,OAAO;YACN,IAAI;YAEJ,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,OAAoB;gBAC7C,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1F,OAAO,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;SACD,CAAC;IACH,CAAC;CACD;AAnED,0BAmEC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BuiltProviderTool } from '../types';
|
|
2
|
+
interface WebSearchConfig {
|
|
3
|
+
maxUses?: number;
|
|
4
|
+
allowedDomains?: string[];
|
|
5
|
+
blockedDomains?: string[];
|
|
6
|
+
userLocation?: {
|
|
7
|
+
type: 'approximate';
|
|
8
|
+
city?: string;
|
|
9
|
+
region?: string;
|
|
10
|
+
country?: string;
|
|
11
|
+
timezone?: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const providerTools: {
|
|
15
|
+
anthropicWebSearch(config?: WebSearchConfig): BuiltProviderTool;
|
|
16
|
+
openaiImageGeneration(): BuiltProviderTool;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.providerTools = void 0;
|
|
4
|
+
exports.providerTools = {
|
|
5
|
+
anthropicWebSearch(config) {
|
|
6
|
+
const args = {};
|
|
7
|
+
if (config?.maxUses !== undefined) {
|
|
8
|
+
args.maxUses = config.maxUses;
|
|
9
|
+
}
|
|
10
|
+
if (config?.allowedDomains) {
|
|
11
|
+
args.allowedDomains = config.allowedDomains;
|
|
12
|
+
}
|
|
13
|
+
if (config?.blockedDomains) {
|
|
14
|
+
args.blockedDomains = config.blockedDomains;
|
|
15
|
+
}
|
|
16
|
+
if (config?.userLocation) {
|
|
17
|
+
args.userLocation = config.userLocation;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
name: 'anthropic.web_search_20250305',
|
|
21
|
+
args,
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
openaiImageGeneration() {
|
|
25
|
+
return {
|
|
26
|
+
name: 'openai.image_generation',
|
|
27
|
+
args: {},
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=provider-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-tools.js","sourceRoot":"","sources":["../../src/sdk/provider-tools.ts"],"names":[],"mappings":";;;AAsBa,QAAA,aAAa,GAAG;IAgB5B,kBAAkB,CAAC,MAAwB;QAC1C,MAAM,IAAI,GAA4B,EAAE,CAAC;QAEzC,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,CAAC;QAED,OAAO;YACN,IAAI,EAAE,+BAA+B;YACrC,IAAI;SACJ,CAAC;IACH,CAAC;IAED,qBAAqB;QACpB,OAAO;YACN,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,EAAE;SACR,CAAC;IACH,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TelemetryIntegration } from 'ai';
|
|
2
|
+
import type { AttributeValue, BuiltTelemetry, OpaqueTracer } from '../types/telemetry';
|
|
3
|
+
type RedactFn = (data: Record<string, unknown>) => Record<string, unknown>;
|
|
4
|
+
export declare class Telemetry {
|
|
5
|
+
protected enabledValue: boolean;
|
|
6
|
+
protected functionIdValue?: string;
|
|
7
|
+
protected metadataValue?: Record<string, AttributeValue>;
|
|
8
|
+
protected recordInputsValue: boolean;
|
|
9
|
+
protected recordOutputsValue: boolean;
|
|
10
|
+
protected redactFn?: RedactFn;
|
|
11
|
+
protected integrationsList: TelemetryIntegration[];
|
|
12
|
+
protected tracerValue?: OpaqueTracer;
|
|
13
|
+
protected otlpEndpointValue?: string;
|
|
14
|
+
protected credentialNameValue?: string;
|
|
15
|
+
credential(name: string): this;
|
|
16
|
+
get declaredCredential(): string | undefined;
|
|
17
|
+
protected resolvedKey?: string;
|
|
18
|
+
set resolvedApiKey(key: string);
|
|
19
|
+
enabled(value: boolean): this;
|
|
20
|
+
functionId(value: string): this;
|
|
21
|
+
metadata(value: Record<string, AttributeValue>): this;
|
|
22
|
+
recordInputs(value: boolean): this;
|
|
23
|
+
recordOutputs(value: boolean): this;
|
|
24
|
+
redact(fn: RedactFn): this;
|
|
25
|
+
integration(value: TelemetryIntegration): this;
|
|
26
|
+
tracer(value: OpaqueTracer): this;
|
|
27
|
+
otlpEndpoint(value: string): this;
|
|
28
|
+
build(): Promise<BuiltTelemetry>;
|
|
29
|
+
static shutdown(telemetry: BuiltTelemetry): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|