@moxxy/sdk 0.33.0 → 0.35.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/README.md +1 -1
- package/dist/audit-export.d.ts +51 -0
- package/dist/audit-export.d.ts.map +1 -0
- package/dist/audit-export.js +4 -0
- package/dist/audit-export.js.map +1 -0
- package/dist/audit.d.ts +86 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +35 -0
- package/dist/audit.js.map +1 -0
- package/dist/compactor-helpers.d.ts +1 -1
- package/dist/compactor-helpers.js +1 -1
- package/dist/define.d.ts +2 -0
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +1 -0
- package/dist/define.js.map +1 -1
- package/dist/egress.d.ts +109 -0
- package/dist/egress.d.ts.map +1 -0
- package/dist/egress.js +228 -0
- package/dist/egress.js.map +1 -0
- package/dist/events.d.ts +18 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/fs-utils.d.ts +48 -0
- package/dist/fs-utils.d.ts.map +1 -1
- package/dist/fs-utils.js +114 -1
- package/dist/fs-utils.js.map +1 -1
- package/dist/hooks.d.ts +8 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +10 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/principal-os.d.ts +14 -0
- package/dist/principal-os.d.ts.map +1 -0
- package/dist/principal-os.js +48 -0
- package/dist/principal-os.js.map +1 -0
- package/dist/principal.d.ts +54 -0
- package/dist/principal.d.ts.map +1 -0
- package/dist/principal.js +18 -0
- package/dist/principal.js.map +1 -0
- package/dist/redact.d.ts +36 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +88 -0
- package/dist/redact.js.map +1 -0
- package/dist/schemas.d.ts +18 -18
- package/dist/secret-provider.d.ts +60 -0
- package/dist/secret-provider.d.ts.map +1 -0
- package/dist/secret-provider.js +59 -0
- package/dist/secret-provider.js.map +1 -0
- package/dist/server.d.ts +3 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -1
- package/dist/server.js.map +1 -1
- package/dist/session-like.d.ts +3 -0
- package/dist/session-like.d.ts.map +1 -1
- package/dist/signature.d.ts +21 -0
- package/dist/signature.d.ts.map +1 -0
- package/dist/signature.js +32 -0
- package/dist/signature.js.map +1 -0
- package/dist/tool-icon.d.ts +22 -0
- package/dist/tool-icon.d.ts.map +1 -0
- package/dist/tool-icon.js +44 -0
- package/dist/tool-icon.js.map +1 -0
- package/dist/tool.d.ts +8 -0
- package/dist/tool.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/audit-export.ts +57 -0
- package/src/audit.ts +137 -0
- package/src/compactor-helpers.test.ts +1 -1
- package/src/compactor-helpers.ts +1 -1
- package/src/cross-process-lock.test.ts +23 -14
- package/src/define.ts +3 -0
- package/src/egress.test.ts +238 -0
- package/src/egress.ts +274 -0
- package/src/events.ts +18 -0
- package/src/fs-utils.test.ts +98 -2
- package/src/fs-utils.ts +120 -1
- package/src/hooks.ts +8 -0
- package/src/host-credential.test.ts +39 -0
- package/src/index.ts +49 -0
- package/src/plugin.ts +10 -0
- package/src/principal-os.ts +48 -0
- package/src/principal.test.ts +47 -0
- package/src/principal.ts +60 -0
- package/src/redact.test.ts +91 -0
- package/src/redact.ts +91 -0
- package/src/secret-provider.ts +84 -0
- package/src/server.ts +17 -0
- package/src/session-like.ts +3 -0
- package/src/signature.ts +34 -0
- package/src/tool-icon.test.ts +46 -0
- package/src/tool-icon.ts +46 -0
- package/src/tool.ts +8 -0
package/dist/redact.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret redaction for anything that leaves the process: an audit record, a
|
|
3
|
+
* terminal prompt, a support paste.
|
|
4
|
+
*
|
|
5
|
+
* Two independent passes, because they catch different things and either alone
|
|
6
|
+
* leaves a real hole:
|
|
7
|
+
*
|
|
8
|
+
* - by KEY NAME, for `{ apiKey: 'sk-…' }`, where the value is opaque.
|
|
9
|
+
* - by VALUE SHAPE, for a secret embedded in an ordinary-looking field. The
|
|
10
|
+
* motivating case is a Bash tool call: its `command` is not a secret-named
|
|
11
|
+
* key, so a key-name pass alone prints
|
|
12
|
+
* `curl -H "Authorization: Bearer sk-ant-…"` verbatim.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately NOT a guarantee. A redactor that claims completeness invites
|
|
15
|
+
* treating redacted output as safe to publish; treat it as reducing accidental
|
|
16
|
+
* exposure, not as sanitisation.
|
|
17
|
+
*/
|
|
18
|
+
export declare const REDACTED_PLACEHOLDER = "[redacted]";
|
|
19
|
+
/** True when a field name reads as secret-bearing. */
|
|
20
|
+
export declare function isSecretKey(key: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Mask secret-shaped substrings inside a free-text value. This is the pass that
|
|
23
|
+
* covers shell commands, URLs, and headers, where the carrier field has an
|
|
24
|
+
* innocuous name.
|
|
25
|
+
*/
|
|
26
|
+
export declare function redactSecretText(text: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Redact a structured value: secret-named fields lose their value entirely,
|
|
29
|
+
* every other string is scanned for secret-shaped content.
|
|
30
|
+
*
|
|
31
|
+
* `maxDepth` bounds the walk so a pathologically nested input cannot blow the
|
|
32
|
+
* stack; anything deeper is returned unredacted, which is why callers that
|
|
33
|
+
* accept untrusted shapes should also cap size before display.
|
|
34
|
+
*/
|
|
35
|
+
export declare function redactSecrets(value: unknown, maxDepth?: number, depth?: number): unknown;
|
|
36
|
+
//# sourceMappingURL=redact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqCH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAI,EAAE,KAAK,SAAI,GAAG,OAAO,CAS9E"}
|
package/dist/redact.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret redaction for anything that leaves the process: an audit record, a
|
|
3
|
+
* terminal prompt, a support paste.
|
|
4
|
+
*
|
|
5
|
+
* Two independent passes, because they catch different things and either alone
|
|
6
|
+
* leaves a real hole:
|
|
7
|
+
*
|
|
8
|
+
* - by KEY NAME, for `{ apiKey: 'sk-…' }`, where the value is opaque.
|
|
9
|
+
* - by VALUE SHAPE, for a secret embedded in an ordinary-looking field. The
|
|
10
|
+
* motivating case is a Bash tool call: its `command` is not a secret-named
|
|
11
|
+
* key, so a key-name pass alone prints
|
|
12
|
+
* `curl -H "Authorization: Bearer sk-ant-…"` verbatim.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately NOT a guarantee. A redactor that claims completeness invites
|
|
15
|
+
* treating redacted output as safe to publish; treat it as reducing accidental
|
|
16
|
+
* exposure, not as sanitisation.
|
|
17
|
+
*/
|
|
18
|
+
/** Field names whose VALUES are secret material regardless of shape. */
|
|
19
|
+
const SECRET_KEY = /(?:api[_-]?key|secret|token|password|passwd|passphrase|authorization|auth[_-]?token|bearer|credential|private[_-]?key|access[_-]?key)/i;
|
|
20
|
+
/**
|
|
21
|
+
* Value shapes that are secrets wherever they appear. Ordered vendor prefixes
|
|
22
|
+
* first (precise, no false positives) then generic bearer/assignment forms.
|
|
23
|
+
*
|
|
24
|
+
* Each pattern keeps any leading context in a capture group so the replacement
|
|
25
|
+
* can preserve it: masking `Authorization: Bearer X` down to just `[redacted]`
|
|
26
|
+
* would lose the fact that a header was there at all, which matters when the
|
|
27
|
+
* point is auditing what was attempted.
|
|
28
|
+
*/
|
|
29
|
+
const SECRET_VALUE_PATTERNS = [
|
|
30
|
+
// Vendor-issued key formats.
|
|
31
|
+
[/\b(sk-ant-)[A-Za-z0-9_-]{8,}/g, '$1[redacted]'],
|
|
32
|
+
[/\b(sk-)[A-Za-z0-9_-]{16,}/g, '$1[redacted]'],
|
|
33
|
+
[/\b(gh[pousr]_)[A-Za-z0-9]{16,}/g, '$1[redacted]'],
|
|
34
|
+
[/\b(xox[baprs]-)[A-Za-z0-9-]{8,}/g, '$1[redacted]'],
|
|
35
|
+
[/\b(AKIA)[0-9A-Z]{12,}/g, '$1[redacted]'],
|
|
36
|
+
[/\b(AIza)[A-Za-z0-9_-]{20,}/g, '$1[redacted]'],
|
|
37
|
+
// JWTs: three base64url segments.
|
|
38
|
+
[/\b(ey[A-Za-z0-9_-]{8,})\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g, 'eyJ[redacted-jwt]'],
|
|
39
|
+
// `Authorization: Bearer <anything>` in a header or a shell command.
|
|
40
|
+
[/\b(authorization\s*[:=]\s*(?:bearer|basic|token)\s+)\S+/gi, '$1[redacted]'],
|
|
41
|
+
[/\b(bearer\s+)[A-Za-z0-9._~+/=-]{12,}/gi, '$1[redacted]'],
|
|
42
|
+
// `FOO_TOKEN=value` / `--api-key value` style assignments.
|
|
43
|
+
[
|
|
44
|
+
/\b([A-Za-z0-9_-]*(?:key|token|secret|password|passwd)[A-Za-z0-9_-]*\s*[:=]\s*)(?!\s)["']?[^\s"'&;|]{6,}["']?/gi,
|
|
45
|
+
'$1[redacted]',
|
|
46
|
+
],
|
|
47
|
+
// Credentials embedded in a URL.
|
|
48
|
+
[/\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@]+(@)/gi, '$1[redacted]$2'],
|
|
49
|
+
];
|
|
50
|
+
export const REDACTED_PLACEHOLDER = '[redacted]';
|
|
51
|
+
/** True when a field name reads as secret-bearing. */
|
|
52
|
+
export function isSecretKey(key) {
|
|
53
|
+
return SECRET_KEY.test(key);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Mask secret-shaped substrings inside a free-text value. This is the pass that
|
|
57
|
+
* covers shell commands, URLs, and headers, where the carrier field has an
|
|
58
|
+
* innocuous name.
|
|
59
|
+
*/
|
|
60
|
+
export function redactSecretText(text) {
|
|
61
|
+
let out = text;
|
|
62
|
+
for (const [pattern, replacement] of SECRET_VALUE_PATTERNS) {
|
|
63
|
+
out = out.replace(pattern, replacement);
|
|
64
|
+
}
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Redact a structured value: secret-named fields lose their value entirely,
|
|
69
|
+
* every other string is scanned for secret-shaped content.
|
|
70
|
+
*
|
|
71
|
+
* `maxDepth` bounds the walk so a pathologically nested input cannot blow the
|
|
72
|
+
* stack; anything deeper is returned unredacted, which is why callers that
|
|
73
|
+
* accept untrusted shapes should also cap size before display.
|
|
74
|
+
*/
|
|
75
|
+
export function redactSecrets(value, maxDepth = 6, depth = 0) {
|
|
76
|
+
if (typeof value === 'string')
|
|
77
|
+
return redactSecretText(value);
|
|
78
|
+
if (depth >= maxDepth || value === null || typeof value !== 'object')
|
|
79
|
+
return value;
|
|
80
|
+
if (Array.isArray(value))
|
|
81
|
+
return value.map((v) => redactSecrets(v, maxDepth, depth + 1));
|
|
82
|
+
const out = {};
|
|
83
|
+
for (const [k, v] of Object.entries(value)) {
|
|
84
|
+
out[k] = SECRET_KEY.test(k) ? REDACTED_PLACEHOLDER : redactSecrets(v, maxDepth, depth + 1);
|
|
85
|
+
}
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,wEAAwE;AACxE,MAAM,UAAU,GACd,wIAAwI,CAAC;AAE3I;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAA6C;IACtE,6BAA6B;IAC7B,CAAC,+BAA+B,EAAE,cAAc,CAAC;IACjD,CAAC,4BAA4B,EAAE,cAAc,CAAC;IAC9C,CAAC,iCAAiC,EAAE,cAAc,CAAC;IACnD,CAAC,kCAAkC,EAAE,cAAc,CAAC;IACpD,CAAC,wBAAwB,EAAE,cAAc,CAAC;IAC1C,CAAC,6BAA6B,EAAE,cAAc,CAAC;IAC/C,kCAAkC;IAClC,CAAC,gEAAgE,EAAE,mBAAmB,CAAC;IACvF,qEAAqE;IACrE,CAAC,2DAA2D,EAAE,cAAc,CAAC;IAC7E,CAAC,wCAAwC,EAAE,cAAc,CAAC;IAC1D,2DAA2D;IAC3D;QACE,gHAAgH;QAChH,cAAc;KACf;IACD,iCAAiC;IACjC,CAAC,kDAAkD,EAAE,gBAAgB,CAAC;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACnF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -177,18 +177,18 @@ export declare const pluginSetupFieldSchema: z.ZodObject<{
|
|
|
177
177
|
key: string;
|
|
178
178
|
kind: "string" | "boolean" | "secret" | "select";
|
|
179
179
|
label: string;
|
|
180
|
+
description?: string | undefined;
|
|
180
181
|
required?: boolean | undefined;
|
|
181
182
|
options?: string[] | undefined;
|
|
182
|
-
description?: string | undefined;
|
|
183
183
|
vaultKey?: string | undefined;
|
|
184
184
|
placeholder?: string | undefined;
|
|
185
185
|
}, {
|
|
186
186
|
key: string;
|
|
187
187
|
kind: "string" | "boolean" | "secret" | "select";
|
|
188
188
|
label: string;
|
|
189
|
+
description?: string | undefined;
|
|
189
190
|
required?: boolean | undefined;
|
|
190
191
|
options?: string[] | undefined;
|
|
191
|
-
description?: string | undefined;
|
|
192
192
|
vaultKey?: string | undefined;
|
|
193
193
|
placeholder?: string | undefined;
|
|
194
194
|
}>;
|
|
@@ -218,18 +218,18 @@ export declare const pluginSetupSchema: z.ZodObject<{
|
|
|
218
218
|
key: string;
|
|
219
219
|
kind: "string" | "boolean" | "secret" | "select";
|
|
220
220
|
label: string;
|
|
221
|
+
description?: string | undefined;
|
|
221
222
|
required?: boolean | undefined;
|
|
222
223
|
options?: string[] | undefined;
|
|
223
|
-
description?: string | undefined;
|
|
224
224
|
vaultKey?: string | undefined;
|
|
225
225
|
placeholder?: string | undefined;
|
|
226
226
|
}, {
|
|
227
227
|
key: string;
|
|
228
228
|
kind: "string" | "boolean" | "secret" | "select";
|
|
229
229
|
label: string;
|
|
230
|
+
description?: string | undefined;
|
|
230
231
|
required?: boolean | undefined;
|
|
231
232
|
options?: string[] | undefined;
|
|
232
|
-
description?: string | undefined;
|
|
233
233
|
vaultKey?: string | undefined;
|
|
234
234
|
placeholder?: string | undefined;
|
|
235
235
|
}>, "many">;
|
|
@@ -239,28 +239,28 @@ export declare const pluginSetupSchema: z.ZodObject<{
|
|
|
239
239
|
key: string;
|
|
240
240
|
kind: "string" | "boolean" | "secret" | "select";
|
|
241
241
|
label: string;
|
|
242
|
+
description?: string | undefined;
|
|
242
243
|
required?: boolean | undefined;
|
|
243
244
|
options?: string[] | undefined;
|
|
244
|
-
description?: string | undefined;
|
|
245
245
|
vaultKey?: string | undefined;
|
|
246
246
|
placeholder?: string | undefined;
|
|
247
247
|
}[];
|
|
248
|
-
required?: boolean | undefined;
|
|
249
248
|
description?: string | undefined;
|
|
249
|
+
required?: boolean | undefined;
|
|
250
250
|
}, {
|
|
251
251
|
title: string;
|
|
252
252
|
fields: {
|
|
253
253
|
key: string;
|
|
254
254
|
kind: "string" | "boolean" | "secret" | "select";
|
|
255
255
|
label: string;
|
|
256
|
+
description?: string | undefined;
|
|
256
257
|
required?: boolean | undefined;
|
|
257
258
|
options?: string[] | undefined;
|
|
258
|
-
description?: string | undefined;
|
|
259
259
|
vaultKey?: string | undefined;
|
|
260
260
|
placeholder?: string | undefined;
|
|
261
261
|
}[];
|
|
262
|
-
required?: boolean | undefined;
|
|
263
262
|
description?: string | undefined;
|
|
263
|
+
required?: boolean | undefined;
|
|
264
264
|
}>;
|
|
265
265
|
export declare const moxxyPackageSchema: z.ZodObject<{
|
|
266
266
|
plugin: z.ZodOptional<z.ZodObject<{
|
|
@@ -322,18 +322,18 @@ export declare const moxxyPackageSchema: z.ZodObject<{
|
|
|
322
322
|
key: string;
|
|
323
323
|
kind: "string" | "boolean" | "secret" | "select";
|
|
324
324
|
label: string;
|
|
325
|
+
description?: string | undefined;
|
|
325
326
|
required?: boolean | undefined;
|
|
326
327
|
options?: string[] | undefined;
|
|
327
|
-
description?: string | undefined;
|
|
328
328
|
vaultKey?: string | undefined;
|
|
329
329
|
placeholder?: string | undefined;
|
|
330
330
|
}, {
|
|
331
331
|
key: string;
|
|
332
332
|
kind: "string" | "boolean" | "secret" | "select";
|
|
333
333
|
label: string;
|
|
334
|
+
description?: string | undefined;
|
|
334
335
|
required?: boolean | undefined;
|
|
335
336
|
options?: string[] | undefined;
|
|
336
|
-
description?: string | undefined;
|
|
337
337
|
vaultKey?: string | undefined;
|
|
338
338
|
placeholder?: string | undefined;
|
|
339
339
|
}>, "many">;
|
|
@@ -343,28 +343,28 @@ export declare const moxxyPackageSchema: z.ZodObject<{
|
|
|
343
343
|
key: string;
|
|
344
344
|
kind: "string" | "boolean" | "secret" | "select";
|
|
345
345
|
label: string;
|
|
346
|
+
description?: string | undefined;
|
|
346
347
|
required?: boolean | undefined;
|
|
347
348
|
options?: string[] | undefined;
|
|
348
|
-
description?: string | undefined;
|
|
349
349
|
vaultKey?: string | undefined;
|
|
350
350
|
placeholder?: string | undefined;
|
|
351
351
|
}[];
|
|
352
|
-
required?: boolean | undefined;
|
|
353
352
|
description?: string | undefined;
|
|
353
|
+
required?: boolean | undefined;
|
|
354
354
|
}, {
|
|
355
355
|
title: string;
|
|
356
356
|
fields: {
|
|
357
357
|
key: string;
|
|
358
358
|
kind: "string" | "boolean" | "secret" | "select";
|
|
359
359
|
label: string;
|
|
360
|
+
description?: string | undefined;
|
|
360
361
|
required?: boolean | undefined;
|
|
361
362
|
options?: string[] | undefined;
|
|
362
|
-
description?: string | undefined;
|
|
363
363
|
vaultKey?: string | undefined;
|
|
364
364
|
placeholder?: string | undefined;
|
|
365
365
|
}[];
|
|
366
|
-
required?: boolean | undefined;
|
|
367
366
|
description?: string | undefined;
|
|
367
|
+
required?: boolean | undefined;
|
|
368
368
|
}>>;
|
|
369
369
|
}, "strip", z.ZodTypeAny, {
|
|
370
370
|
plugin?: {
|
|
@@ -387,14 +387,14 @@ export declare const moxxyPackageSchema: z.ZodObject<{
|
|
|
387
387
|
key: string;
|
|
388
388
|
kind: "string" | "boolean" | "secret" | "select";
|
|
389
389
|
label: string;
|
|
390
|
+
description?: string | undefined;
|
|
390
391
|
required?: boolean | undefined;
|
|
391
392
|
options?: string[] | undefined;
|
|
392
|
-
description?: string | undefined;
|
|
393
393
|
vaultKey?: string | undefined;
|
|
394
394
|
placeholder?: string | undefined;
|
|
395
395
|
}[];
|
|
396
|
-
required?: boolean | undefined;
|
|
397
396
|
description?: string | undefined;
|
|
397
|
+
required?: boolean | undefined;
|
|
398
398
|
} | undefined;
|
|
399
399
|
}, {
|
|
400
400
|
plugin?: {
|
|
@@ -417,14 +417,14 @@ export declare const moxxyPackageSchema: z.ZodObject<{
|
|
|
417
417
|
key: string;
|
|
418
418
|
kind: "string" | "boolean" | "secret" | "select";
|
|
419
419
|
label: string;
|
|
420
|
+
description?: string | undefined;
|
|
420
421
|
required?: boolean | undefined;
|
|
421
422
|
options?: string[] | undefined;
|
|
422
|
-
description?: string | undefined;
|
|
423
423
|
vaultKey?: string | undefined;
|
|
424
424
|
placeholder?: string | undefined;
|
|
425
425
|
}[];
|
|
426
|
-
required?: boolean | undefined;
|
|
427
426
|
description?: string | undefined;
|
|
427
|
+
required?: boolean | undefined;
|
|
428
428
|
} | undefined;
|
|
429
429
|
}>;
|
|
430
430
|
export type PluginSetupField = z.infer<typeof pluginSetupFieldSchema>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a named secret comes from: a swappable block, like every other.
|
|
3
|
+
*
|
|
4
|
+
* The built-in vault (AES-256-GCM under `~/.moxxy/vault.json`, unlocked via the
|
|
5
|
+
* OS keychain) is a good design for one machine and unusable for a fleet: there
|
|
6
|
+
* is no central issuance, no rotation, and no way to revoke a single
|
|
7
|
+
* workstation. Every organisation already runs something that does those three
|
|
8
|
+
* things, so the answer is to let them plug it in rather than to reimplement it.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately ONE block rather than two. A host-scoped credential (a token for
|
|
11
|
+
* an internal registry or a GitHub Enterprise host) is a named secret with a
|
|
12
|
+
* naming convention on top; splitting it into a second `CredentialProvider`
|
|
13
|
+
* registry would leave two overlapping abstractions to keep in sync for no
|
|
14
|
+
* gain.
|
|
15
|
+
*/
|
|
16
|
+
export interface SecretProviderScope {
|
|
17
|
+
readonly cwd: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SecretProviderSession {
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a secret by name, or null when this provider does not hold it.
|
|
22
|
+
*
|
|
23
|
+
* Returning null rather than throwing is what makes providers composable: the
|
|
24
|
+
* host tries the active provider and falls back to the local vault, so
|
|
25
|
+
* adopting an external store does not require migrating every secret on day
|
|
26
|
+
* one.
|
|
27
|
+
*
|
|
28
|
+
* MUST NOT throw for an ordinary miss. A genuine failure (the store is
|
|
29
|
+
* unreachable, the token expired) SHOULD throw, because silently reporting
|
|
30
|
+
* "no such secret" for an outage would send the caller down a
|
|
31
|
+
* missing-credential path and hide the real cause.
|
|
32
|
+
*/
|
|
33
|
+
get(name: string): Promise<string | null>;
|
|
34
|
+
close(): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
export interface SecretProviderDef {
|
|
37
|
+
readonly name: string;
|
|
38
|
+
readonly description?: string;
|
|
39
|
+
open(scope: SecretProviderScope): SecretProviderSession;
|
|
40
|
+
}
|
|
41
|
+
/** Freeze a secret-provider spec, mirroring the other `defineX` factories. */
|
|
42
|
+
export declare function defineSecretProvider(def: SecretProviderDef): SecretProviderDef;
|
|
43
|
+
/**
|
|
44
|
+
* The canonical secret name holding a credential for `host`.
|
|
45
|
+
*
|
|
46
|
+
* A host credential is a named secret plus a convention, which is exactly why
|
|
47
|
+
* there is no separate `CredentialProvider` registry: whatever store an
|
|
48
|
+
* organisation already plugged in for secrets serves these too.
|
|
49
|
+
*
|
|
50
|
+
* `github.example.com` becomes `MOXXY_CREDENTIAL_GITHUB_EXAMPLE_COM`. The
|
|
51
|
+
* derivation mirrors the provider-key convention (upper-snake, non-alphanumerics
|
|
52
|
+
* to `_`) so an operator who has seen one can predict the other, and a port is
|
|
53
|
+
* dropped because a credential belongs to the host, not to a socket.
|
|
54
|
+
*
|
|
55
|
+
* Accepts a bare host or a full URL; anything unparseable yields null rather
|
|
56
|
+
* than a name derived from garbage, so a caller cannot accidentally look up a
|
|
57
|
+
* secret keyed on a typo.
|
|
58
|
+
*/
|
|
59
|
+
export declare function hostCredentialName(hostOrUrl: string): string | null;
|
|
60
|
+
//# sourceMappingURL=secret-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-provider.d.ts","sourceRoot":"","sources":["../src/secret-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;CACzD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CAE9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBnE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a named secret comes from: a swappable block, like every other.
|
|
3
|
+
*
|
|
4
|
+
* The built-in vault (AES-256-GCM under `~/.moxxy/vault.json`, unlocked via the
|
|
5
|
+
* OS keychain) is a good design for one machine and unusable for a fleet: there
|
|
6
|
+
* is no central issuance, no rotation, and no way to revoke a single
|
|
7
|
+
* workstation. Every organisation already runs something that does those three
|
|
8
|
+
* things, so the answer is to let them plug it in rather than to reimplement it.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately ONE block rather than two. A host-scoped credential (a token for
|
|
11
|
+
* an internal registry or a GitHub Enterprise host) is a named secret with a
|
|
12
|
+
* naming convention on top; splitting it into a second `CredentialProvider`
|
|
13
|
+
* registry would leave two overlapping abstractions to keep in sync for no
|
|
14
|
+
* gain.
|
|
15
|
+
*/
|
|
16
|
+
/** Freeze a secret-provider spec, mirroring the other `defineX` factories. */
|
|
17
|
+
export function defineSecretProvider(def) {
|
|
18
|
+
return Object.freeze({ ...def });
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The canonical secret name holding a credential for `host`.
|
|
22
|
+
*
|
|
23
|
+
* A host credential is a named secret plus a convention, which is exactly why
|
|
24
|
+
* there is no separate `CredentialProvider` registry: whatever store an
|
|
25
|
+
* organisation already plugged in for secrets serves these too.
|
|
26
|
+
*
|
|
27
|
+
* `github.example.com` becomes `MOXXY_CREDENTIAL_GITHUB_EXAMPLE_COM`. The
|
|
28
|
+
* derivation mirrors the provider-key convention (upper-snake, non-alphanumerics
|
|
29
|
+
* to `_`) so an operator who has seen one can predict the other, and a port is
|
|
30
|
+
* dropped because a credential belongs to the host, not to a socket.
|
|
31
|
+
*
|
|
32
|
+
* Accepts a bare host or a full URL; anything unparseable yields null rather
|
|
33
|
+
* than a name derived from garbage, so a caller cannot accidentally look up a
|
|
34
|
+
* secret keyed on a typo.
|
|
35
|
+
*/
|
|
36
|
+
export function hostCredentialName(hostOrUrl) {
|
|
37
|
+
const raw = hostOrUrl.trim();
|
|
38
|
+
if (raw.length === 0)
|
|
39
|
+
return null;
|
|
40
|
+
let host = raw;
|
|
41
|
+
if (raw.includes('://')) {
|
|
42
|
+
try {
|
|
43
|
+
host = new URL(raw).hostname;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Strip a port or a path if the caller passed `host:443/x`.
|
|
51
|
+
host = raw.split('/')[0].split(':')[0];
|
|
52
|
+
}
|
|
53
|
+
host = host.replace(/^\[|\]$/g, '').trim();
|
|
54
|
+
if (host.length === 0 || /\s/.test(host))
|
|
55
|
+
return null;
|
|
56
|
+
const slug = host.toUpperCase().replace(/[^A-Z0-9]+/g, '_').replace(/^_+|_+$/g, '');
|
|
57
|
+
return slug.length > 0 ? `MOXXY_CREDENTIAL_${slug}` : null;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=secret-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-provider.js","sourceRoot":"","sources":["../src/secret-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4DAA4D;QAC5D,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3C,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
* on the main barrel because types are erased at build time and never reach a
|
|
15
15
|
* bundle.
|
|
16
16
|
*/
|
|
17
|
-
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, } from './fs-utils.js';
|
|
17
|
+
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, ensurePrivateDir, ensurePrivateFile, pruneStaleTempFiles, PRIVATE_DIR_MODE, PRIVATE_FILE_MODE, } from './fs-utils.js';
|
|
18
|
+
export { resolveOsPrincipal } from './principal-os.js';
|
|
19
|
+
export { installEgressProxy, readProxyEnv, parseNoProxy, shouldBypassProxy, redactProxyUrl, hasProxy, } from './egress.js';
|
|
18
20
|
export { CrossProcessFireLock } from './cross-process-lock.js';
|
|
19
21
|
export { readRequestBody, bearerTokenMatches } from './http-utils.js';
|
|
20
22
|
export { channelStatusPath, writeChannelStatus, readChannelStatus, clearChannelStatus, } from './channel-status.js';
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,SAAS,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,QAAQ,GACT,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAItE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
* on the main barrel because types are erased at build time and never reach a
|
|
15
15
|
* bundle.
|
|
16
16
|
*/
|
|
17
|
-
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, } from './fs-utils.js';
|
|
17
|
+
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, ensurePrivateDir, ensurePrivateFile, pruneStaleTempFiles, PRIVATE_DIR_MODE, PRIVATE_FILE_MODE, } from './fs-utils.js';
|
|
18
|
+
// The local OS account as a Principal (node:os). The type and its pure helpers
|
|
19
|
+
// ride the main barrel.
|
|
20
|
+
export { resolveOsPrincipal } from './principal-os.js';
|
|
21
|
+
// Outbound proxy support for global `fetch` (dynamic `undici` import). Node-only.
|
|
22
|
+
export { installEgressProxy, readProxyEnv, parseNoProxy, shouldBypassProxy, redactProxyUrl, hasProxy, } from './egress.js';
|
|
18
23
|
// Cross-process "fire exactly once" lock (node:fs). Value lives here; its
|
|
19
24
|
// options type is re-exported from the main barrel like other erased types.
|
|
20
25
|
export { CrossProcessFireLock } from './cross-process-lock.js';
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,SAAS,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,+EAA+E;AAC/E,wBAAwB;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,kFAAkF;AAClF,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,0EAA0E;AAC1E,4EAA4E;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,gFAAgF;AAChF,gFAAgF;AAChF,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
|
package/dist/session-like.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { ApprovalResolver, ModeBadge } from './mode.js';
|
|
|
6
6
|
import type { PermissionResolver } from './permission.js';
|
|
7
7
|
import type { ModelDescriptor, ProviderKeyValidation } from './provider.js';
|
|
8
8
|
import type { PluginSetupSpec } from './schemas.js';
|
|
9
|
+
import type { ToolIcon } from './tool-icon.js';
|
|
9
10
|
import type { ToolCompactPresentation } from './tool.js';
|
|
10
11
|
/**
|
|
11
12
|
* Options accepted by `SessionLike.runTurn`. Defined here (rather than in
|
|
@@ -75,6 +76,8 @@ export interface ToolInfo {
|
|
|
75
76
|
readonly description: string;
|
|
76
77
|
/** Compact presentation hint (plain data - crosses the wire intact). */
|
|
77
78
|
readonly compact?: ToolCompactPresentation;
|
|
79
|
+
/** Declared icon, so a surface renders the tool's own choice, not a guess. */
|
|
80
|
+
readonly icon?: ToolIcon;
|
|
78
81
|
}
|
|
79
82
|
/** Serializable skill metadata. */
|
|
80
83
|
export interface SkillInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-like.d.ts","sourceRoot":"","sources":["../src/session-like.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-like.d.ts","sourceRoot":"","sources":["../src/session-like.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ed25519 detached-signature verification over exact bytes.
|
|
3
|
+
*
|
|
4
|
+
* Lives in the SDK rather than beside its first caller because two different
|
|
5
|
+
* things now depend on it, and one of them is policy. Policy has to bind on a
|
|
6
|
+
* machine with no plugins installed at all, so the verifier it uses cannot sit
|
|
7
|
+
* inside a plugin: a control that a user can disable by uninstalling something
|
|
8
|
+
* is not a control.
|
|
9
|
+
*
|
|
10
|
+
* Verifies over the bytes as received, never over a re-serialisation of the
|
|
11
|
+
* parsed object. Canonicalising first would let two different documents share a
|
|
12
|
+
* signature whenever the parser and the serialiser disagree about anything,
|
|
13
|
+
* which is how signature-verification bypasses usually happen.
|
|
14
|
+
*
|
|
15
|
+
* Returns false rather than throwing on a malformed key or signature: to a
|
|
16
|
+
* caller "this did not verify" and "this could not be parsed" warrant the same
|
|
17
|
+
* response, and a throw here would tempt a try/catch that swallows both into a
|
|
18
|
+
* success path.
|
|
19
|
+
*/
|
|
20
|
+
export declare function verifyEd25519(bytes: Uint8Array, signatureB64: string, publicKeyPem: string): boolean;
|
|
21
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAQT"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createPublicKey, verify as cryptoVerify } from 'node:crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Ed25519 detached-signature verification over exact bytes.
|
|
4
|
+
*
|
|
5
|
+
* Lives in the SDK rather than beside its first caller because two different
|
|
6
|
+
* things now depend on it, and one of them is policy. Policy has to bind on a
|
|
7
|
+
* machine with no plugins installed at all, so the verifier it uses cannot sit
|
|
8
|
+
* inside a plugin: a control that a user can disable by uninstalling something
|
|
9
|
+
* is not a control.
|
|
10
|
+
*
|
|
11
|
+
* Verifies over the bytes as received, never over a re-serialisation of the
|
|
12
|
+
* parsed object. Canonicalising first would let two different documents share a
|
|
13
|
+
* signature whenever the parser and the serialiser disagree about anything,
|
|
14
|
+
* which is how signature-verification bypasses usually happen.
|
|
15
|
+
*
|
|
16
|
+
* Returns false rather than throwing on a malformed key or signature: to a
|
|
17
|
+
* caller "this did not verify" and "this could not be parsed" warrant the same
|
|
18
|
+
* response, and a throw here would tempt a try/catch that swallows both into a
|
|
19
|
+
* success path.
|
|
20
|
+
*/
|
|
21
|
+
export function verifyEd25519(bytes, signatureB64, publicKeyPem) {
|
|
22
|
+
if (!publicKeyPem || !signatureB64)
|
|
23
|
+
return false;
|
|
24
|
+
try {
|
|
25
|
+
const key = createPublicKey(publicKeyPem);
|
|
26
|
+
return cryptoVerify(null, Buffer.from(bytes), key, Buffer.from(signatureB64, 'base64'));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAiB,EACjB,YAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a tool looks like, as a semantic name rather than a glyph.
|
|
3
|
+
*
|
|
4
|
+
* A CLOSED vocabulary on purpose. Surfaces render wildly differently: the
|
|
5
|
+
* desktop draws SVG, the TUI prints a character, a future web surface might do
|
|
6
|
+
* something else again. If this were a free string, a plugin could name an icon
|
|
7
|
+
* no surface owns and every surface would have to guess, so in practice
|
|
8
|
+
* everything would fall back and the field would be decorative. A fixed set
|
|
9
|
+
* means each surface maps it exhaustively and a plugin's choice actually
|
|
10
|
+
* survives to the screen.
|
|
11
|
+
*
|
|
12
|
+
* The names describe WHAT THE TOOL TOUCHES, not what it looks like, so a
|
|
13
|
+
* surface is free to change its artwork without every plugin becoming wrong.
|
|
14
|
+
*
|
|
15
|
+
* Adding a member is a breaking change for surfaces (their maps stop being
|
|
16
|
+
* exhaustive and stop compiling), which is the intended cost: a new icon should
|
|
17
|
+
* be a deliberate decision across surfaces, not a silent fallback to a wrench.
|
|
18
|
+
*/
|
|
19
|
+
export declare const TOOL_ICONS: readonly ["file", "folder", "search", "edit", "diff", "terminal", "globe", "chat", "workflow", "agent", "settings", "lock", "plug", "mic", "speaker", "smartphone", "workspace", "clipboard", "spark", "wrench"];
|
|
20
|
+
export type ToolIcon = (typeof TOOL_ICONS)[number];
|
|
21
|
+
export declare function isToolIcon(value: unknown): value is ToolIcon;
|
|
22
|
+
//# sourceMappingURL=tool-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-icon.d.ts","sourceRoot":"","sources":["../src/tool-icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,kNAqBb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D"}
|