@oneie/sdk 0.15.0 → 0.16.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 +2 -0
- package/dist/billing.d.ts +53 -0
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +36 -0
- package/dist/billing.js.map +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +7 -1
- package/dist/blocks.js.map +1 -1
- package/dist/client.d.ts +32 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +44 -0
- package/dist/client.js.map +1 -1
- package/dist/fn-allowlist.d.ts +1 -1
- package/dist/fn-allowlist.d.ts.map +1 -1
- package/dist/fn-allowlist.js +30 -0
- package/dist/fn-allowlist.js.map +1 -1
- package/dist/generated/fn-map.d.ts +2 -2
- package/dist/generated/fn-map.d.ts.map +1 -1
- package/dist/generated/fn-map.js +22 -4
- package/dist/generated/fn-map.js.map +1 -1
- package/dist/generated/schemas/index.d.ts +7 -7
- package/dist/generated/schemas.d.ts +4 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/media.d.ts +29 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +127 -0
- package/dist/media.js.map +1 -0
- package/dist/receivers.d.ts +512 -4
- package/dist/receivers.d.ts.map +1 -1
- package/dist/receivers.js +738 -7
- package/dist/receivers.js.map +1 -1
- package/dist/schemas.d.ts +2 -2
- package/dist/vault-file.d.ts +61 -0
- package/dist/vault-file.d.ts.map +1 -0
- package/dist/vault-file.js +127 -0
- package/dist/vault-file.js.map +1 -0
- package/dist/work-contract-grammar.json +16 -0
- package/package.json +9 -1
- package/dist/.build-fingerprint +0 -1
package/dist/schemas.d.ts
CHANGED
|
@@ -233,8 +233,8 @@ export declare const AgentDefinitionSchema: z.ZodObject<{
|
|
|
233
233
|
export type AgentDefinition = z.infer<typeof AgentDefinitionSchema>;
|
|
234
234
|
export declare function priceToAccepts(price: number, network?: string, asset?: string): Accept[];
|
|
235
235
|
export declare const StepKind: z.ZodEnum<{
|
|
236
|
-
human: "human";
|
|
237
236
|
agent: "agent";
|
|
237
|
+
human: "human";
|
|
238
238
|
skill: "skill";
|
|
239
239
|
trigger: "trigger";
|
|
240
240
|
tool: "tool";
|
|
@@ -247,8 +247,8 @@ export declare const WorkflowDiffSchema: z.ZodObject<{
|
|
|
247
247
|
add: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
248
248
|
tempId: z.ZodString;
|
|
249
249
|
kind: z.ZodEnum<{
|
|
250
|
-
human: "human";
|
|
251
250
|
agent: "agent";
|
|
251
|
+
human: "human";
|
|
252
252
|
skill: "skill";
|
|
253
253
|
trigger: "trigger";
|
|
254
254
|
tool: "tool";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** Sealed envelope. Everything outside `ct` is cleartext and authenticated. */
|
|
2
|
+
export interface VaultBlob {
|
|
3
|
+
/** Format version. Bound as AAD. */
|
|
4
|
+
v: 1;
|
|
5
|
+
/**
|
|
6
|
+
* HOW this copy was sealed, so a reader knows what to ask for before it asks.
|
|
7
|
+
* `passphrase` — a human types it. `keychain` — the passphrase is a random
|
|
8
|
+
* secret held by the OS keystore and released by biometrics.
|
|
9
|
+
*
|
|
10
|
+
* WITHOUT THIS FIELD a keychain-sealed vault is indistinguishable from a
|
|
11
|
+
* passphrase one, and the only way to find out is to prompt for a passphrase
|
|
12
|
+
* that was never set. Bound as AAD so it cannot be flipped to downgrade a
|
|
13
|
+
* biometric vault into one that accepts a typed guess.
|
|
14
|
+
*/
|
|
15
|
+
wrap: 'passphrase' | 'keychain';
|
|
16
|
+
kdf: {
|
|
17
|
+
name: 'argon2id';
|
|
18
|
+
/** Iterations. */
|
|
19
|
+
t: number;
|
|
20
|
+
/** Memory cost in KIBIBYTES — 65536 is 64 MiB. Not bytes, not MiB. */
|
|
21
|
+
m: number;
|
|
22
|
+
/** Parallelism. */
|
|
23
|
+
p: number;
|
|
24
|
+
/** base64url, 16 bytes. */
|
|
25
|
+
salt: string;
|
|
26
|
+
};
|
|
27
|
+
/** base64url, 12 bytes — AES-GCM's required nonce length. */
|
|
28
|
+
iv: string;
|
|
29
|
+
/** base64url ciphertext ‖ tag. */
|
|
30
|
+
ct: string;
|
|
31
|
+
/**
|
|
32
|
+
* The wallet's public identity, CLEARTEXT on purpose: it lets a tool say WHOSE
|
|
33
|
+
* vault this is, and list or match it, without anyone unlocking anything.
|
|
34
|
+
* A public value, never key material.
|
|
35
|
+
*/
|
|
36
|
+
authPub?: string;
|
|
37
|
+
}
|
|
38
|
+
/** RFC 9106's recommended second option, and the security floor for this file. */
|
|
39
|
+
export declare const KDF_DEFAULTS: {
|
|
40
|
+
readonly t: 3;
|
|
41
|
+
readonly m: 65536;
|
|
42
|
+
readonly p: 1;
|
|
43
|
+
};
|
|
44
|
+
export interface SealOpts {
|
|
45
|
+
wrap?: VaultBlob['wrap'];
|
|
46
|
+
authPub?: string;
|
|
47
|
+
/** Override the KDF cost. Lower values are for TESTS ONLY. */
|
|
48
|
+
kdf?: Partial<typeof KDF_DEFAULTS>;
|
|
49
|
+
}
|
|
50
|
+
/** Seal `secret` (the 24-word mnemonic) under `passphrase`. */
|
|
51
|
+
export declare function sealVault(secret: string, passphrase: string, opts?: SealOpts): Promise<VaultBlob>;
|
|
52
|
+
/**
|
|
53
|
+
* Open a sealed vault. Throws on a wrong passphrase, a tampered header, or an
|
|
54
|
+
* unsupported version — never returns a partial or a guess.
|
|
55
|
+
*/
|
|
56
|
+
export declare function openVault(blob: VaultBlob, passphrase: string): Promise<string>;
|
|
57
|
+
/** True when this blob expects a biometric/keystore secret rather than a typed one. */
|
|
58
|
+
export declare function isKeychainWrapped(blob: VaultBlob): boolean;
|
|
59
|
+
/** A random passphrase for the `keychain` wrap — never shown, never typed. */
|
|
60
|
+
export declare function mintKeychainSecret(): string;
|
|
61
|
+
//# sourceMappingURL=vault-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-file.d.ts","sourceRoot":"","sources":["../src/vault-file.ts"],"names":[],"mappings":"AA+BA,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,CAAC,EAAE,CAAC,CAAA;IACJ;;;;;;;;;OASG;IACH,IAAI,EAAE,YAAY,GAAG,UAAU,CAAA;IAC/B,GAAG,EAAE;QACH,IAAI,EAAE,UAAU,CAAA;QAChB,kBAAkB;QAClB,CAAC,EAAE,MAAM,CAAA;QACT,sEAAsE;QACtE,CAAC,EAAE,MAAM,CAAA;QACT,mBAAmB;QACnB,CAAC,EAAE,MAAM,CAAA;QACT,2BAA2B;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kFAAkF;AAClF,eAAO,MAAM,YAAY;;;;CAAqC,CAAA;AA4C9D,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,CAAC,CAAA;CACnC;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAqBpB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBpF;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vault-file.ts — seal a 24-word mnemonic at rest, open it with a passphrase.
|
|
3
|
+
*
|
|
4
|
+
* *** CLIENT-ONLY BY CONSTRUCTION. DO NOT IMPORT THIS FROM A WORKER. ***
|
|
5
|
+
* Argon2id at 64 MiB is the whole point of the file and is larger than a
|
|
6
|
+
* Cloudflare Worker's entire 128 MB isolate — `openVault` there does not run
|
|
7
|
+
* slowly, it OOMs. `packages/sdk` is imported by `one.ie/web` and `channels`,
|
|
8
|
+
* both workerd, so this lives behind its own `@oneie/sdk/vault-file` subpath and
|
|
9
|
+
* nothing server-side may reach for it. Same rule, same reason, as the barrel
|
|
10
|
+
* note at the top of `wallet.ts`.
|
|
11
|
+
*
|
|
12
|
+
* WHY ARGON2id AND NOT HKDF. Everything else in this repo derives from
|
|
13
|
+
* high-entropy input — a passkey PRF output, BIP-39 entropy — where HKDF is
|
|
14
|
+
* exactly right. A passphrase is the opposite: low entropy, guessable, and the
|
|
15
|
+
* attacker has the file. HKDF has NO work factor, so sealing a wallet with it
|
|
16
|
+
* would make an offline dictionary attack as fast as the hash. The work factor
|
|
17
|
+
* IS the security here; the salt only stops one table serving every user.
|
|
18
|
+
*
|
|
19
|
+
* WHY THE PARAMS ARE AUTHENTICATED. `kdf` travels in cleartext so the file can
|
|
20
|
+
* be opened on a machine that has never seen it. That makes it attacker-editable,
|
|
21
|
+
* so it is bound as AEAD associated data: rewrite `t:3` to `t:1` hoping for a
|
|
22
|
+
* cheaper crack and the tag check fails instead of quietly handing back a weaker
|
|
23
|
+
* derivation. The version and `wrap` ride the same AAD for the same reason.
|
|
24
|
+
*
|
|
25
|
+
* WHAT THIS DOES NOT DEFEND. Code running in this process. An encrypted file is
|
|
26
|
+
* worth nothing against a malicious dependency that reads the mnemonic after
|
|
27
|
+
* `openVault` returns it — encryption at rest defends against a stolen disk, not
|
|
28
|
+
* against a hostile neighbour in the same address space.
|
|
29
|
+
*/
|
|
30
|
+
import { argon2id } from '@noble/hashes/argon2.js';
|
|
31
|
+
/** RFC 9106's recommended second option, and the security floor for this file. */
|
|
32
|
+
export const KDF_DEFAULTS = { t: 3, m: 65_536, p: 1 };
|
|
33
|
+
const enc = new TextEncoder();
|
|
34
|
+
const dec = new TextDecoder();
|
|
35
|
+
function b64u(bytes) {
|
|
36
|
+
let s = '';
|
|
37
|
+
for (let i = 0; i < bytes.length; i++)
|
|
38
|
+
s += String.fromCharCode(bytes[i]);
|
|
39
|
+
return btoa(s).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
40
|
+
}
|
|
41
|
+
function unb64u(s) {
|
|
42
|
+
const b = atob(s.replace(/-/g, '+').replace(/_/g, '/'));
|
|
43
|
+
const out = new Uint8Array(b.length);
|
|
44
|
+
for (let i = 0; i < b.length; i++)
|
|
45
|
+
out[i] = b.charCodeAt(i);
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The bytes bound as AEAD associated data.
|
|
50
|
+
*
|
|
51
|
+
* Serialised with an EXPLICIT key order rather than `JSON.stringify(header)`:
|
|
52
|
+
* object key order is an implementation detail, and if it ever differed between
|
|
53
|
+
* seal and open every vault would fail to decrypt with a tag error that looks
|
|
54
|
+
* like corruption. Naming the order makes the AAD a stable contract.
|
|
55
|
+
*/
|
|
56
|
+
function aad(blob) {
|
|
57
|
+
const k = blob.kdf;
|
|
58
|
+
return enc.encode(JSON.stringify([blob.v, blob.wrap, k.name, k.t, k.m, k.p, k.salt, blob.authPub ?? '']));
|
|
59
|
+
}
|
|
60
|
+
async function aesKey(passphrase, salt, kdf) {
|
|
61
|
+
// argon2id's `m` is KIBIBYTES. Passing 64 here instead of 65536 silently
|
|
62
|
+
// derives with 64 KiB — a work factor 1000x too small, and everything still
|
|
63
|
+
// "works", which is why the unit is named in the type above.
|
|
64
|
+
const raw = argon2id(enc.encode(passphrase), salt, { t: kdf.t, m: kdf.m, p: kdf.p, dkLen: 32 });
|
|
65
|
+
return crypto.subtle.importKey('raw', raw, { name: 'AES-GCM' }, false, [
|
|
66
|
+
'encrypt',
|
|
67
|
+
'decrypt',
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
/** Seal `secret` (the 24-word mnemonic) under `passphrase`. */
|
|
71
|
+
export async function sealVault(secret, passphrase, opts = {}) {
|
|
72
|
+
if (!secret)
|
|
73
|
+
throw new Error('vault: refusing to seal an empty secret');
|
|
74
|
+
if (!passphrase)
|
|
75
|
+
throw new Error('vault: refusing to seal with an empty passphrase');
|
|
76
|
+
const salt = crypto.getRandomValues(new Uint8Array(16));
|
|
77
|
+
const iv = crypto.getRandomValues(new Uint8Array(12));
|
|
78
|
+
const kdf = {
|
|
79
|
+
name: 'argon2id',
|
|
80
|
+
t: opts.kdf?.t ?? KDF_DEFAULTS.t,
|
|
81
|
+
m: opts.kdf?.m ?? KDF_DEFAULTS.m,
|
|
82
|
+
p: opts.kdf?.p ?? KDF_DEFAULTS.p,
|
|
83
|
+
salt: b64u(salt),
|
|
84
|
+
};
|
|
85
|
+
const header = { v: 1, wrap: opts.wrap ?? 'passphrase', kdf, authPub: opts.authPub };
|
|
86
|
+
const key = await aesKey(passphrase, salt, kdf);
|
|
87
|
+
const ct = await crypto.subtle.encrypt({ name: 'AES-GCM', iv: iv, additionalData: aad(header) }, key, enc.encode(secret));
|
|
88
|
+
return { ...header, iv: b64u(iv), ct: b64u(new Uint8Array(ct)) };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Open a sealed vault. Throws on a wrong passphrase, a tampered header, or an
|
|
92
|
+
* unsupported version — never returns a partial or a guess.
|
|
93
|
+
*/
|
|
94
|
+
export async function openVault(blob, passphrase) {
|
|
95
|
+
if (blob?.v !== 1)
|
|
96
|
+
throw new Error(`vault: unsupported version ${String(blob?.v)}`);
|
|
97
|
+
if (blob.kdf?.name !== 'argon2id')
|
|
98
|
+
throw new Error(`vault: unsupported kdf ${String(blob.kdf?.name)}`);
|
|
99
|
+
if (!passphrase)
|
|
100
|
+
throw new Error('vault: passphrase required');
|
|
101
|
+
const key = await aesKey(passphrase, unb64u(blob.kdf.salt), blob.kdf);
|
|
102
|
+
let plain;
|
|
103
|
+
try {
|
|
104
|
+
plain = await crypto.subtle.decrypt({
|
|
105
|
+
name: 'AES-GCM',
|
|
106
|
+
iv: unb64u(blob.iv),
|
|
107
|
+
additionalData: aad(blob),
|
|
108
|
+
}, key, unb64u(blob.ct));
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// One message for a wrong passphrase AND a tampered header, deliberately:
|
|
112
|
+
// distinguishing them tells an attacker editing the file which edits the tag
|
|
113
|
+
// is catching, and the user's next action ("check the passphrase") is the
|
|
114
|
+
// same either way.
|
|
115
|
+
throw new Error('vault: could not open — wrong passphrase, or the file has been altered');
|
|
116
|
+
}
|
|
117
|
+
return dec.decode(plain);
|
|
118
|
+
}
|
|
119
|
+
/** True when this blob expects a biometric/keystore secret rather than a typed one. */
|
|
120
|
+
export function isKeychainWrapped(blob) {
|
|
121
|
+
return blob.wrap === 'keychain';
|
|
122
|
+
}
|
|
123
|
+
/** A random passphrase for the `keychain` wrap — never shown, never typed. */
|
|
124
|
+
export function mintKeychainSecret() {
|
|
125
|
+
return b64u(crypto.getRandomValues(new Uint8Array(32)));
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=vault-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-file.js","sourceRoot":"","sources":["../src/vault-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -251,6 +251,13 @@
|
|
|
251
251
|
"deploy:event",
|
|
252
252
|
"do:halt",
|
|
253
253
|
"domain:set",
|
|
254
|
+
"duty:amend",
|
|
255
|
+
"duty:breach",
|
|
256
|
+
"duty:evidence",
|
|
257
|
+
"duty:get",
|
|
258
|
+
"duty:make",
|
|
259
|
+
"ehc:meal-served",
|
|
260
|
+
"ehc:voice-record",
|
|
254
261
|
"entity:connect",
|
|
255
262
|
"entity:meta",
|
|
256
263
|
"entity:participant",
|
|
@@ -310,6 +317,9 @@
|
|
|
310
317
|
"market:search",
|
|
311
318
|
"market:settle",
|
|
312
319
|
"market:verify",
|
|
320
|
+
"media:generate",
|
|
321
|
+
"media:list",
|
|
322
|
+
"media:upload",
|
|
313
323
|
"message:send",
|
|
314
324
|
"meta:catalog",
|
|
315
325
|
"meta:entitlements",
|
|
@@ -327,7 +337,9 @@
|
|
|
327
337
|
"order:claim",
|
|
328
338
|
"order:install",
|
|
329
339
|
"orders:status",
|
|
340
|
+
"pages:bulk",
|
|
330
341
|
"pages:create",
|
|
342
|
+
"pages:delete",
|
|
331
343
|
"pages:edit",
|
|
332
344
|
"pages:fill-pack",
|
|
333
345
|
"pages:fill-pack-extract",
|
|
@@ -335,6 +347,7 @@
|
|
|
335
347
|
"pages:publish",
|
|
336
348
|
"pages:publish-pack",
|
|
337
349
|
"pages:restore",
|
|
350
|
+
"pages:unpublish",
|
|
338
351
|
"pages:versions",
|
|
339
352
|
"pages:view",
|
|
340
353
|
"pay:weight",
|
|
@@ -391,6 +404,8 @@
|
|
|
391
404
|
"story:event",
|
|
392
405
|
"subscriptions:register",
|
|
393
406
|
"tasks:announce",
|
|
407
|
+
"tasks:board",
|
|
408
|
+
"tasks:bulk",
|
|
394
409
|
"tasks:claim",
|
|
395
410
|
"tasks:comment",
|
|
396
411
|
"tasks:create",
|
|
@@ -418,6 +433,7 @@
|
|
|
418
433
|
"thread:append",
|
|
419
434
|
"tools:composio",
|
|
420
435
|
"tools:connect",
|
|
436
|
+
"ui:navigate",
|
|
421
437
|
"variants:archive",
|
|
422
438
|
"variants:create",
|
|
423
439
|
"variants:list",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneie/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "ONE substrate SDK — signals, units, persist, launch handoff.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js"
|
|
12
12
|
},
|
|
13
|
+
"./vault-file": {
|
|
14
|
+
"types": "./dist/vault-file.d.ts",
|
|
15
|
+
"import": "./dist/vault-file.js"
|
|
16
|
+
},
|
|
13
17
|
"./urls": "./dist/urls.js",
|
|
14
18
|
"./storage": "./dist/storage.js",
|
|
15
19
|
"./handoff": "./dist/handoff.js",
|
|
@@ -87,6 +91,10 @@
|
|
|
87
91
|
"types": "./dist/billing.d.ts",
|
|
88
92
|
"import": "./dist/billing.js"
|
|
89
93
|
},
|
|
94
|
+
"./tasks-bulk": {
|
|
95
|
+
"types": "./dist/tasks-bulk.d.ts",
|
|
96
|
+
"import": "./dist/tasks-bulk.js"
|
|
97
|
+
},
|
|
90
98
|
"./fn-allowlist": {
|
|
91
99
|
"types": "./dist/fn-allowlist.d.ts",
|
|
92
100
|
"import": "./dist/fn-allowlist.js"
|
package/dist/.build-fingerprint
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a9009911199e3ad3f9e9329f04fb36d2e1998c8b5d310a55ffaf303300e81e20
|