@n8n/agents 0.21.5 → 0.22.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.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/runtime/memory/observation-log-defaults.d.ts +1 -1
- package/dist/runtime/memory/observation-log-defaults.js +20 -1
- package/dist/runtime/memory/observation-log-defaults.js.map +1 -1
- package/dist/runtime/memory/observation-log-observer.d.ts +1 -0
- package/dist/runtime/memory/observation-log-observer.js +23 -4
- package/dist/runtime/memory/observation-log-observer.js.map +1 -1
- package/dist/runtime/tools/tool-call-executor.js +7 -1
- package/dist/runtime/tools/tool-call-executor.js.map +1 -1
- package/dist/sdk/catalog.d.ts +2 -0
- package/dist/sdk/catalog.js +10 -3
- package/dist/sdk/catalog.js.map +1 -1
- package/dist/sdk/guardrails/patterns.d.ts +4 -11
- package/dist/sdk/guardrails/patterns.js +12 -129
- package/dist/sdk/guardrails/patterns.js.map +1 -1
- package/dist/sdk/guardrails/redactor.d.ts +4 -22
- package/dist/sdk/guardrails/redactor.js +9 -110
- package/dist/sdk/guardrails/redactor.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/sdk/agent.d.ts +3 -1
- package/dist/types/sdk/agent.js +14 -0
- package/dist/types/sdk/agent.js.map +1 -1
- package/dist/types/sdk/guardrail.d.ts +1 -1
- package/dist/types/sdk/message.d.ts +5 -0
- package/dist/types/sdk/message.js.map +1 -1
- package/dist/vector-stores/supabase.js +5 -4
- package/dist/vector-stores/supabase.js.map +1 -1
- package/dist/workspace/sandbox/base-sandbox.d.ts +1 -0
- package/dist/workspace/sandbox/base-sandbox.js +3 -0
- package/dist/workspace/sandbox/base-sandbox.js.map +1 -1
- package/dist/workspace/sandbox/daytona-sandbox.d.ts +7 -0
- package/dist/workspace/sandbox/daytona-sandbox.js +170 -43
- package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -1
- package/dist/workspace/sandbox/errors.d.ts +16 -0
- package/dist/workspace/sandbox/errors.js +24 -0
- package/dist/workspace/sandbox/errors.js.map +1 -0
- package/dist/workspace/sandbox/index.d.ts +1 -0
- package/dist/workspace/sandbox/index.js +5 -1
- package/dist/workspace/sandbox/index.js.map +1 -1
- package/dist/workspace/types.d.ts +1 -0
- package/dist/workspace/types.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type PiiPatternTable, type RedactionPattern } from '@n8n/utils/redaction/pii-patterns';
|
|
2
2
|
import type { PiiDetectionType } from '../../types';
|
|
3
|
-
export type RedactionCategory
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
readonly regex: RegExp;
|
|
7
|
-
readonly validate?: (match: string) => boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare function passesLuhn(candidate: string): boolean;
|
|
10
|
-
export declare function zodGuard(schema: ZodType, normalize?: (match: string) => string): (match: string) => boolean;
|
|
11
|
-
export declare function passesIbanChecksum(candidate: string): boolean;
|
|
12
|
-
export declare const SUPPORTED_PII_CATEGORIES: PiiDetectionType[];
|
|
3
|
+
export type { RedactionCategory, RedactionPattern } from '@n8n/utils/redaction/pii-patterns';
|
|
4
|
+
export { passesLuhn, passesIbanChecksum, SUPPORTED_PII_CATEGORIES, } from '@n8n/utils/redaction/pii-patterns';
|
|
5
|
+
export declare const PII_PATTERNS: PiiPatternTable;
|
|
13
6
|
export declare function resolvePatterns(opts: {
|
|
14
7
|
secrets: boolean;
|
|
15
8
|
detect: readonly PiiDetectionType[];
|
|
@@ -1,78 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUPPORTED_PII_CATEGORIES = void 0;
|
|
4
|
-
exports.passesLuhn = passesLuhn;
|
|
5
|
-
exports.zodGuard = zodGuard;
|
|
6
|
-
exports.passesIbanChecksum = passesIbanChecksum;
|
|
3
|
+
exports.PII_PATTERNS = exports.SUPPORTED_PII_CATEGORIES = exports.passesIbanChecksum = exports.passesLuhn = void 0;
|
|
7
4
|
exports.resolvePatterns = resolvePatterns;
|
|
8
|
-
const
|
|
5
|
+
const pii_patterns_1 = require("@n8n/utils/redaction/pii-patterns");
|
|
9
6
|
const node_crypto_1 = require("node:crypto");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
const SECRET_PATTERNS = scrub_secrets_1.SECRET_VALUE_PATTERNS.map((re) => ({
|
|
15
|
-
category: 'secret',
|
|
16
|
-
regex: globalRegex(re.source, re.flags),
|
|
17
|
-
}));
|
|
18
|
-
function passesLuhn(candidate) {
|
|
19
|
-
const digits = candidate.replace(/\D/g, '');
|
|
20
|
-
if (digits.length < 13 || digits.length > 19)
|
|
21
|
-
return false;
|
|
22
|
-
let sum = 0;
|
|
23
|
-
let double = false;
|
|
24
|
-
for (let i = digits.length - 1; i >= 0; i--) {
|
|
25
|
-
let digit = digits.charCodeAt(i) - 48;
|
|
26
|
-
if (double) {
|
|
27
|
-
digit *= 2;
|
|
28
|
-
if (digit > 9)
|
|
29
|
-
digit -= 9;
|
|
30
|
-
}
|
|
31
|
-
sum += digit;
|
|
32
|
-
double = !double;
|
|
33
|
-
}
|
|
34
|
-
return sum % 10 === 0;
|
|
35
|
-
}
|
|
36
|
-
function zodGuard(schema, normalize) {
|
|
37
|
-
return (match) => schema.safeParse(normalize ? normalize(match) : match).success;
|
|
38
|
-
}
|
|
39
|
-
const PHONE_SCHEMA = zod_1.z.string().regex(/^\+[1-9]\d{6,14}$/);
|
|
40
|
-
function passesIbanChecksum(candidate) {
|
|
41
|
-
const compact = candidate.replace(/\s/g, '').toUpperCase();
|
|
42
|
-
if (!/^[A-Z]{2}\d{2}[A-Z0-9]{11,30}$/.test(compact))
|
|
43
|
-
return false;
|
|
44
|
-
const rearranged = compact.slice(4) + compact.slice(0, 4);
|
|
45
|
-
let remainder = 0;
|
|
46
|
-
for (let i = 0; i < rearranged.length; i++) {
|
|
47
|
-
const code = rearranged.charCodeAt(i);
|
|
48
|
-
const value = code >= 65 ? code - 55 : code - 48;
|
|
49
|
-
remainder = value > 9 ? (remainder * 100 + value) % 97 : (remainder * 10 + value) % 97;
|
|
50
|
-
}
|
|
51
|
-
return remainder === 1;
|
|
52
|
-
}
|
|
53
|
-
const BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
54
|
-
function base58Decode(input) {
|
|
55
|
-
const bytes = [];
|
|
56
|
-
for (let i = 0; i < input.length; i++) {
|
|
57
|
-
let carry = BASE58_ALPHABET.indexOf(input[i]);
|
|
58
|
-
if (carry === -1)
|
|
59
|
-
return undefined;
|
|
60
|
-
for (let j = 0; j < bytes.length; j++) {
|
|
61
|
-
carry += bytes[j] * 58;
|
|
62
|
-
bytes[j] = carry & 0xff;
|
|
63
|
-
carry >>= 8;
|
|
64
|
-
}
|
|
65
|
-
while (carry > 0) {
|
|
66
|
-
bytes.push(carry & 0xff);
|
|
67
|
-
carry >>= 8;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
for (let i = 0; i < input.length && input[i] === '1'; i++)
|
|
71
|
-
bytes.push(0);
|
|
72
|
-
return Uint8Array.from(bytes.reverse());
|
|
73
|
-
}
|
|
7
|
+
var pii_patterns_2 = require("@n8n/utils/redaction/pii-patterns");
|
|
8
|
+
Object.defineProperty(exports, "passesLuhn", { enumerable: true, get: function () { return pii_patterns_2.passesLuhn; } });
|
|
9
|
+
Object.defineProperty(exports, "passesIbanChecksum", { enumerable: true, get: function () { return pii_patterns_2.passesIbanChecksum; } });
|
|
10
|
+
Object.defineProperty(exports, "SUPPORTED_PII_CATEGORIES", { enumerable: true, get: function () { return pii_patterns_2.SUPPORTED_PII_CATEGORIES; } });
|
|
74
11
|
function passesBase58Check(candidate) {
|
|
75
|
-
const decoded = base58Decode(candidate);
|
|
12
|
+
const decoded = (0, pii_patterns_1.base58Decode)(candidate);
|
|
76
13
|
if (!decoded || decoded.length < 5)
|
|
77
14
|
return false;
|
|
78
15
|
const payload = decoded.subarray(0, decoded.length - 4);
|
|
@@ -90,65 +27,11 @@ function isCryptoWallet(match) {
|
|
|
90
27
|
return true;
|
|
91
28
|
return passesBase58Check(match);
|
|
92
29
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return octets.length === 4 && octets.every((o) => /^\d{1,3}$/.test(o) && Number(o) <= 255);
|
|
98
|
-
}
|
|
99
|
-
const PII_PATTERNS = {
|
|
100
|
-
email: {
|
|
101
|
-
category: 'email',
|
|
102
|
-
regex: /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,
|
|
103
|
-
},
|
|
104
|
-
'credit-card': {
|
|
105
|
-
category: 'credit-card',
|
|
106
|
-
regex: /\b\d(?:[ -]?\d){12,18}\b/g,
|
|
107
|
-
validate: passesLuhn,
|
|
108
|
-
},
|
|
109
|
-
'ssn-us': {
|
|
110
|
-
category: 'ssn-us',
|
|
111
|
-
regex: /\b\d{3}-\d{2}-\d{4}\b/g,
|
|
112
|
-
},
|
|
113
|
-
phone: {
|
|
114
|
-
category: 'phone',
|
|
115
|
-
regex: /\+\d(?:[\s().-]*\d){6,14}\b/g,
|
|
116
|
-
validate: zodGuard(PHONE_SCHEMA, (match) => match.replace(/[^\d+]/g, '')),
|
|
117
|
-
},
|
|
118
|
-
iban: {
|
|
119
|
-
category: 'iban',
|
|
120
|
-
regex: /\b[A-Za-z]{2}\d{2}[A-Za-z0-9]{11,30}\b|\b[A-Z]{2}\d{2}(?: [A-Z0-9]{1,4}){2,8}\b/g,
|
|
121
|
-
validate: passesIbanChecksum,
|
|
122
|
-
},
|
|
123
|
-
'crypto-wallet': {
|
|
124
|
-
category: 'crypto-wallet',
|
|
125
|
-
regex: /\b(?:0x[0-9a-fA-F]{40}|(?:bc1|tb1)[023456789acdefghjklmnpqrstuvwxyz]{11,71}|[13][1-9A-HJ-NP-Za-km-z]{25,34})\b/g,
|
|
126
|
-
validate: isCryptoWallet,
|
|
127
|
-
},
|
|
128
|
-
mac: {
|
|
129
|
-
category: 'mac',
|
|
130
|
-
regex: /\b(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\b/g,
|
|
131
|
-
},
|
|
132
|
-
ip: {
|
|
133
|
-
category: 'ip',
|
|
134
|
-
regex: /\b(?:\d{1,3}\.){3}\d{1,3}\b|\b(?:[A-Fa-f0-9]{1,4}:){2,7}[A-Fa-f0-9]{1,4}\b|\b(?:[A-Fa-f0-9]{1,4}:){1,7}:(?:[A-Fa-f0-9]{1,4})?\b/g,
|
|
135
|
-
validate: isIpAddress,
|
|
136
|
-
},
|
|
137
|
-
url: {
|
|
138
|
-
category: 'url',
|
|
139
|
-
regex: /\bhttps?:\/\/[^\s<>"')\]}]+/g,
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
exports.SUPPORTED_PII_CATEGORIES = Object.keys(PII_PATTERNS).filter((type) => PII_PATTERNS[type] !== undefined);
|
|
30
|
+
const WALLET_PATTERN = pii_patterns_1.PII_PATTERNS['crypto-wallet'];
|
|
31
|
+
exports.PII_PATTERNS = (0, pii_patterns_1.createPiiPatterns)({
|
|
32
|
+
'crypto-wallet': { ...WALLET_PATTERN, validate: isCryptoWallet },
|
|
33
|
+
});
|
|
143
34
|
function resolvePatterns(opts) {
|
|
144
|
-
|
|
145
|
-
if (opts.secrets)
|
|
146
|
-
patterns.push(...SECRET_PATTERNS);
|
|
147
|
-
for (const type of opts.detect) {
|
|
148
|
-
const pattern = PII_PATTERNS[type];
|
|
149
|
-
if (pattern)
|
|
150
|
-
patterns.push(pattern);
|
|
151
|
-
}
|
|
152
|
-
return patterns;
|
|
35
|
+
return (0, pii_patterns_1.resolvePatterns)(opts, exports.PII_PATTERNS);
|
|
153
36
|
}
|
|
154
37
|
//# sourceMappingURL=patterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/patterns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/patterns.ts"],"names":[],"mappings":";;;;AAAA,oEAO2C;AAC3C,6CAAyC;AAKzC,kEAI2C;AAH1C,0GAAA,UAAU,OAAA;AACV,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AAIzB,SAAS,iBAAiB,CAAC,SAAiB;IAC3C,MAAM,OAAO,GAAG,IAAA,2BAAY,EAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACtE,OAAO,IAAI,CAAC;AACb,CAAC;AAQD,SAAS,cAAc,CAAC,KAAa;IACpC,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,wDAAwD,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtF,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,cAAc,GAAG,2BAAoB,CAAC,eAAe,CAAqB,CAAC;AAGpE,QAAA,YAAY,GAAoB,IAAA,gCAAiB,EAAC;IAC9D,eAAe,EAAE,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE;CAChE,CAAC,CAAC;AAGH,yBAAgC,IAG/B;IACA,OAAO,IAAA,8BAAmB,EAAC,IAAI,EAAE,QAAA,YAAY,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { BuiltGuardrail
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
secrets?: boolean;
|
|
6
|
-
detect?: readonly PiiDetectionType[];
|
|
7
|
-
placeholder?: string;
|
|
8
|
-
preserveUrlStructure?: boolean;
|
|
9
|
-
redactSensitiveKeys?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface RedactionResult {
|
|
12
|
-
text: string;
|
|
13
|
-
matches: Array<{
|
|
14
|
-
category: RedactionCategory;
|
|
15
|
-
}>;
|
|
16
|
-
}
|
|
1
|
+
import { type DeepRedactionResult, type RedactionOptions, type RedactionResult } from '@n8n/utils/redaction/redact-text';
|
|
2
|
+
import type { BuiltGuardrail } from '../../types';
|
|
3
|
+
export { DEFAULT_PLACEHOLDER } from '@n8n/utils/redaction/redact-text';
|
|
4
|
+
export type { RedactionOptions, RedactionResult, DeepRedactionResult };
|
|
17
5
|
export declare function redactionOptionsFromGuardrail(guardrail: BuiltGuardrail): RedactionOptions;
|
|
18
6
|
export declare function redactText(input: string, opts?: RedactionOptions): RedactionResult;
|
|
19
7
|
export declare function findMatchRanges(input: string, opts?: RedactionOptions): Array<[number, number]>;
|
|
20
|
-
export interface DeepRedactionResult {
|
|
21
|
-
value: unknown;
|
|
22
|
-
matches: Array<{
|
|
23
|
-
category: RedactionCategory;
|
|
24
|
-
}>;
|
|
25
|
-
}
|
|
26
8
|
export declare function redactDeep(value: unknown, opts?: RedactionOptions, depth?: number): DeepRedactionResult;
|
|
@@ -5,8 +5,13 @@ exports.redactionOptionsFromGuardrail = redactionOptionsFromGuardrail;
|
|
|
5
5
|
exports.redactText = redactText;
|
|
6
6
|
exports.findMatchRanges = findMatchRanges;
|
|
7
7
|
exports.redactDeep = redactDeep;
|
|
8
|
+
const redact_text_1 = require("@n8n/utils/redaction/redact-text");
|
|
8
9
|
const patterns_1 = require("./patterns");
|
|
9
|
-
|
|
10
|
+
var redact_text_2 = require("@n8n/utils/redaction/redact-text");
|
|
11
|
+
Object.defineProperty(exports, "DEFAULT_PLACEHOLDER", { enumerable: true, get: function () { return redact_text_2.DEFAULT_PLACEHOLDER; } });
|
|
12
|
+
function withNodePatterns(opts) {
|
|
13
|
+
return { ...opts, piiPatterns: opts.piiPatterns ?? patterns_1.PII_PATTERNS };
|
|
14
|
+
}
|
|
10
15
|
function redactionOptionsFromGuardrail(guardrail) {
|
|
11
16
|
const detect = guardrail._config.detectionTypes;
|
|
12
17
|
return {
|
|
@@ -15,118 +20,12 @@ function redactionOptionsFromGuardrail(guardrail) {
|
|
|
15
20
|
};
|
|
16
21
|
}
|
|
17
22
|
function redactText(input, opts = {}) {
|
|
18
|
-
|
|
19
|
-
const patterns = (0, patterns_1.resolvePatterns)({
|
|
20
|
-
secrets: opts.secrets ?? true,
|
|
21
|
-
detect: opts.detect ?? [],
|
|
22
|
-
});
|
|
23
|
-
const ordered = opts.preserveUrlStructure
|
|
24
|
-
? [
|
|
25
|
-
...patterns.filter((pattern) => pattern.category === 'url'),
|
|
26
|
-
...patterns.filter((pattern) => pattern.category !== 'url'),
|
|
27
|
-
]
|
|
28
|
-
: patterns;
|
|
29
|
-
const matches = [];
|
|
30
|
-
let text = input;
|
|
31
|
-
for (const pattern of ordered) {
|
|
32
|
-
text = text.replace(pattern.regex, (match) => {
|
|
33
|
-
if (pattern.validate && !pattern.validate(match))
|
|
34
|
-
return match;
|
|
35
|
-
if (opts.preserveUrlStructure && pattern.category === 'url') {
|
|
36
|
-
const rebuilt = stripUrlSensitiveParts(match, placeholder);
|
|
37
|
-
if (rebuilt !== match)
|
|
38
|
-
matches.push({ category: pattern.category });
|
|
39
|
-
return rebuilt;
|
|
40
|
-
}
|
|
41
|
-
matches.push({ category: pattern.category });
|
|
42
|
-
return placeholder;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return { text, matches };
|
|
46
|
-
}
|
|
47
|
-
function isTokenLikeSegment(segment) {
|
|
48
|
-
if (segment.length >= 16 && /[A-Za-z]/.test(segment) && /\d/.test(segment))
|
|
49
|
-
return true;
|
|
50
|
-
return segment.length >= 24 && /^[A-Za-z]+$/.test(segment);
|
|
51
|
-
}
|
|
52
|
-
function stripUrlSensitiveParts(match, placeholder) {
|
|
53
|
-
const urlPlaceholder = placeholder.replace(/[^A-Za-z0-9_.~-]/g, '') || 'REDACTED';
|
|
54
|
-
try {
|
|
55
|
-
const url = new URL(match);
|
|
56
|
-
const pathname = url.pathname
|
|
57
|
-
.split('/')
|
|
58
|
-
.map((segment) => (isTokenLikeSegment(segment) ? urlPlaceholder : segment))
|
|
59
|
-
.join('/');
|
|
60
|
-
const names = [...url.searchParams.keys()];
|
|
61
|
-
const query = names.length > 0
|
|
62
|
-
? `?${names.map((name) => `${encodeURIComponent(name)}=${urlPlaceholder}`).join('&')}`
|
|
63
|
-
: '';
|
|
64
|
-
return `${url.origin}${pathname}${query}`;
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return placeholder;
|
|
68
|
-
}
|
|
23
|
+
return (0, redact_text_1.redactText)(input, withNodePatterns(opts));
|
|
69
24
|
}
|
|
70
25
|
function findMatchRanges(input, opts = {}) {
|
|
71
|
-
|
|
72
|
-
secrets: opts.secrets ?? true,
|
|
73
|
-
detect: opts.detect ?? [],
|
|
74
|
-
});
|
|
75
|
-
const ranges = [];
|
|
76
|
-
for (const pattern of patterns) {
|
|
77
|
-
const { regex } = pattern;
|
|
78
|
-
regex.lastIndex = 0;
|
|
79
|
-
let match;
|
|
80
|
-
while ((match = regex.exec(input)) !== null) {
|
|
81
|
-
if (match[0].length === 0) {
|
|
82
|
-
regex.lastIndex++;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (pattern.validate && !pattern.validate(match[0]))
|
|
86
|
-
continue;
|
|
87
|
-
ranges.push([match.index, match.index + match[0].length]);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return ranges;
|
|
26
|
+
return (0, redact_text_1.findMatchRanges)(input, withNodePatterns(opts));
|
|
91
27
|
}
|
|
92
|
-
const MAX_DEEP_DEPTH = 8;
|
|
93
|
-
const SENSITIVE_KEY_PATTERN = /(api[_-]?key|private[_-]?key|authorization|bearer|cookie|credentials?|password|secret|access[_-]?token|refresh[_-]?token|id[_-]?token|session[_-]?token|auth[_-]?token|(?:^|[._-])token$)/i;
|
|
94
28
|
function redactDeep(value, opts = {}, depth = 0) {
|
|
95
|
-
return
|
|
96
|
-
}
|
|
97
|
-
function redactDeepValue(value, opts, depth, key) {
|
|
98
|
-
if (opts.redactSensitiveKeys && key && SENSITIVE_KEY_PATTERN.test(key)) {
|
|
99
|
-
return { value: opts.placeholder ?? exports.DEFAULT_PLACEHOLDER, matches: [{ category: 'secret' }] };
|
|
100
|
-
}
|
|
101
|
-
if (typeof value === 'string') {
|
|
102
|
-
const { text, matches } = redactText(value, opts);
|
|
103
|
-
return { value: text, matches };
|
|
104
|
-
}
|
|
105
|
-
if (depth >= MAX_DEEP_DEPTH) {
|
|
106
|
-
if (opts.redactSensitiveKeys && value !== null && typeof value === 'object') {
|
|
107
|
-
return { value: opts.placeholder ?? exports.DEFAULT_PLACEHOLDER, matches: [{ category: 'secret' }] };
|
|
108
|
-
}
|
|
109
|
-
return { value, matches: [] };
|
|
110
|
-
}
|
|
111
|
-
if (Array.isArray(value)) {
|
|
112
|
-
const matches = [];
|
|
113
|
-
const next = value.map((item) => {
|
|
114
|
-
const result = redactDeepValue(item, opts, depth + 1, key);
|
|
115
|
-
matches.push(...result.matches);
|
|
116
|
-
return result.value;
|
|
117
|
-
});
|
|
118
|
-
return { value: next, matches };
|
|
119
|
-
}
|
|
120
|
-
if (value !== null && typeof value === 'object') {
|
|
121
|
-
const matches = [];
|
|
122
|
-
const next = {};
|
|
123
|
-
for (const [key, item] of Object.entries(value)) {
|
|
124
|
-
const result = redactDeepValue(item, opts, depth + 1, key);
|
|
125
|
-
matches.push(...result.matches);
|
|
126
|
-
next[key] = result.value;
|
|
127
|
-
}
|
|
128
|
-
return { value: next, matches };
|
|
129
|
-
}
|
|
130
|
-
return { value, matches: [] };
|
|
29
|
+
return (0, redact_text_1.redactDeep)(value, withNodePatterns(opts), depth);
|
|
131
30
|
}
|
|
132
31
|
//# sourceMappingURL=redactor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redactor.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/redactor.ts"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"redactor.js","sourceRoot":"","sources":["../../../src/sdk/guardrails/redactor.ts"],"names":[],"mappings":";;;;;;;AAAA,kEAO0C;AAE1C,yCAA0C;AAG1C,gEAAuE;AAA9D,kHAAA,mBAAmB,OAAA;AAQ5B,SAAS,gBAAgB,CAAC,IAAsB;IAC/C,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,uBAAY,EAAE,CAAC;AACnE,CAAC;AAMD,uCAA8C,SAAyB;IACtE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;IAChD,OAAO;QACN,OAAO,EAAE,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACrD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA6B,CAAC,CAAC,CAAC,EAAE;KACnE,CAAC;AACH,CAAC;AAMD,oBAA2B,KAAa,EAAE,IAAI,GAAqB,EAAE;IACpE,OAAO,IAAA,wBAAc,EAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAOD,yBACC,KAAa,EACb,IAAI,GAAqB,EAAE;IAE3B,OAAO,IAAA,6BAAmB,EAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAOD,oBACC,KAAc,EACd,IAAI,GAAqB,EAAE,EAC3B,KAAK,GAAG,CAAC;IAET,OAAO,IAAA,wBAAc,EAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type { BuiltFileStore } from './sdk/file-store';
|
|
|
5
5
|
export type { Provider, AnthropicThinkingEffort, AnthropicThinkingConfig, OpenAIReasoningEffort, OpenAIThinkingConfig, GoogleThinkingConfig, XaiThinkingConfig, ThinkingConfigFor, ThinkingConfig, } from './sdk/provider';
|
|
6
6
|
export type { ReasoningLevel } from './sdk/reasoning';
|
|
7
7
|
export type { AgentResult, StreamChunk, FinishReason, TokenUsage, ModelConfig, RunOptions, ExecutionOptions, SmoothStreamOptions, AgentExecutionCounter, PersistedExecutionOptions, ResumeOptions, GenerateResult, StreamResult, BuiltAgent, AgentRunState, AgentResumeData, PendingToolCall, SerializableAgentState, AnthropicPromptCachingConfig, OpenAIPromptCachingConfig, PromptCachingConfig, } from './sdk/agent';
|
|
8
|
+
export { FINISH_REASONS, isFinishReason } from './sdk/agent';
|
|
8
9
|
export type { SerializedMessageList } from './runtime/message-list';
|
|
9
10
|
export type { ToolContext, ToolCancellationContext, ToolExecutionContext, InterruptibleToolContext, ToolSuspendOptions, BuiltTool, BuiltProviderTool, } from './sdk/tool';
|
|
10
11
|
export type { Thread, BuiltMemory, BuiltEpisodicMemoryStore, EpisodicMemoryConfig, EpisodicMemoryCursor, EpisodicMemoryEmbeddingProviderOptions, EpisodicMemoryEntry, EpisodicMemoryEntrySource, EpisodicMemoryExtractFn, EpisodicMemoryExtraction, EpisodicMemoryExtractionCandidate, EpisodicMemoryExtractorInput, EpisodicMemoryMethods, EpisodicMemoryPrompts, EpisodicMemoryReflectFn, EpisodicMemoryReflection, EpisodicMemoryReflectionApply, EpisodicMemoryReflectionApplyMerge, EpisodicMemoryReflectionMerge, EpisodicMemoryReflectionResult, EpisodicMemoryReflectorInput, EpisodicMemoryScope, EpisodicMemorySearchOptions, EpisodicMemoryStatus, EpisodicMemoryTaskLockHandle, EpisodicMemoryTaskLockMethods, NewEpisodicMemoryCursor, NewEpisodicMemoryEntry, NewEpisodicMemoryEntrySource, NewEpisodicMemoryEntrySourceForEntry, RetrievedEpisodicMemoryEntry, ObservationCapableMemory, MemoryDescriptor, MemoryConfig, ObservationLogMemoryConfig, ObservationalMemoryConfig, CheckpointStore, TitleGenerationConfig, } from './sdk/memory';
|
package/dist/types/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentEvent = exports.OBSERVATION_LOG_STATUSES = exports.OBSERVATION_LOG_MARKERS = exports.stripHydratedFileData = void 0;
|
|
3
|
+
exports.AgentEvent = exports.OBSERVATION_LOG_STATUSES = exports.OBSERVATION_LOG_MARKERS = exports.isFinishReason = exports.FINISH_REASONS = exports.stripHydratedFileData = void 0;
|
|
4
4
|
var message_1 = require("./sdk/message");
|
|
5
5
|
Object.defineProperty(exports, "stripHydratedFileData", { enumerable: true, get: function () { return message_1.stripHydratedFileData; } });
|
|
6
|
+
var agent_1 = require("./sdk/agent");
|
|
7
|
+
Object.defineProperty(exports, "FINISH_REASONS", { enumerable: true, get: function () { return agent_1.FINISH_REASONS; } });
|
|
8
|
+
Object.defineProperty(exports, "isFinishReason", { enumerable: true, get: function () { return agent_1.isFinishReason; } });
|
|
6
9
|
var observation_log_1 = require("./sdk/observation-log");
|
|
7
10
|
Object.defineProperty(exports, "OBSERVATION_LOG_MARKERS", { enumerable: true, get: function () { return observation_log_1.OBSERVATION_LOG_MARKERS; } });
|
|
8
11
|
Object.defineProperty(exports, "OBSERVATION_LOG_STATUSES", { enumerable: true, get: function () { return observation_log_1.OBSERVATION_LOG_STATUSES; } });
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAuBA,yCAAsD;AAA7C,gHAAA,qBAAqB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAuBA,yCAAsD;AAA7C,gHAAA,qBAAqB,OAAA;AAwC9B,qCAA6D;AAApD,uGAAA,cAAc,OAAA;AAAE,uGAAA,cAAc,OAAA;AAwFvC,yDAG+B;AAF9B,0HAAA,uBAAuB,OAAA;AACvB,2HAAA,wBAAwB,OAAA;AA6BzB,yCAA6C;AAApC,mGAAA,UAAU,OAAA"}
|
|
@@ -8,7 +8,9 @@ import type { SerializedMessageList } from '../runtime/message-list';
|
|
|
8
8
|
import type { BuiltTelemetry } from '../telemetry';
|
|
9
9
|
import type { JSONObject, JSONValue } from '../utils/json';
|
|
10
10
|
export type SmoothStreamOptions = NonNullable<Parameters<typeof smoothStream>[0]>;
|
|
11
|
-
export
|
|
11
|
+
export declare const FINISH_REASONS: readonly ['stop', 'max-iterations', 'length', 'content-filter', 'tool-calls', 'error', 'other'];
|
|
12
|
+
export type FinishReason = (typeof FINISH_REASONS)[number];
|
|
13
|
+
export declare function isFinishReason(value: unknown): value is FinishReason;
|
|
12
14
|
export type TokenUsage<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
13
15
|
promptTokens: number;
|
|
14
16
|
completionTokens: number;
|
package/dist/types/sdk/agent.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FINISH_REASONS = void 0;
|
|
4
|
+
exports.isFinishReason = isFinishReason;
|
|
5
|
+
exports.FINISH_REASONS = [
|
|
6
|
+
'stop',
|
|
7
|
+
'max-iterations',
|
|
8
|
+
'length',
|
|
9
|
+
'content-filter',
|
|
10
|
+
'tool-calls',
|
|
11
|
+
'error',
|
|
12
|
+
'other',
|
|
13
|
+
];
|
|
14
|
+
function isFinishReason(value) {
|
|
15
|
+
return typeof value === 'string' && exports.FINISH_REASONS.some((reason) => reason === value);
|
|
16
|
+
}
|
|
3
17
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/sdk/agent.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/sdk/agent.ts"],"names":[],"mappings":";;;;AAwBa,QAAA,cAAc,GAAG;IAC7B,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,OAAO;IACP,OAAO;CACE,CAAC;AAIX,wBAA+B,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAA,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type GuardrailType = 'pii' | 'prompt-injection' | 'moderation' | 'custom';
|
|
2
2
|
export type GuardrailStrategy = 'block' | 'redact' | 'warn';
|
|
3
|
-
export type PiiDetectionType
|
|
3
|
+
export type { PiiDetectionType } from '@n8n/utils/redaction/pii-patterns';
|
|
4
4
|
export interface BuiltGuardrail {
|
|
5
5
|
readonly name: string;
|
|
6
6
|
readonly guardType: 'pii' | 'prompt-injection' | 'moderation' | 'custom';
|
|
@@ -70,6 +70,10 @@ export type ContentProvider = ContentMetadata & {
|
|
|
70
70
|
type: 'provider';
|
|
71
71
|
value: Record<string, unknown>;
|
|
72
72
|
};
|
|
73
|
+
export interface MessageOrigin {
|
|
74
|
+
kind: 'tool';
|
|
75
|
+
toolName: string;
|
|
76
|
+
}
|
|
73
77
|
export interface Message {
|
|
74
78
|
id?: string;
|
|
75
79
|
type?: 'llm';
|
|
@@ -77,6 +81,7 @@ export interface Message {
|
|
|
77
81
|
content: MessageContent[];
|
|
78
82
|
name?: string;
|
|
79
83
|
providerOptions?: ProviderOptions;
|
|
84
|
+
origin?: MessageOrigin;
|
|
80
85
|
}
|
|
81
86
|
export interface AgentMessageBase {
|
|
82
87
|
type: 'agent';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/types/sdk/message.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/types/sdk/message.ts"],"names":[],"mappings":";;;AAkPA,+BAA8D,OAAU;IACvE,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAE/E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxE,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SupabaseVectorStore = void 0;
|
|
4
4
|
const base_vector_store_1 = require("../storage/base-vector-store");
|
|
5
|
+
async function createSupabaseVectorClient(url, apiKey) {
|
|
6
|
+
const { createClient } = await import('@supabase/supabase-js');
|
|
7
|
+
return createClient(url, apiKey);
|
|
8
|
+
}
|
|
5
9
|
class SupabaseVectorStore extends base_vector_store_1.BaseVectorStore {
|
|
6
10
|
constructor(name, options) {
|
|
7
11
|
super(name, options);
|
|
@@ -46,10 +50,7 @@ class SupabaseVectorStore extends base_vector_store_1.BaseVectorStore {
|
|
|
46
50
|
this.client = undefined;
|
|
47
51
|
}
|
|
48
52
|
async getClient() {
|
|
49
|
-
|
|
50
|
-
const { createClient } = await import('@supabase/supabase-js');
|
|
51
|
-
this.client = createClient(this.constructorOptions.url, this.constructorOptions.apiKey);
|
|
52
|
-
}
|
|
53
|
+
this.client ??= await createSupabaseVectorClient(this.constructorOptions.url, this.constructorOptions.apiKey);
|
|
53
54
|
return this.client;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/vector-stores/supabase.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/vector-stores/supabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export declare abstract class BaseSandbox implements WorkspaceSandbox {
|
|
|
16
16
|
abstract start(): Promise<void>;
|
|
17
17
|
abstract stop(): Promise<void>;
|
|
18
18
|
abstract destroy(): Promise<void>;
|
|
19
|
+
deleteRemote(): Promise<void>;
|
|
19
20
|
_start(): Promise<void>;
|
|
20
21
|
_stop(): Promise<void>;
|
|
21
22
|
_destroy(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-sandbox.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/base-sandbox.ts"],"names":[],"mappings":";;;;AAAA,2CAAgD;AAgBhD,oBAA2B,GAAW;IACrC,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED;IAeC,YAAY,OAA4B;QAXxC,WAAM,GAAmB,SAAS,CAAC;QAYlC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,IAA6C,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,MAAM,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,SAAS,CAAC;IACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"base-sandbox.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/base-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,12 +47,16 @@ export declare class DaytonaSandbox extends BaseSandbox {
|
|
|
47
47
|
private sandbox?;
|
|
48
48
|
private workingDirectory?;
|
|
49
49
|
private recoveryPromise?;
|
|
50
|
+
private remoteAcquired;
|
|
50
51
|
constructor(options?: DaytonaSandboxOptions);
|
|
51
52
|
get instance(): Sandbox;
|
|
52
53
|
start(): Promise<void>;
|
|
54
|
+
private toAcquisitionError;
|
|
53
55
|
private createSandboxOrReattach;
|
|
54
56
|
stop(): Promise<void>;
|
|
55
57
|
destroy(): Promise<void>;
|
|
58
|
+
deleteRemote(): Promise<void>;
|
|
59
|
+
private deleteRemoteByName;
|
|
56
60
|
executeCommand(command: string, args?: string[], options?: ExecuteCommandOptions): Promise<CommandResult>;
|
|
57
61
|
withFilesystem<T>(op: (fs: Sandbox['fs']) => Promise<T>, options?: AbortableOptions): Promise<T>;
|
|
58
62
|
ensureAuthFresh(): Promise<void>;
|
|
@@ -65,10 +69,13 @@ export declare class DaytonaSandbox extends BaseSandbox {
|
|
|
65
69
|
private recover;
|
|
66
70
|
private findExistingSandbox;
|
|
67
71
|
private lookupExistingSandbox;
|
|
72
|
+
private bringToStarted;
|
|
68
73
|
private findExistingSandboxAfterConflict;
|
|
74
|
+
private withTransientRetry;
|
|
69
75
|
private createSandbox;
|
|
70
76
|
private waitBeforeAcquisitionRetry;
|
|
71
77
|
private operationTimeoutSeconds;
|
|
78
|
+
private createTimeoutSeconds;
|
|
72
79
|
private createSandboxParams;
|
|
73
80
|
private reportCreateError;
|
|
74
81
|
private detectWorkingDirectory;
|