@n8n/agents 0.10.1 → 0.12.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/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.js +36 -5
- package/dist/index.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +14 -6
- package/dist/runtime/agent-runtime.js +359 -267
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/delegate-sub-agent-tool.d.ts +87 -0
- package/dist/runtime/delegate-sub-agent-tool.js +362 -0
- package/dist/runtime/delegate-sub-agent-tool.js.map +1 -0
- package/dist/runtime/event-bus.d.ts +8 -0
- package/dist/runtime/event-bus.js +48 -0
- package/dist/runtime/event-bus.js.map +1 -1
- package/dist/runtime/mcp-connection.d.ts +2 -3
- package/dist/runtime/mcp-connection.js +3 -6
- package/dist/runtime/mcp-connection.js.map +1 -1
- package/dist/runtime/message-list.d.ts +9 -3
- package/dist/runtime/message-list.js +16 -5
- package/dist/runtime/message-list.js.map +1 -1
- package/dist/runtime/messages.js +10 -2
- package/dist/runtime/messages.js.map +1 -1
- package/dist/runtime/model-factory.js +12 -0
- package/dist/runtime/model-factory.js.map +1 -1
- package/dist/runtime/provider-credentials.d.ts +13 -0
- package/dist/runtime/provider-credentials.js +1 -0
- package/dist/runtime/provider-credentials.js.map +1 -1
- package/dist/runtime/runtime-helpers.d.ts +1 -2
- package/dist/runtime/runtime-helpers.js +0 -8
- package/dist/runtime/runtime-helpers.js.map +1 -1
- package/dist/runtime/sdk-owned-tool.d.ts +4 -0
- package/dist/runtime/sdk-owned-tool.js +19 -0
- package/dist/runtime/sdk-owned-tool.js.map +1 -0
- package/dist/runtime/stream.js +8 -0
- package/dist/runtime/stream.js.map +1 -1
- package/dist/runtime/sub-agent-task-path.d.ts +10 -0
- package/dist/runtime/sub-agent-task-path.js +39 -0
- package/dist/runtime/sub-agent-task-path.js.map +1 -0
- package/dist/runtime/title-generation.js +8 -5
- package/dist/runtime/title-generation.js.map +1 -1
- package/dist/runtime/tool-adapter.d.ts +0 -9
- package/dist/runtime/tool-adapter.js +12 -21
- package/dist/runtime/tool-adapter.js.map +1 -1
- package/dist/runtime/write-todos-tool.d.ts +3 -0
- package/dist/runtime/write-todos-tool.js +95 -0
- package/dist/runtime/write-todos-tool.js.map +1 -0
- package/dist/sdk/agent.d.ts +19 -12
- package/dist/sdk/agent.js +318 -91
- package/dist/sdk/agent.js.map +1 -1
- package/dist/sdk/cancellation.d.ts +7 -0
- package/dist/sdk/cancellation.js +16 -0
- package/dist/sdk/cancellation.js.map +1 -0
- package/dist/sdk/catalog.js +40 -4
- package/dist/sdk/catalog.js.map +1 -1
- package/dist/sdk/guardrails/index.d.ts +5 -0
- package/dist/sdk/guardrails/index.js +15 -0
- package/dist/sdk/guardrails/index.js.map +1 -0
- package/dist/sdk/guardrails/patterns.d.ts +13 -0
- package/dist/sdk/guardrails/patterns.js +61 -0
- package/dist/sdk/guardrails/patterns.js.map +1 -0
- package/dist/sdk/guardrails/redactor.d.ts +24 -0
- package/dist/sdk/guardrails/redactor.js +86 -0
- package/dist/sdk/guardrails/redactor.js.map +1 -0
- package/dist/sdk/guardrails/streaming-redactor.d.ts +9 -0
- package/dist/sdk/guardrails/streaming-redactor.js +43 -0
- package/dist/sdk/guardrails/streaming-redactor.js.map +1 -0
- package/dist/sdk/mcp-client.d.ts +1 -1
- package/dist/sdk/mcp-client.js +2 -2
- package/dist/sdk/mcp-client.js.map +1 -1
- package/dist/sdk/memory.d.ts +1 -3
- package/dist/sdk/memory.js +0 -14
- package/dist/sdk/memory.js.map +1 -1
- package/dist/sdk/provider-capabilities.js +1 -0
- package/dist/sdk/provider-capabilities.js.map +1 -1
- package/dist/sdk/tool.d.ts +3 -0
- package/dist/sdk/tool.js +42 -10
- package/dist/sdk/tool.js.map +1 -1
- package/dist/storage/base-memory.d.ts +0 -31
- package/dist/storage/base-memory.js +0 -9
- package/dist/storage/base-memory.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/runtime/event.d.ts +31 -1
- package/dist/types/runtime/event.js +2 -0
- package/dist/types/runtime/event.js.map +1 -1
- package/dist/types/sdk/agent-builder.d.ts +0 -1
- package/dist/types/sdk/agent.d.ts +20 -15
- package/dist/types/sdk/guardrail.d.ts +1 -1
- package/dist/types/sdk/memory.d.ts +0 -42
- package/dist/types/sdk/message.d.ts +1 -0
- package/dist/types/sdk/tool.d.ts +19 -1
- package/dist/utils/json-schema.d.ts +3 -0
- package/dist/utils/json-schema.js +72 -0
- package/dist/utils/json-schema.js.map +1 -0
- package/dist/workspace/filesystem/daytona-filesystem.d.ts +25 -0
- package/dist/workspace/filesystem/daytona-filesystem.js +130 -0
- package/dist/workspace/filesystem/daytona-filesystem.js.map +1 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.d.ts +25 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js +126 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js.map +1 -0
- package/dist/workspace/sandbox/create-workspace.d.ts +4 -0
- package/dist/workspace/sandbox/create-workspace.js +68 -0
- package/dist/workspace/sandbox/create-workspace.js.map +1 -0
- package/dist/workspace/sandbox/daytona-auth-manager.d.ts +26 -0
- package/dist/workspace/sandbox/daytona-auth-manager.js +84 -0
- package/dist/workspace/sandbox/daytona-auth-manager.js.map +1 -0
- package/dist/workspace/sandbox/daytona-sandbox.d.ts +72 -0
- package/dist/workspace/sandbox/daytona-sandbox.js +357 -0
- package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/index.d.ts +7 -0
- package/dist/workspace/sandbox/index.js +22 -0
- package/dist/workspace/sandbox/index.js.map +1 -0
- package/dist/workspace/sandbox/lazy-daytona.d.ts +2 -0
- package/dist/workspace/sandbox/lazy-daytona.js +12 -0
- package/dist/workspace/sandbox/lazy-daytona.js.map +1 -0
- package/dist/workspace/sandbox/logger.d.ts +12 -0
- package/dist/workspace/sandbox/logger.js +3 -0
- package/dist/workspace/sandbox/logger.js.map +1 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.d.ts +35 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js +138 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/provider.d.ts +4 -0
- package/dist/workspace/sandbox/provider.js +14 -0
- package/dist/workspace/sandbox/provider.js.map +1 -0
- package/dist/workspace/sandbox/run-in-sandbox.d.ts +26 -0
- package/dist/workspace/sandbox/run-in-sandbox.js +19 -0
- package/dist/workspace/sandbox/run-in-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/types.d.ts +45 -0
- package/dist/workspace/sandbox/types.js +3 -0
- package/dist/workspace/sandbox/types.js.map +1 -0
- package/dist/workspace/sandbox/workspace-root.d.ts +16 -0
- package/dist/workspace/sandbox/workspace-root.js +69 -0
- package/dist/workspace/sandbox/workspace-root.js.map +1 -0
- package/dist/workspace/tools/batch-str-replace-file.js +2 -2
- package/dist/workspace/tools/batch-str-replace-file.js.map +1 -1
- package/dist/workspace/tools/str-replace-file.js +2 -2
- package/dist/workspace/tools/str-replace-file.js.map +1 -1
- package/package.json +29 -17
- package/dist/sdk/network.d.ts +0 -20
- package/dist/sdk/network.js +0 -46
- package/dist/sdk/network.js.map +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CANCELLATION_TYPE = void 0;
|
|
4
|
+
exports.createCancellation = createCancellation;
|
|
5
|
+
exports.isCancellation = isCancellation;
|
|
6
|
+
exports.CANCELLATION_TYPE = 'agent.cancellation';
|
|
7
|
+
function createCancellation(message) {
|
|
8
|
+
return { _type: exports.CANCELLATION_TYPE, message };
|
|
9
|
+
}
|
|
10
|
+
function isCancellation(value) {
|
|
11
|
+
return (typeof value === 'object' &&
|
|
12
|
+
value !== null &&
|
|
13
|
+
value._type === exports.CANCELLATION_TYPE &&
|
|
14
|
+
typeof value.message === 'string');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cancellation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../src/sdk/cancellation.ts"],"names":[],"mappings":";;;AAiBA,gDAEC;AAED,wCAOC;AAnBY,QAAA,iBAAiB,GAAG,oBAA6B,CAAC;AAQ/D,SAAgB,kBAAkB,CAAC,OAAe;IACjD,OAAO,EAAE,KAAK,EAAE,yBAAiB,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC5C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAiC,CAAC,KAAK,KAAK,yBAAiB;QAC9D,OAAQ,KAAiC,CAAC,OAAO,KAAK,QAAQ,CAC9D,CAAC;AACH,CAAC"}
|
package/dist/sdk/catalog.js
CHANGED
|
@@ -5,6 +5,35 @@ exports.getCachedCatalog = getCachedCatalog;
|
|
|
5
5
|
exports.getModelCost = getModelCost;
|
|
6
6
|
exports.computeCost = computeCost;
|
|
7
7
|
const MODELS_DEV_URL = 'https://models.dev/api.json';
|
|
8
|
+
const MODELS_DEV_PROVIDER_ALIASES = {
|
|
9
|
+
'amazon-bedrock': 'aws-bedrock',
|
|
10
|
+
azure: 'azure-openai',
|
|
11
|
+
'azure-cognitive-services': 'azure-openai',
|
|
12
|
+
};
|
|
13
|
+
const AGENT_PROVIDER_NAMES = {
|
|
14
|
+
'aws-bedrock': 'AWS Bedrock',
|
|
15
|
+
'azure-openai': 'Azure OpenAI',
|
|
16
|
+
};
|
|
17
|
+
function toAgentProviderId(modelsDevProviderId) {
|
|
18
|
+
return MODELS_DEV_PROVIDER_ALIASES[modelsDevProviderId] ?? modelsDevProviderId;
|
|
19
|
+
}
|
|
20
|
+
const LATEST_NAME_SUFFIX = /\s*\(latest\)$/i;
|
|
21
|
+
function normalizeLatestModelNames(models) {
|
|
22
|
+
const aliasNames = new Set();
|
|
23
|
+
for (const model of Object.values(models)) {
|
|
24
|
+
if (LATEST_NAME_SUFFIX.test(model.name)) {
|
|
25
|
+
aliasNames.add(model.name.replace(LATEST_NAME_SUFFIX, ''));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const [modelId, model] of Object.entries(models)) {
|
|
29
|
+
if (LATEST_NAME_SUFFIX.test(model.name)) {
|
|
30
|
+
model.name = model.name.replace(LATEST_NAME_SUFFIX, '');
|
|
31
|
+
}
|
|
32
|
+
else if (aliasNames.has(model.name)) {
|
|
33
|
+
delete models[modelId];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
8
37
|
async function fetchProviderCatalog() {
|
|
9
38
|
const response = await fetch(MODELS_DEV_URL);
|
|
10
39
|
if (!response.ok) {
|
|
@@ -40,12 +69,19 @@ async function fetchProviderCatalog() {
|
|
|
40
69
|
}
|
|
41
70
|
models[modelId] = info;
|
|
42
71
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
72
|
+
const providerId = toAgentProviderId(key);
|
|
73
|
+
catalog[providerId] = {
|
|
74
|
+
id: providerId,
|
|
75
|
+
name: catalog[providerId]?.name ?? AGENT_PROVIDER_NAMES[providerId] ?? provider.name,
|
|
76
|
+
models: {
|
|
77
|
+
...(catalog[providerId]?.models ?? {}),
|
|
78
|
+
...models,
|
|
79
|
+
},
|
|
47
80
|
};
|
|
48
81
|
}
|
|
82
|
+
for (const provider of Object.values(catalog)) {
|
|
83
|
+
normalizeLatestModelNames(provider.models);
|
|
84
|
+
}
|
|
49
85
|
return catalog;
|
|
50
86
|
}
|
|
51
87
|
let cachedCatalog;
|
package/dist/sdk/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/sdk/catalog.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/sdk/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { redactText, redactDeep, redactionOptionsFromGuardrail, DEFAULT_PLACEHOLDER, } from './redactor';
|
|
2
|
+
export type { RedactionOptions, RedactionResult, DeepRedactionResult } from './redactor';
|
|
3
|
+
export { StreamingRedactor } from './streaming-redactor';
|
|
4
|
+
export { resolvePatterns, passesLuhn, SUPPORTED_PII_CATEGORIES } from './patterns';
|
|
5
|
+
export type { RedactionCategory, RedactionPattern } from './patterns';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_PII_CATEGORIES = exports.passesLuhn = exports.resolvePatterns = exports.StreamingRedactor = exports.DEFAULT_PLACEHOLDER = exports.redactionOptionsFromGuardrail = exports.redactDeep = exports.redactText = void 0;
|
|
4
|
+
var redactor_1 = require("./redactor");
|
|
5
|
+
Object.defineProperty(exports, "redactText", { enumerable: true, get: function () { return redactor_1.redactText; } });
|
|
6
|
+
Object.defineProperty(exports, "redactDeep", { enumerable: true, get: function () { return redactor_1.redactDeep; } });
|
|
7
|
+
Object.defineProperty(exports, "redactionOptionsFromGuardrail", { enumerable: true, get: function () { return redactor_1.redactionOptionsFromGuardrail; } });
|
|
8
|
+
Object.defineProperty(exports, "DEFAULT_PLACEHOLDER", { enumerable: true, get: function () { return redactor_1.DEFAULT_PLACEHOLDER; } });
|
|
9
|
+
var streaming_redactor_1 = require("./streaming-redactor");
|
|
10
|
+
Object.defineProperty(exports, "StreamingRedactor", { enumerable: true, get: function () { return streaming_redactor_1.StreamingRedactor; } });
|
|
11
|
+
var patterns_1 = require("./patterns");
|
|
12
|
+
Object.defineProperty(exports, "resolvePatterns", { enumerable: true, get: function () { return patterns_1.resolvePatterns; } });
|
|
13
|
+
Object.defineProperty(exports, "passesLuhn", { enumerable: true, get: function () { return patterns_1.passesLuhn; } });
|
|
14
|
+
Object.defineProperty(exports, "SUPPORTED_PII_CATEGORIES", { enumerable: true, get: function () { return patterns_1.SUPPORTED_PII_CATEGORIES; } });
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/index.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAJnB,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,yHAAA,6BAA6B,OAAA;AAC7B,+GAAA,mBAAmB,OAAA;AAGpB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,uCAAmF;AAA1E,2GAAA,eAAe,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,oHAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PiiDetectionType } from '../../types';
|
|
2
|
+
export type RedactionCategory = 'secret' | PiiDetectionType;
|
|
3
|
+
export interface RedactionPattern {
|
|
4
|
+
readonly category: RedactionCategory;
|
|
5
|
+
readonly regex: RegExp;
|
|
6
|
+
readonly validate?: (match: string) => boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function passesLuhn(candidate: string): boolean;
|
|
9
|
+
export declare const SUPPORTED_PII_CATEGORIES: PiiDetectionType[];
|
|
10
|
+
export declare function resolvePatterns(opts: {
|
|
11
|
+
secrets: boolean;
|
|
12
|
+
detect: readonly PiiDetectionType[];
|
|
13
|
+
}): RedactionPattern[];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_PII_CATEGORIES = void 0;
|
|
4
|
+
exports.passesLuhn = passesLuhn;
|
|
5
|
+
exports.resolvePatterns = resolvePatterns;
|
|
6
|
+
const utils_1 = require("@n8n/utils");
|
|
7
|
+
function globalRegex(source, flags = '') {
|
|
8
|
+
return new RegExp(source, flags.includes('g') ? flags : `${flags}g`);
|
|
9
|
+
}
|
|
10
|
+
const SECRET_PATTERNS = utils_1.SECRET_VALUE_PATTERNS.map((re) => ({
|
|
11
|
+
category: 'secret',
|
|
12
|
+
regex: globalRegex(re.source, re.flags),
|
|
13
|
+
}));
|
|
14
|
+
function passesLuhn(candidate) {
|
|
15
|
+
const digits = candidate.replace(/\D/g, '');
|
|
16
|
+
if (digits.length < 13 || digits.length > 19)
|
|
17
|
+
return false;
|
|
18
|
+
let sum = 0;
|
|
19
|
+
let double = false;
|
|
20
|
+
for (let i = digits.length - 1; i >= 0; i--) {
|
|
21
|
+
let digit = digits.charCodeAt(i) - 48;
|
|
22
|
+
if (double) {
|
|
23
|
+
digit *= 2;
|
|
24
|
+
if (digit > 9)
|
|
25
|
+
digit -= 9;
|
|
26
|
+
}
|
|
27
|
+
sum += digit;
|
|
28
|
+
double = !double;
|
|
29
|
+
}
|
|
30
|
+
return sum % 10 === 0;
|
|
31
|
+
}
|
|
32
|
+
const PII_PATTERNS = {
|
|
33
|
+
email: {
|
|
34
|
+
category: 'email',
|
|
35
|
+
regex: /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,
|
|
36
|
+
},
|
|
37
|
+
'credit-card': {
|
|
38
|
+
category: 'credit-card',
|
|
39
|
+
regex: /\b\d(?:[ -]?\d){12,18}\b/g,
|
|
40
|
+
validate: passesLuhn,
|
|
41
|
+
},
|
|
42
|
+
'ssn-us': {
|
|
43
|
+
category: 'ssn-us',
|
|
44
|
+
regex: /\b\d{3}-\d{2}-\d{4}\b/g,
|
|
45
|
+
},
|
|
46
|
+
phone: undefined,
|
|
47
|
+
address: undefined,
|
|
48
|
+
};
|
|
49
|
+
exports.SUPPORTED_PII_CATEGORIES = Object.keys(PII_PATTERNS).filter((type) => PII_PATTERNS[type] !== undefined);
|
|
50
|
+
function resolvePatterns(opts) {
|
|
51
|
+
const patterns = [];
|
|
52
|
+
if (opts.secrets)
|
|
53
|
+
patterns.push(...SECRET_PATTERNS);
|
|
54
|
+
for (const type of opts.detect) {
|
|
55
|
+
const pattern = PII_PATTERNS[type];
|
|
56
|
+
if (pattern)
|
|
57
|
+
patterns.push(pattern);
|
|
58
|
+
}
|
|
59
|
+
return patterns;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/patterns.ts"],"names":[],"mappings":";;;AA0CA,gCAgBC;AAyCD,0CAWC;AA9GD,sCAAmD;AA4BnD,SAAS,WAAW,CAAC,MAAc,EAAE,KAAK,GAAG,EAAE;IAC9C,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACtE,CAAC;AAMD,MAAM,eAAe,GAAgC,6BAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvF,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC,CAAC;AAGJ,SAAgB,UAAU,CAAC,SAAiB;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAE3D,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,GAAG,IAAI,KAAK,CAAC;QACb,MAAM,GAAG,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAOD,MAAM,YAAY,GAAqE;IACtF,KAAK,EAAE;QACN,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,iDAAiD;KACxD;IACD,aAAa,EAAE;QACd,QAAQ,EAAE,aAAa;QAEvB,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE,UAAU;KACpB;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,QAAQ;QAIlB,KAAK,EAAE,wBAAwB;KAC/B;IAED,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;CAClB,CAAC;AAQW,QAAA,wBAAwB,GACpC,MAAM,CAAC,IAAI,CAAC,YAAY,CACxB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;AAGrD,SAAgB,eAAe,CAAC,IAG/B;IACA,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { RedactionCategory } from './patterns';
|
|
2
|
+
import type { BuiltGuardrail, PiiDetectionType } from '../../types';
|
|
3
|
+
export declare const DEFAULT_PLACEHOLDER = "[REDACTED]";
|
|
4
|
+
export interface RedactionOptions {
|
|
5
|
+
secrets?: boolean;
|
|
6
|
+
detect?: readonly PiiDetectionType[];
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface RedactionResult {
|
|
10
|
+
text: string;
|
|
11
|
+
matches: Array<{
|
|
12
|
+
category: RedactionCategory;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export declare function redactionOptionsFromGuardrail(guardrail: BuiltGuardrail): RedactionOptions;
|
|
16
|
+
export declare function redactText(input: string, opts?: RedactionOptions): RedactionResult;
|
|
17
|
+
export declare function findMatchRanges(input: string, opts?: RedactionOptions): Array<[number, number]>;
|
|
18
|
+
export interface DeepRedactionResult {
|
|
19
|
+
value: unknown;
|
|
20
|
+
matches: Array<{
|
|
21
|
+
category: RedactionCategory;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export declare function redactDeep(value: unknown, opts?: RedactionOptions, depth?: number): DeepRedactionResult;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_PLACEHOLDER = void 0;
|
|
4
|
+
exports.redactionOptionsFromGuardrail = redactionOptionsFromGuardrail;
|
|
5
|
+
exports.redactText = redactText;
|
|
6
|
+
exports.findMatchRanges = findMatchRanges;
|
|
7
|
+
exports.redactDeep = redactDeep;
|
|
8
|
+
const patterns_1 = require("./patterns");
|
|
9
|
+
exports.DEFAULT_PLACEHOLDER = '[REDACTED]';
|
|
10
|
+
function redactionOptionsFromGuardrail(guardrail) {
|
|
11
|
+
const detect = guardrail._config.detectionTypes;
|
|
12
|
+
return {
|
|
13
|
+
secrets: guardrail.guardType === 'pii' ? false : true,
|
|
14
|
+
detect: Array.isArray(detect) ? detect : [],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function redactText(input, opts = {}) {
|
|
18
|
+
const placeholder = opts.placeholder ?? exports.DEFAULT_PLACEHOLDER;
|
|
19
|
+
const patterns = (0, patterns_1.resolvePatterns)({
|
|
20
|
+
secrets: opts.secrets ?? true,
|
|
21
|
+
detect: opts.detect ?? [],
|
|
22
|
+
});
|
|
23
|
+
const matches = [];
|
|
24
|
+
let text = input;
|
|
25
|
+
for (const pattern of patterns) {
|
|
26
|
+
text = text.replace(pattern.regex, (match) => {
|
|
27
|
+
if (pattern.validate && !pattern.validate(match))
|
|
28
|
+
return match;
|
|
29
|
+
matches.push({ category: pattern.category });
|
|
30
|
+
return placeholder;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return { text, matches };
|
|
34
|
+
}
|
|
35
|
+
function findMatchRanges(input, opts = {}) {
|
|
36
|
+
const patterns = (0, patterns_1.resolvePatterns)({
|
|
37
|
+
secrets: opts.secrets ?? true,
|
|
38
|
+
detect: opts.detect ?? [],
|
|
39
|
+
});
|
|
40
|
+
const ranges = [];
|
|
41
|
+
for (const pattern of patterns) {
|
|
42
|
+
const { regex } = pattern;
|
|
43
|
+
regex.lastIndex = 0;
|
|
44
|
+
let match;
|
|
45
|
+
while ((match = regex.exec(input)) !== null) {
|
|
46
|
+
if (match[0].length === 0) {
|
|
47
|
+
regex.lastIndex++;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (pattern.validate && !pattern.validate(match[0]))
|
|
51
|
+
continue;
|
|
52
|
+
ranges.push([match.index, match.index + match[0].length]);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return ranges;
|
|
56
|
+
}
|
|
57
|
+
const MAX_DEEP_DEPTH = 8;
|
|
58
|
+
function redactDeep(value, opts = {}, depth = 0) {
|
|
59
|
+
if (typeof value === 'string') {
|
|
60
|
+
const { text, matches } = redactText(value, opts);
|
|
61
|
+
return { value: text, matches };
|
|
62
|
+
}
|
|
63
|
+
if (depth >= MAX_DEEP_DEPTH)
|
|
64
|
+
return { value, matches: [] };
|
|
65
|
+
if (Array.isArray(value)) {
|
|
66
|
+
const matches = [];
|
|
67
|
+
const next = value.map((item) => {
|
|
68
|
+
const result = redactDeep(item, opts, depth + 1);
|
|
69
|
+
matches.push(...result.matches);
|
|
70
|
+
return result.value;
|
|
71
|
+
});
|
|
72
|
+
return { value: next, matches };
|
|
73
|
+
}
|
|
74
|
+
if (value !== null && typeof value === 'object') {
|
|
75
|
+
const matches = [];
|
|
76
|
+
const next = {};
|
|
77
|
+
for (const [key, item] of Object.entries(value)) {
|
|
78
|
+
const result = redactDeep(item, opts, depth + 1);
|
|
79
|
+
matches.push(...result.matches);
|
|
80
|
+
next[key] = result.value;
|
|
81
|
+
}
|
|
82
|
+
return { value: next, matches };
|
|
83
|
+
}
|
|
84
|
+
return { value, matches: [] };
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=redactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/redactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RedactionOptions, RedactionResult } from './redactor';
|
|
2
|
+
export declare class StreamingRedactor {
|
|
3
|
+
private readonly options;
|
|
4
|
+
private buffer;
|
|
5
|
+
private readonly holdback;
|
|
6
|
+
constructor(options?: RedactionOptions, holdback?: number);
|
|
7
|
+
push(delta: string): RedactionResult;
|
|
8
|
+
flush(): RedactionResult;
|
|
9
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StreamingRedactor = void 0;
|
|
4
|
+
const redactor_1 = require("./redactor");
|
|
5
|
+
const DEFAULT_HOLDBACK = 32;
|
|
6
|
+
const WHITESPACE = /\s/;
|
|
7
|
+
class StreamingRedactor {
|
|
8
|
+
constructor(options = {}, holdback = DEFAULT_HOLDBACK) {
|
|
9
|
+
this.options = options;
|
|
10
|
+
this.buffer = '';
|
|
11
|
+
this.holdback = Math.max(0, holdback);
|
|
12
|
+
}
|
|
13
|
+
push(delta) {
|
|
14
|
+
this.buffer += delta;
|
|
15
|
+
if (this.buffer.length <= this.holdback) {
|
|
16
|
+
return { text: '', matches: [] };
|
|
17
|
+
}
|
|
18
|
+
const target = this.buffer.length - this.holdback;
|
|
19
|
+
let cut = target;
|
|
20
|
+
while (cut > 0 && !WHITESPACE.test(this.buffer[cut - 1])) {
|
|
21
|
+
cut -= 1;
|
|
22
|
+
}
|
|
23
|
+
for (const [start, end] of (0, redactor_1.findMatchRanges)(this.buffer, this.options)) {
|
|
24
|
+
if (start < cut && end > cut)
|
|
25
|
+
cut = start;
|
|
26
|
+
}
|
|
27
|
+
if (cut === 0) {
|
|
28
|
+
return { text: '', matches: [] };
|
|
29
|
+
}
|
|
30
|
+
const segment = this.buffer.slice(0, cut);
|
|
31
|
+
this.buffer = this.buffer.slice(cut);
|
|
32
|
+
return (0, redactor_1.redactText)(segment, this.options);
|
|
33
|
+
}
|
|
34
|
+
flush() {
|
|
35
|
+
const remainder = this.buffer;
|
|
36
|
+
this.buffer = '';
|
|
37
|
+
if (!remainder)
|
|
38
|
+
return { text: '', matches: [] };
|
|
39
|
+
return (0, redactor_1.redactText)(remainder, this.options);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.StreamingRedactor = StreamingRedactor;
|
|
43
|
+
//# sourceMappingURL=streaming-redactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-redactor.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/streaming-redactor.ts"],"names":[],"mappings":";;;AACA,yCAAyD;AAiBzD,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,MAAM,UAAU,GAAG,IAAI,CAAC;AAYxB,MAAa,iBAAiB;IAK7B,YACkB,UAA4B,EAAE,EAC/C,WAAmB,gBAAgB;QADlB,YAAO,GAAP,OAAO,CAAuB;QALxC,WAAM,GAAG,EAAE,CAAC;QAQnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAGD,IAAI,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QAID,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,GAAG,GAAG,MAAM,CAAC;QACjB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,IAAI,CAAC,CAAC;QACV,CAAC;QAKD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvE,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;gBAAE,GAAG,GAAG,KAAK,CAAC;QAC3C,CAAC;QAED,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YAEf,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAA,qBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAGD,KAAK;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACjD,OAAO,IAAA,qBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACD;AApDD,8CAoDC"}
|
package/dist/sdk/mcp-client.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare class McpClient {
|
|
|
5
5
|
private connections;
|
|
6
6
|
private listToolsPromise;
|
|
7
7
|
private closePromise;
|
|
8
|
-
constructor(configs: McpServerConfig[]
|
|
8
|
+
constructor(configs: McpServerConfig[]);
|
|
9
9
|
get serverNames(): string[];
|
|
10
10
|
connect(): Promise<void>;
|
|
11
11
|
listTools(): Promise<BuiltTool[]>;
|
package/dist/sdk/mcp-client.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.McpClient = void 0;
|
|
4
4
|
const mcp_connection_1 = require("../runtime/mcp-connection");
|
|
5
5
|
class McpClient {
|
|
6
|
-
constructor(configs
|
|
6
|
+
constructor(configs) {
|
|
7
7
|
for (const cfg of configs) {
|
|
8
8
|
if (!cfg.url && !cfg.command) {
|
|
9
9
|
throw new Error(`MCP server "${cfg.name}": exactly one of "url" or "command" must be provided`);
|
|
@@ -20,7 +20,7 @@ class McpClient {
|
|
|
20
20
|
seen.add(cfg.name);
|
|
21
21
|
}
|
|
22
22
|
this.configs = configs;
|
|
23
|
-
this.connections = configs.map((cfg) => new mcp_connection_1.McpConnection(cfg
|
|
23
|
+
this.connections = configs.map((cfg) => new mcp_connection_1.McpConnection(cfg));
|
|
24
24
|
}
|
|
25
25
|
get serverNames() {
|
|
26
26
|
return this.configs.map((cfg) => cfg.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/sdk/mcp-client.ts"],"names":[],"mappings":";;;AAAA,8DAA0D;AA6B1D,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/sdk/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/memory.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS, DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET } from '../runtime/observation-log-defaults';
|
|
2
|
-
import type { BuiltMemory, EpisodicMemoryConfig, MemoryConfig, ObservationalMemoryConfig,
|
|
2
|
+
import type { BuiltMemory, EpisodicMemoryConfig, MemoryConfig, ObservationalMemoryConfig, TitleGenerationConfig } from '../types';
|
|
3
3
|
import type { ModelConfig } from '../types/sdk/agent';
|
|
4
4
|
export { DEFAULT_OBSERVATION_LOG_LOCK_TTL_MS, DEFAULT_OBSERVATION_LOG_RENDER_TOKEN_BUDGET };
|
|
5
5
|
export interface ResolveObservationalMemoryConfigOptions {
|
|
@@ -11,13 +11,11 @@ export declare function resolveEpisodicMemoryConfig(config: EpisodicMemoryConfig
|
|
|
11
11
|
export declare function resolveMemoryConfigDefaults(config: MemoryConfig, options: ResolveMemoryConfigDefaultsOptions): MemoryConfig;
|
|
12
12
|
export declare function normalizeMemoryConfig(config: MemoryConfig): MemoryConfig;
|
|
13
13
|
export declare class Memory {
|
|
14
|
-
private semanticRecallConfig?;
|
|
15
14
|
private episodicMemoryConfig?;
|
|
16
15
|
private memoryBackend?;
|
|
17
16
|
private titleGenerationConfig?;
|
|
18
17
|
private observationalMemoryConfig?;
|
|
19
18
|
storage(backend: 'memory' | BuiltMemory): this;
|
|
20
|
-
semanticRecall(config: SemanticRecallConfig): this;
|
|
21
19
|
episodicMemory(config?: EpisodicMemoryConfig): this;
|
|
22
20
|
titleGeneration(config: boolean | TitleGenerationConfig): this;
|
|
23
21
|
observationalMemory(config?: ObservationalMemoryConfig): this;
|
package/dist/sdk/memory.js
CHANGED
|
@@ -105,10 +105,6 @@ class Memory {
|
|
|
105
105
|
}
|
|
106
106
|
return this;
|
|
107
107
|
}
|
|
108
|
-
semanticRecall(config) {
|
|
109
|
-
this.semanticRecallConfig = config;
|
|
110
|
-
return this;
|
|
111
|
-
}
|
|
112
108
|
episodicMemory(config = {}) {
|
|
113
109
|
if (config.enabled === false) {
|
|
114
110
|
this.episodicMemoryConfig = undefined;
|
|
@@ -136,15 +132,6 @@ class Memory {
|
|
|
136
132
|
}
|
|
137
133
|
build() {
|
|
138
134
|
const memory = this.memoryBackend ?? new memory_store_1.InMemoryMemory();
|
|
139
|
-
if (this.semanticRecallConfig) {
|
|
140
|
-
if (!memory.queryEmbeddings && !memory.search) {
|
|
141
|
-
throw new Error('Semantic recall requires a storage backend with queryEmbeddings() or search() support.');
|
|
142
|
-
}
|
|
143
|
-
if (!memory.search && !this.semanticRecallConfig.embedder) {
|
|
144
|
-
throw new Error('Semantic recall requires an embedder when using queryEmbeddings(). Add embedder to your semanticRecall config: ' +
|
|
145
|
-
".semanticRecall({ topK: 5, embedder: 'openai/text-embedding-3-small' })");
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
135
|
if ((0, episodic_memory_1.isEpisodicMemoryEnabled)(this.episodicMemoryConfig)) {
|
|
149
136
|
if (!(0, episodic_memory_1.hasEpisodicMemoryStore)(memory)) {
|
|
150
137
|
throw new Error('Episodic memory requires a storage backend that implements BuiltEpisodicMemoryStore.');
|
|
@@ -152,7 +139,6 @@ class Memory {
|
|
|
152
139
|
}
|
|
153
140
|
const baseConfig = {
|
|
154
141
|
memory,
|
|
155
|
-
semanticRecall: this.semanticRecallConfig,
|
|
156
142
|
episodicMemory: this.episodicMemoryConfig,
|
|
157
143
|
titleGeneration: this.titleGenerationConfig,
|
|
158
144
|
};
|
package/dist/sdk/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/sdk/memory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/sdk/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-capabilities.js","sourceRoot":"","sources":["../../src/sdk/provider-capabilities.ts"],"names":[],"mappings":";;;AAQa,QAAA,oBAAoB,GAK7B;IACH,SAAS,EAAE;QACV,QAAQ,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;KAC3F;IACD,MAAM,EAAE;QACP,QAAQ,EAAE;YACT,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;SAClC;KACD;IACD,MAAM,EAAE,EAAE;IACV,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE;CACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"provider-capabilities.js","sourceRoot":"","sources":["../../src/sdk/provider-capabilities.ts"],"names":[],"mappings":";;;AAQa,QAAA,oBAAoB,GAK7B;IACH,SAAS,EAAE;QACV,QAAQ,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;KAC3F;IACD,MAAM,EAAE;QACP,QAAQ,EAAE;YACT,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;SAClC;KACD;IACD,MAAM,EAAE,EAAE;IACV,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE;CACjB,CAAC"}
|
package/dist/sdk/tool.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface ApprovalConfig {
|
|
|
10
10
|
requireApproval?: boolean;
|
|
11
11
|
needsApprovalFn?: (args: unknown) => Promise<boolean> | boolean;
|
|
12
12
|
}
|
|
13
|
+
export declare function getToolApprovalDisplayName(tool: BuiltTool): string | undefined;
|
|
13
14
|
export declare function wrapToolForApproval(tool: BuiltTool, config: ApprovalConfig): BuiltTool;
|
|
14
15
|
type HandlerContext<S, R> = S extends z.ZodType ? R extends z.ZodType ? InterruptibleToolContext<z.infer<S>, z.infer<R>> : ToolContext : ToolContext;
|
|
15
16
|
export declare class Tool<TInput extends ZodOrJsonSchema = z.ZodTypeAny, TOutput extends ZodOrJsonSchema = z.ZodTypeAny, TSuspend extends ZodOrJsonSchema | undefined = undefined, TResume extends ZodOrJsonSchema | undefined = undefined> {
|
|
@@ -23,6 +24,7 @@ export declare class Tool<TInput extends ZodOrJsonSchema = z.ZodTypeAny, TOutput
|
|
|
23
24
|
private toMessageFn?;
|
|
24
25
|
private toModelOutputFn?;
|
|
25
26
|
private providerOptionsValue?;
|
|
27
|
+
private handleCancellationValue?;
|
|
26
28
|
private requireApprovalValue?;
|
|
27
29
|
private needsApprovalFnValue?;
|
|
28
30
|
private systemInstructionText?;
|
|
@@ -36,6 +38,7 @@ export declare class Tool<TInput extends ZodOrJsonSchema = z.ZodTypeAny, TOutput
|
|
|
36
38
|
handler(fn: (input: OutputType<TInput>, ctx: HandlerContext<TSuspend, TResume>) => Promise<OutputType<TOutput>>): this;
|
|
37
39
|
toMessage(toMessage: (output: OutputType<TOutput>) => AgentMessage): this;
|
|
38
40
|
toModelOutput(fn: (output: OutputType<TOutput>) => unknown): this;
|
|
41
|
+
handleCancellation(): this;
|
|
39
42
|
requireApproval(): this;
|
|
40
43
|
needsApprovalFn(fn: (args: OutputType<TInput>) => Promise<boolean> | boolean): this;
|
|
41
44
|
providerOptions(options: Record<string, JSONObject>): this;
|