@agentvault/agentvault 0.9.6 → 0.9.8
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/__tests__/crypto-helpers.test.d.ts +2 -0
- package/dist/__tests__/crypto-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/functional.test.d.ts +21 -0
- package/dist/__tests__/functional.test.d.ts.map +1 -0
- package/dist/__tests__/multi-session.test.d.ts +2 -0
- package/dist/__tests__/multi-session.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.d.ts +2 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/transport.test.d.ts +2 -0
- package/dist/__tests__/transport.test.d.ts.map +1 -0
- package/dist/channel.d.ts +4 -0
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +2257 -0
- package/dist/channel.js.map +1 -0
- package/dist/cli.js +313 -35
- package/dist/cli.js.map +4 -4
- package/dist/crypto-helpers.js +4 -0
- package/dist/crypto-helpers.js.map +1 -0
- package/dist/index.js +274 -19
- package/dist/index.js.map +4 -4
- package/dist/openclaw-plugin.js +222 -0
- package/dist/openclaw-plugin.js.map +1 -0
- package/dist/setup.js +329 -0
- package/dist/setup.js.map +1 -0
- package/dist/state.js +61 -0
- package/dist/state.js.map +1 -0
- package/dist/transport.js +43 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -9,10 +9,10 @@ var __export = (target, all) => {
|
|
|
9
9
|
__defProp(target, name2, { get: all[name2], enumerable: true });
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
//
|
|
13
|
-
var __filename, __dirname, url, path, Module, Module, root, window_, crypto_, randomValuesStandard,
|
|
12
|
+
// ../../node_modules/libsodium-sumo/dist/modules-sumo-esm/libsodium-sumo.mjs
|
|
13
|
+
var __filename, __dirname, url, path, Module, Module, root, window_, crypto_, randomValuesStandard, crypto2, randomValueNodeJS, _Module, libsodium_sumo_default;
|
|
14
14
|
var init_libsodium_sumo = __esm({
|
|
15
|
-
async "
|
|
15
|
+
async "../../node_modules/libsodium-sumo/dist/modules-sumo-esm/libsodium-sumo.mjs"() {
|
|
16
16
|
try {
|
|
17
17
|
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
18
18
|
url = await import("url");
|
|
@@ -74,9 +74,9 @@ var init_libsodium_sumo = __esm({
|
|
|
74
74
|
Module.getRandomValue = randomValuesStandard;
|
|
75
75
|
} catch (e) {
|
|
76
76
|
try {
|
|
77
|
-
|
|
77
|
+
crypto2 = null;
|
|
78
78
|
randomValueNodeJS = function() {
|
|
79
|
-
var buf =
|
|
79
|
+
var buf = crypto2["randomBytes"](4);
|
|
80
80
|
return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0;
|
|
81
81
|
};
|
|
82
82
|
randomValueNodeJS();
|
|
@@ -210,7 +210,7 @@ var init_libsodium_sumo = __esm({
|
|
|
210
210
|
}, Module: function(binary) {
|
|
211
211
|
}, Instance: function(module2, info) {
|
|
212
212
|
this.exports = // EMSCRIPTEN_START_ASM
|
|
213
|
-
function instantiate(ea2) {
|
|
213
|
+
(function instantiate(ea2) {
|
|
214
214
|
var a2;
|
|
215
215
|
var b2 = new Uint8Array(123);
|
|
216
216
|
for (var c2 = 25; c2 >= 0; --c2) {
|
|
@@ -40005,7 +40005,7 @@ var init_libsodium_sumo = __esm({
|
|
|
40005
40005
|
} } }), f: yi, g: ma2, h: Ba2, i: ma2, j: ka2, k: Le2, l: Je2, m: zg, n: yg, o: xg, p: wg, q: ka2, r: Ba2, s: ka2, t: ka2, u: Le2, v: ra2, w: vg, x: ug, y: tg, z: sg, A: Ba2, B: rg, C: qg, D: pg, E: ng, F: mg, G: lg, H: kg, I: jg, J: ka2, K: Ce2, L: Ba2, M: ma2, N: Ta2, O: ra2, P: ka2, Q: Oa2, R: Ba2, S: ma2, T: Ta2, U: ra2, V: ig, W: hg, X: gg, Y: fg, Z: ka2, _: Ma2, $: Ba2, aa: ma2, ba: Ta2, ca: ra2, da: ka2, ea: ka2, fa: Kg, ga: wd, ha: vd, ia: ra2, ja: ka2, ka: ka2, la: Cb, ma: ra2, na: Xa2, oa: eg, pa: qb, qa: dg, ra: cg, sa: ua2, ta: ka2, ua: Dc, va: ra2, wa: Va2, xa: ud, ya: Ya2, za: bg, Aa: ag, Ba: ka2, Ca: ka2, Da: Dc, Ea: ra2, Fa: ze2, Ga: ud, Ha: Ng, Ia: wd, Ja: vd, Ka: ka2, La: ka2, Ma: ka2, Na: ka2, Oa: Ma2, Pa: ka2, Qa: ma2, Ra: ma2, Sa: Ta2, Ta: dh2, Ua: ch, Va: bh, Wa: ah, Xa: Lb, Ya: Kb, Za: td, _a: sd, $a: rd, ab: $f, bb: _f, cb: Zf, db: qd, eb: Yf, fb: pd, gb: Xf, hb: Wf, ib: Uf, jb: Md, kb: tc, lb: nb, mb, nb: Lb, ob: Kb, pb: td, qb: sd, rb: ka2, sb: ka2, tb: ka2, ub: ka2, vb: Ma2, wb: ka2, xb: ma2, yb: ma2, zb: Ta2, Ab: Aa2, Bb: ka2, Cb: ma2, Db: ka2, Eb: ma2, Fb: Sa2, Gb: ka2, Hb: ma2, Ib: ka2, Jb: ma2, Kb: vb, Lb: ua2, Mb: ma2, Nb: ka2, Ob: ma2, Pb: ub, Qb: ua2, Rb: ma2, Sb: ka2, Tb: ma2, Ub: tb, Vb: ua2, Wb: ma2, Xb: ka2, Yb: ma2, Zb: ma2, _b: ua2, $b: ka2, ac: ma2, bc: ua2, cc: ka2, dc: Nd, ec: pe2, fc: od, gc: fh, hc: nd, ic: eh, jc: ra2, kc: ma2, lc: ua2, mc: ka2, nc: ma2, oc: ua2, pc: ka2, qc: ma2, rc: ma2, sc: pe2, tc: ra2, uc: od, vc: Tf, wc: Ja2, xc: xh, yc: nd, zc: Ia2, Ac: ua2, Bc: md, Cc: Lg, Dc: ka2, Ec: Ag, Fc: Ub, Gc: Sf, Hc: Ua2, Ic: Rf, Jc: ua2, Kc: Cb, Lc: Za2, Mc: ic, Nc: Ca2, Oc: md, Pc: ma2, Qc: ua2, Rc: Oa2, Sc: ka2, Tc: ld, Uc: Nd, Vc: ma2, Wc: ua2, Xc: Oa2, Yc: ka2, Zc: ld, _c: ra2, $c: Gh, ad: Fh, bd: Eh, cd: Dh, dd: ra2, ed: Ch, fd: ka2, gd: Ba2, hd: Bh, id: Cb, jd: ze2, kd: hi, ld: gi, md: fi, nd: ei, od: di, pd: ua2, qd: Ba2, rd: ci, sd: Dc, td: Gg, ud: nb, vd: Fg, wd: Eg, xd: ka2, yd: ka2, zd: ka2, Ad: ka2, Bd: Dg, Cd: Rc, Dd: ma2, Ed: ka2, Fd: kd, Gd: jd, Hd: Sg, Id: id, Jd: Rg, Kd: Qg, Ld: ra2, Md: kd, Nd: jd, Od: Ga2, Pd: id, Qd: Fa2, Rd: ma2, Sd: ka2, Td: Rc, Ud: ra2, Vd: Db, Wd: ma2, Xd: wa2, Yd: Ba2, Zd: wa2, _d: ma2, $d: yc, ae: wh, be: Vb, ce: wa2, de: xc, ee: wc, fe: vc, ge: me2, he: vh, ie: uh, je: Oa2, ke: th, le: Pf, me: Of, ne: Nf, oe: Mf, pe: Lf, qe: fb, re: ma2, se: wa2, te: Ba2, ue: wa2, ve: ma2, we: yc, xe: fe2, ye: Db, ze: wa2, Ae: xc, Be: wc, Ce: fb, De: ee2, Ee: Vb, Fe: de2, Ge: vc, He: uc, Ie: Kf, Je: hd, Ke: Jf, Le: Db, Me: fb, Ne: fb, Oe: ma2, Pe: wa2, Qe: Ba2, Re: wa2, Se: ma2, Te: yc, Ue: fe2, Ve: Db, We: wa2, Xe: xc, Ye: wc, Ze: fb, _e: ee2, $e: Vb, af: de2, bf: vc, cf: uc, df: Hf, ef: hd, ff: Gf, gf: Ff, hf: Ef, jf: sh, kf: Jg, lf: Ig, mf: Hg, nf: ka2, of: ka2, pf: Ea2, qf: wb, rf: ka2, sf: ka2, tf: ka2, uf: Ma2, vf: ka2, wf: ma2, xf: ma2, yf: Ta2, zf: Mg, Af: Lb, Bf: Kb, Cf: ra2, Df: rd, Ef: Df, Ff: qd, Gf: pd, Hf: Lb, If: Kb, Jf: ka2, Kf: Ma2, Lf: ka2, Mf: ma2, Nf: ma2, Of: Ta2, Pf: ra2, Qf: ra2, Rf: Mh, Sf: Lh, Tf: Kh, Uf: Cf, Vf: Bf, Wf: Jh, Xf: Ih, Yf: Ma2, Zf: ka2, _f: Hh, $f: Ba2, ag: Db, bg: fb, cg: Vb, dg: Oa2, eg: ma2, fg: Tg, gg: gd, hg: Je2, ig: Oa2, jg: ma2, kg: gd, lg: Cb, mg: ua2, ng: ka2, og: ka2, pg: ua2, qg: Wd, rg: lh, sg: kh, tg: jh, ug: fd, vg: ed, wg: dd, xg: cd, yg: ih, zg: ic, Ag: hh, Bg: gh, Cg: Cb, Dg: ua2, Eg: ka2, Fg: ka2, Gg: ua2, Hg: Wd, Ig: nh, Jg: mh, Kg: Vd, Lg: ic, Mg: Ud, Ng: Td, Og: Yd, Pg: Xd, Qg: ph, Rg: oh, Sg: cd, Tg: ed, Ug: dd, Vg: fd, Wg: ka2, Xg: Oa2, Yg: wa2, Zg: ka2, _g: Ce2, $g: wa2, ah: zf, bh: yf, ch: xf, dh: wf, eh: vf, fh: uf, gh: ra2, hh: ra2, ih: ka2, jh: Ma2, kh: wa2, lh: qh, mh: bd, nh: ad, oh: ra2, ph: ka2, qh: Oa2, rh: wa2, sh: tf, th: sf, uh: rf, vh: ra2, wh: bd, xh: qf, yh: ad, zh: ka2, Ah: Ma2, Bh: wa2, Ch: ra2, Dh: ma2, Eh: ka2, Fh: ua2, Gh: db, Hh: kb, Ih: xd, Jh: oi, Kh: ni, Lh: Ae2, Mh: mi, Nh: za2, Oh: li, Ph: ka2, Qh: ki, Rh: pf, Sh: Ah, Th: zh, Uh: yh, Vh: Bc, Wh: Ac, Xh: ti, Yh: ji, Zh: ii, _h: Cg, $h: Bg, ai: fb, bi: Ba2, ci: tc, di: nb, ei: rh, fi: $c, gi: of, hi: nf, ii: mf, ji: _c, ki: lf, li: Yc, mi: kf, ni: ka2, oi: ka2, pi: ka2, qi: ka2, ri: Ma2, si: ma2, ti: Ta2, ui: jf, vi: hf, wi: Md, xi: bi, yi: ai, zi: $h, Ai: _h, Bi: Zh, Ci: ye2, Di: xe2, Ei: we2, Fi: ve2, Gi: ue2, Hi: te2, Ii: se2, Ji: re2, Ki: ka2, Li: ua2, Mi: ka2, Ni: ua2, Oi: ka2, Pi: Yh, Qi: Xh, Ri: Wh, Si: Vh, Ti: Uh, Ui: Th, Vi: Sh, Wi: Rh, Xi: Qh, Yi: Ph, Zi: Oh, _i: re2, $i: Nh, aj: ka2, bj: ua2, cj: ua2, dj: ka2, ej: gf, fj: ma2, gj: wa2, hj: Ba2, ij: wa2, jj: ka2, kj: $g, lj: _g, mj: Zg, nj: wa2, oj: Ed, pj: wa2, qj: Yg, rj: Ed, sj: me2, tj: uc, uj: ff, vj: ef, wj: df, xj: cf, yj: Xg, zj: Wg, Aj: Vg, Bj: Ug, Cj: ka2, Dj: ka2, Ej: Pg, Fj: Og, Gj: ka2, Hj: ka2, Ij: $c, Jj: bf, Kj: _c, Lj: Yc, Mj: ka2, Nj: Ma2, Oj: ma2, Pj: Ta2, Qj: ma2, Rj: ma2, Sj: af, Tj: $e2, Uj: _e2, Vj: ka2, Wj: Oa2, Xj: wa2, Yj: ra2, Zj: Ze2, _j: Ye2, $j: ka2, ak: Oa2, bk: wa2, ck: ra2, dk: ka2, ek: Ma2, fk: wa2, gk: Xe2, hk: We2, ik: Ve2, jk: ra2, kk: Da2, lk: ta2 };
|
|
40006
40006
|
}
|
|
40007
40007
|
return da2(ea2);
|
|
40008
|
-
}(info);
|
|
40008
|
+
})(info);
|
|
40009
40009
|
}, instantiate: function(binary, info) {
|
|
40010
40010
|
return { then: function(ok) {
|
|
40011
40011
|
var module2 = new WebAssembly2.Module(binary);
|
|
@@ -40279,7 +40279,7 @@ var init_libsodium_sumo = __esm({
|
|
|
40279
40279
|
try {
|
|
40280
40280
|
var window_ = "object" === typeof window ? window : self;
|
|
40281
40281
|
var crypto_ = typeof window_.crypto !== "undefined" ? window_.crypto : window_.msCrypto;
|
|
40282
|
-
crypto_ = crypto_ === void 0 ?
|
|
40282
|
+
crypto_ = crypto_ === void 0 ? crypto2 : crypto_;
|
|
40283
40283
|
var randomValuesStandard = function() {
|
|
40284
40284
|
var buf = new Uint32Array(1);
|
|
40285
40285
|
crypto_.getRandomValues(buf);
|
|
@@ -40289,9 +40289,9 @@ var init_libsodium_sumo = __esm({
|
|
|
40289
40289
|
Module3.getRandomValue = randomValuesStandard;
|
|
40290
40290
|
} catch (e) {
|
|
40291
40291
|
try {
|
|
40292
|
-
var
|
|
40292
|
+
var crypto2 = null;
|
|
40293
40293
|
var randomValueNodeJS = function() {
|
|
40294
|
-
var buf =
|
|
40294
|
+
var buf = crypto2["randomBytes"](4);
|
|
40295
40295
|
return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0;
|
|
40296
40296
|
};
|
|
40297
40297
|
randomValueNodeJS();
|
|
@@ -41339,7 +41339,7 @@ var init_libsodium_sumo = __esm({
|
|
|
41339
41339
|
try {
|
|
41340
41340
|
var window_ = "object" === typeof window ? window : self;
|
|
41341
41341
|
var crypto_ = typeof window_.crypto !== "undefined" ? window_.crypto : window_.msCrypto;
|
|
41342
|
-
crypto_ = crypto_ === void 0 ?
|
|
41342
|
+
crypto_ = crypto_ === void 0 ? crypto2 : crypto_;
|
|
41343
41343
|
var randomValuesStandard = function() {
|
|
41344
41344
|
var buf = new Uint32Array(1);
|
|
41345
41345
|
crypto_.getRandomValues(buf);
|
|
@@ -41349,9 +41349,9 @@ var init_libsodium_sumo = __esm({
|
|
|
41349
41349
|
Module2.getRandomValue = randomValuesStandard;
|
|
41350
41350
|
} catch (e) {
|
|
41351
41351
|
try {
|
|
41352
|
-
var
|
|
41352
|
+
var crypto2 = null;
|
|
41353
41353
|
var randomValueNodeJS = function() {
|
|
41354
|
-
var buf =
|
|
41354
|
+
var buf = crypto2["randomBytes"](4);
|
|
41355
41355
|
return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0;
|
|
41356
41356
|
};
|
|
41357
41357
|
randomValueNodeJS();
|
|
@@ -42009,7 +42009,7 @@ var init_libsodium_sumo = __esm({
|
|
|
42009
42009
|
}
|
|
42010
42010
|
});
|
|
42011
42011
|
|
|
42012
|
-
//
|
|
42012
|
+
// ../../node_modules/libsodium-wrappers-sumo/dist/modules-sumo-esm/libsodium-wrappers.mjs
|
|
42013
42013
|
function _(e) {
|
|
42014
42014
|
if ("function" == typeof TextEncoder) return new TextEncoder().encode(e);
|
|
42015
42015
|
e = unescape(encodeURIComponent(e));
|
|
@@ -44529,7 +44529,7 @@ function qr() {
|
|
|
44529
44529
|
}
|
|
44530
44530
|
var a, r, t, c, libsodium_wrappers_default;
|
|
44531
44531
|
var init_libsodium_wrappers = __esm({
|
|
44532
|
-
async "
|
|
44532
|
+
async "../../node_modules/libsodium-wrappers-sumo/dist/modules-sumo-esm/libsodium-wrappers.mjs"() {
|
|
44533
44533
|
await init_libsodium_sumo();
|
|
44534
44534
|
r = {};
|
|
44535
44535
|
t = libsodium_sumo_default.ready.then(function() {
|
|
@@ -44611,7 +44611,7 @@ var init_libsodium_wrappers = __esm({
|
|
|
44611
44611
|
}
|
|
44612
44612
|
});
|
|
44613
44613
|
|
|
44614
|
-
//
|
|
44614
|
+
// ../crypto/dist/keys.js
|
|
44615
44615
|
async function generateIdentityKeypair() {
|
|
44616
44616
|
await libsodium_wrappers_default.ready;
|
|
44617
44617
|
const kp = libsodium_wrappers_default.crypto_sign_keypair();
|
|
@@ -44638,13 +44638,13 @@ function createProofOfPossession(privateKey, publicKey) {
|
|
|
44638
44638
|
return libsodium_wrappers_default.crypto_sign_detached(publicKey, privateKey);
|
|
44639
44639
|
}
|
|
44640
44640
|
var init_keys = __esm({
|
|
44641
|
-
async "
|
|
44641
|
+
async "../crypto/dist/keys.js"() {
|
|
44642
44642
|
"use strict";
|
|
44643
44643
|
await init_libsodium_wrappers();
|
|
44644
44644
|
}
|
|
44645
44645
|
});
|
|
44646
44646
|
|
|
44647
|
-
//
|
|
44647
|
+
// ../crypto/dist/x3dh.js
|
|
44648
44648
|
function ed25519PrivateToX25519(edPrivate) {
|
|
44649
44649
|
return libsodium_wrappers_default.crypto_sign_ed25519_sk_to_curve25519(edPrivate);
|
|
44650
44650
|
}
|
|
@@ -44666,13 +44666,13 @@ function performX3DH(params) {
|
|
|
44666
44666
|
return libsodium_wrappers_default.crypto_generichash(32, combined);
|
|
44667
44667
|
}
|
|
44668
44668
|
var init_x3dh = __esm({
|
|
44669
|
-
async "
|
|
44669
|
+
async "../crypto/dist/x3dh.js"() {
|
|
44670
44670
|
"use strict";
|
|
44671
44671
|
await init_libsodium_wrappers();
|
|
44672
44672
|
}
|
|
44673
44673
|
});
|
|
44674
44674
|
|
|
44675
|
-
//
|
|
44675
|
+
// ../crypto/dist/ratchet.js
|
|
44676
44676
|
function kdfChainKey(chainKey) {
|
|
44677
44677
|
const nextChainKey = libsodium_wrappers_default.crypto_generichash(32, chainKey, CHAIN_KEY_SEED);
|
|
44678
44678
|
const messageKey = libsodium_wrappers_default.crypto_generichash(32, chainKey, MSG_KEY_SEED);
|
|
@@ -44711,7 +44711,7 @@ function verifyHeaderSignature(header, signature, identityPublicKey) {
|
|
|
44711
44711
|
}
|
|
44712
44712
|
var MAX_SKIP, CHAIN_KEY_SEED, MSG_KEY_SEED, DoubleRatchet;
|
|
44713
44713
|
var init_ratchet = __esm({
|
|
44714
|
-
async "
|
|
44714
|
+
async "../crypto/dist/ratchet.js"() {
|
|
44715
44715
|
"use strict";
|
|
44716
44716
|
await init_libsodium_wrappers();
|
|
44717
44717
|
MAX_SKIP = 100;
|
|
@@ -44783,6 +44783,22 @@ var init_ratchet = __esm({
|
|
|
44783
44783
|
const currentDhHex = this.state.dhReceivingPublicKey ? libsodium_wrappers_default.to_hex(this.state.dhReceivingPublicKey) : null;
|
|
44784
44784
|
if (currentDhHex === null && this.state.receivingChain) {
|
|
44785
44785
|
this.state.dhReceivingPublicKey = message.header.dhPublicKey;
|
|
44786
|
+
} else if (currentDhHex === null && !this.state.receivingChain) {
|
|
44787
|
+
if (message.header.messageNumber === 0) {
|
|
44788
|
+
try {
|
|
44789
|
+
const { messageKey: testKey, nextChainKey: nextChainKey2 } = kdfChainKey(this.state.rootKey);
|
|
44790
|
+
const ad2 = serializeHeader(message.header);
|
|
44791
|
+
const ptBytes = libsodium_wrappers_default.crypto_aead_xchacha20poly1305_ietf_decrypt(null, message.ciphertext, ad2, message.nonce, testKey);
|
|
44792
|
+
this.state.dhReceivingPublicKey = message.header.dhPublicKey;
|
|
44793
|
+
this.state.receivingChain = {
|
|
44794
|
+
chainKey: nextChainKey2,
|
|
44795
|
+
messageNumber: 1
|
|
44796
|
+
};
|
|
44797
|
+
return libsodium_wrappers_default.to_string(ptBytes);
|
|
44798
|
+
} catch {
|
|
44799
|
+
}
|
|
44800
|
+
}
|
|
44801
|
+
this.dhRatchetReceive(message.header.dhPublicKey);
|
|
44786
44802
|
} else if (headerDhHex !== currentDhHex) {
|
|
44787
44803
|
if (this.state.receivingChain && this.state.dhReceivingPublicKey) {
|
|
44788
44804
|
this.skipMessages(this.state.receivingChain, message.header.previousChainLength, this.state.dhReceivingPublicKey);
|
|
@@ -44940,7 +44956,7 @@ var init_ratchet = __esm({
|
|
|
44940
44956
|
}
|
|
44941
44957
|
});
|
|
44942
44958
|
|
|
44943
|
-
//
|
|
44959
|
+
// ../crypto/dist/file-crypto.js
|
|
44944
44960
|
function encryptFile(plainData) {
|
|
44945
44961
|
const fileKey = libsodium_wrappers_default.randombytes_buf(libsodium_wrappers_default.crypto_aead_xchacha20poly1305_ietf_KEYBYTES);
|
|
44946
44962
|
const fileNonce = libsodium_wrappers_default.randombytes_buf(libsodium_wrappers_default.crypto_aead_xchacha20poly1305_ietf_NPUBBYTES);
|
|
@@ -44973,23 +44989,23 @@ function computeFileDigest(data) {
|
|
|
44973
44989
|
return libsodium_wrappers_default.to_hex(digestBytes);
|
|
44974
44990
|
}
|
|
44975
44991
|
var init_file_crypto = __esm({
|
|
44976
|
-
async "
|
|
44992
|
+
async "../crypto/dist/file-crypto.js"() {
|
|
44977
44993
|
"use strict";
|
|
44978
44994
|
await init_libsodium_wrappers();
|
|
44979
44995
|
}
|
|
44980
44996
|
});
|
|
44981
44997
|
|
|
44982
|
-
//
|
|
44998
|
+
// ../crypto/dist/did.js
|
|
44983
44999
|
var init_did = __esm({
|
|
44984
|
-
async "
|
|
45000
|
+
async "../crypto/dist/did.js"() {
|
|
44985
45001
|
"use strict";
|
|
44986
45002
|
}
|
|
44987
45003
|
});
|
|
44988
45004
|
|
|
44989
|
-
//
|
|
45005
|
+
// ../crypto/dist/scan-engine.js
|
|
44990
45006
|
var BUILTIN_PATTERNS, ScanEngine;
|
|
44991
45007
|
var init_scan_engine = __esm({
|
|
44992
|
-
"
|
|
45008
|
+
"../crypto/dist/scan-engine.js"() {
|
|
44993
45009
|
"use strict";
|
|
44994
45010
|
BUILTIN_PATTERNS = {
|
|
44995
45011
|
pii_ssn: [/\b\d{3}-\d{2}-\d{4}\b/g, /\b\d{9}\b/g],
|
|
@@ -45144,14 +45160,22 @@ var init_scan_engine = __esm({
|
|
|
45144
45160
|
}
|
|
45145
45161
|
});
|
|
45146
45162
|
|
|
45147
|
-
//
|
|
45163
|
+
// ../crypto/dist/merkle.js
|
|
45148
45164
|
var init_merkle = __esm({
|
|
45149
|
-
async "
|
|
45165
|
+
async "../crypto/dist/merkle.js"() {
|
|
45150
45166
|
"use strict";
|
|
45151
45167
|
}
|
|
45152
45168
|
});
|
|
45153
45169
|
|
|
45154
|
-
//
|
|
45170
|
+
// ../crypto/dist/vc.js
|
|
45171
|
+
var init_vc = __esm({
|
|
45172
|
+
async "../crypto/dist/vc.js"() {
|
|
45173
|
+
"use strict";
|
|
45174
|
+
await init_did();
|
|
45175
|
+
}
|
|
45176
|
+
});
|
|
45177
|
+
|
|
45178
|
+
// ../crypto/dist/transport.js
|
|
45155
45179
|
function hexToBytes(hex) {
|
|
45156
45180
|
return libsodium_wrappers_default.from_hex(hex);
|
|
45157
45181
|
}
|
|
@@ -45194,15 +45218,229 @@ function transportToEncryptedMessage(transport) {
|
|
|
45194
45218
|
};
|
|
45195
45219
|
}
|
|
45196
45220
|
var init_transport = __esm({
|
|
45197
|
-
async "
|
|
45221
|
+
async "../crypto/dist/transport.js"() {
|
|
45198
45222
|
"use strict";
|
|
45199
45223
|
await init_libsodium_wrappers();
|
|
45200
45224
|
}
|
|
45201
45225
|
});
|
|
45202
45226
|
|
|
45203
|
-
//
|
|
45227
|
+
// ../crypto/dist/telemetry.js
|
|
45228
|
+
function randomHex(byteCount) {
|
|
45229
|
+
const bytes = new Uint8Array(byteCount);
|
|
45230
|
+
crypto.getRandomValues(bytes);
|
|
45231
|
+
let hex = "";
|
|
45232
|
+
for (let i2 = 0; i2 < bytes.length; i2++) {
|
|
45233
|
+
hex += bytes[i2].toString(16).padStart(2, "0");
|
|
45234
|
+
}
|
|
45235
|
+
return hex;
|
|
45236
|
+
}
|
|
45237
|
+
function generateTraceId() {
|
|
45238
|
+
return randomHex(16);
|
|
45239
|
+
}
|
|
45240
|
+
function generateSpanId() {
|
|
45241
|
+
return randomHex(8);
|
|
45242
|
+
}
|
|
45243
|
+
function buildLlmSpan(opts) {
|
|
45244
|
+
const now = Date.now();
|
|
45245
|
+
const attributes = {
|
|
45246
|
+
"ai.agent.llm.model": opts.model,
|
|
45247
|
+
"ai.agent.llm.latency_ms": opts.latencyMs,
|
|
45248
|
+
"ai.agent.llm.tokens_input": opts.tokensInput,
|
|
45249
|
+
"ai.agent.llm.tokens_output": opts.tokensOutput
|
|
45250
|
+
};
|
|
45251
|
+
if (opts.provider !== void 0) {
|
|
45252
|
+
attributes["ai.agent.llm.provider"] = opts.provider;
|
|
45253
|
+
}
|
|
45254
|
+
const isError = opts.status === "error";
|
|
45255
|
+
const status = isError ? { code: 2, ...opts.statusMessage ? { message: opts.statusMessage } : {} } : { code: 0 };
|
|
45256
|
+
return {
|
|
45257
|
+
traceId: opts.traceId ?? generateTraceId(),
|
|
45258
|
+
spanId: opts.spanId ?? generateSpanId(),
|
|
45259
|
+
parentSpanId: opts.parentSpanId,
|
|
45260
|
+
name: "llm.inference",
|
|
45261
|
+
kind: "internal",
|
|
45262
|
+
startTime: now - opts.latencyMs,
|
|
45263
|
+
endTime: now,
|
|
45264
|
+
attributes,
|
|
45265
|
+
status
|
|
45266
|
+
};
|
|
45267
|
+
}
|
|
45268
|
+
function buildToolSpan(opts) {
|
|
45269
|
+
const now = Date.now();
|
|
45270
|
+
const attributes = {
|
|
45271
|
+
"ai.agent.tool.name": opts.toolName,
|
|
45272
|
+
"ai.agent.tool.latency_ms": opts.latencyMs,
|
|
45273
|
+
"ai.agent.tool.success": opts.success
|
|
45274
|
+
};
|
|
45275
|
+
const status = opts.success ? { code: 0 } : { code: 2, ...opts.errorMessage ? { message: opts.errorMessage } : {} };
|
|
45276
|
+
return {
|
|
45277
|
+
traceId: opts.traceId ?? generateTraceId(),
|
|
45278
|
+
spanId: opts.spanId ?? generateSpanId(),
|
|
45279
|
+
parentSpanId: opts.parentSpanId,
|
|
45280
|
+
name: "tool.execute",
|
|
45281
|
+
kind: "internal",
|
|
45282
|
+
startTime: now - opts.latencyMs,
|
|
45283
|
+
endTime: now,
|
|
45284
|
+
attributes,
|
|
45285
|
+
status
|
|
45286
|
+
};
|
|
45287
|
+
}
|
|
45288
|
+
function buildErrorSpan(opts) {
|
|
45289
|
+
const now = Date.now();
|
|
45290
|
+
return {
|
|
45291
|
+
traceId: opts.traceId ?? generateTraceId(),
|
|
45292
|
+
spanId: opts.spanId ?? generateSpanId(),
|
|
45293
|
+
parentSpanId: opts.parentSpanId,
|
|
45294
|
+
name: "error",
|
|
45295
|
+
kind: opts.spanKind ?? "internal",
|
|
45296
|
+
startTime: now,
|
|
45297
|
+
endTime: now,
|
|
45298
|
+
attributes: {
|
|
45299
|
+
"ai.agent.error.type": opts.errorType,
|
|
45300
|
+
"ai.agent.error.message": opts.errorMessage
|
|
45301
|
+
},
|
|
45302
|
+
status: { code: 2, message: opts.errorMessage }
|
|
45303
|
+
};
|
|
45304
|
+
}
|
|
45305
|
+
var init_telemetry = __esm({
|
|
45306
|
+
"../crypto/dist/telemetry.js"() {
|
|
45307
|
+
"use strict";
|
|
45308
|
+
}
|
|
45309
|
+
});
|
|
45310
|
+
|
|
45311
|
+
// ../crypto/dist/telemetry-reporter.js
|
|
45312
|
+
function toOtlpAttributes(attrs) {
|
|
45313
|
+
return Object.entries(attrs).map(([key, val]) => {
|
|
45314
|
+
if (typeof val === "string") {
|
|
45315
|
+
return { key, value: { stringValue: val } };
|
|
45316
|
+
}
|
|
45317
|
+
if (typeof val === "boolean") {
|
|
45318
|
+
return { key, value: { boolValue: val } };
|
|
45319
|
+
}
|
|
45320
|
+
if (Number.isInteger(val)) {
|
|
45321
|
+
return { key, value: { intValue: val } };
|
|
45322
|
+
}
|
|
45323
|
+
return { key, value: { doubleValue: val } };
|
|
45324
|
+
});
|
|
45325
|
+
}
|
|
45326
|
+
function spanToOtlp(span) {
|
|
45327
|
+
const otlp = {
|
|
45328
|
+
traceId: span.traceId,
|
|
45329
|
+
spanId: span.spanId,
|
|
45330
|
+
name: span.name,
|
|
45331
|
+
kind: span.kind,
|
|
45332
|
+
startTimeUnixNano: String(span.startTime * 1e6),
|
|
45333
|
+
endTimeUnixNano: String(span.endTime * 1e6),
|
|
45334
|
+
attributes: toOtlpAttributes(span.attributes)
|
|
45335
|
+
};
|
|
45336
|
+
if (span.parentSpanId !== void 0) {
|
|
45337
|
+
otlp.parentSpanId = span.parentSpanId;
|
|
45338
|
+
}
|
|
45339
|
+
if (span.status) {
|
|
45340
|
+
otlp.status = span.status;
|
|
45341
|
+
}
|
|
45342
|
+
if (span.events && span.events.length > 0) {
|
|
45343
|
+
otlp.events = span.events;
|
|
45344
|
+
}
|
|
45345
|
+
return otlp;
|
|
45346
|
+
}
|
|
45347
|
+
var TelemetryReporter;
|
|
45348
|
+
var init_telemetry_reporter = __esm({
|
|
45349
|
+
"../crypto/dist/telemetry-reporter.js"() {
|
|
45350
|
+
"use strict";
|
|
45351
|
+
init_telemetry();
|
|
45352
|
+
TelemetryReporter = class {
|
|
45353
|
+
_apiBase;
|
|
45354
|
+
_hubId;
|
|
45355
|
+
_authHeader;
|
|
45356
|
+
_fetch;
|
|
45357
|
+
_buffer = [];
|
|
45358
|
+
_timer = null;
|
|
45359
|
+
constructor(config) {
|
|
45360
|
+
this._apiBase = config.apiBase.replace(/\/+$/, "");
|
|
45361
|
+
this._hubId = config.hubId;
|
|
45362
|
+
this._authHeader = config.authHeader;
|
|
45363
|
+
this._fetch = config.fetchImpl ?? globalThis.fetch;
|
|
45364
|
+
}
|
|
45365
|
+
/** Number of spans waiting to be flushed. */
|
|
45366
|
+
get pendingCount() {
|
|
45367
|
+
return this._buffer.length;
|
|
45368
|
+
}
|
|
45369
|
+
// -- Report methods ---------------------------------------------------------
|
|
45370
|
+
/** Record an LLM inference call. */
|
|
45371
|
+
reportLlmCall(opts) {
|
|
45372
|
+
this._buffer.push(buildLlmSpan(opts));
|
|
45373
|
+
}
|
|
45374
|
+
/** Record a tool/function invocation. */
|
|
45375
|
+
reportToolCall(opts) {
|
|
45376
|
+
this._buffer.push(buildToolSpan(opts));
|
|
45377
|
+
}
|
|
45378
|
+
/** Record an error event. */
|
|
45379
|
+
reportError(opts) {
|
|
45380
|
+
this._buffer.push(buildErrorSpan(opts));
|
|
45381
|
+
}
|
|
45382
|
+
/** Record an arbitrary pre-built span. */
|
|
45383
|
+
reportCustomSpan(span) {
|
|
45384
|
+
this._buffer.push(span);
|
|
45385
|
+
}
|
|
45386
|
+
// -- Flush ------------------------------------------------------------------
|
|
45387
|
+
/**
|
|
45388
|
+
* POST all buffered spans to the backend ingest endpoint.
|
|
45389
|
+
*
|
|
45390
|
+
* - On success (HTTP 2xx): clears the buffer.
|
|
45391
|
+
* - On failure: keeps spans in the buffer for retry.
|
|
45392
|
+
* - Never throws — telemetry is best-effort.
|
|
45393
|
+
*/
|
|
45394
|
+
async flush() {
|
|
45395
|
+
if (this._buffer.length === 0) {
|
|
45396
|
+
return;
|
|
45397
|
+
}
|
|
45398
|
+
const spans = this._buffer;
|
|
45399
|
+
this._buffer = [];
|
|
45400
|
+
try {
|
|
45401
|
+
const response = await this._fetch(`${this._apiBase}/api/v1/telemetry/ingest`, {
|
|
45402
|
+
method: "POST",
|
|
45403
|
+
headers: {
|
|
45404
|
+
"Content-Type": "application/json",
|
|
45405
|
+
Authorization: this._authHeader
|
|
45406
|
+
},
|
|
45407
|
+
body: JSON.stringify({
|
|
45408
|
+
hub_id: this._hubId,
|
|
45409
|
+
spans: spans.map(spanToOtlp)
|
|
45410
|
+
})
|
|
45411
|
+
});
|
|
45412
|
+
if (!response.ok) {
|
|
45413
|
+
this._buffer = spans.concat(this._buffer);
|
|
45414
|
+
}
|
|
45415
|
+
} catch {
|
|
45416
|
+
this._buffer = spans.concat(this._buffer);
|
|
45417
|
+
}
|
|
45418
|
+
}
|
|
45419
|
+
// -- Auto-flush -------------------------------------------------------------
|
|
45420
|
+
/**
|
|
45421
|
+
* Start a periodic flush timer.
|
|
45422
|
+
* @param intervalMs Flush interval in milliseconds (default 30 000).
|
|
45423
|
+
*/
|
|
45424
|
+
startAutoFlush(intervalMs = 3e4) {
|
|
45425
|
+
this.stopAutoFlush();
|
|
45426
|
+
this._timer = setInterval(() => {
|
|
45427
|
+
void this.flush();
|
|
45428
|
+
}, intervalMs);
|
|
45429
|
+
}
|
|
45430
|
+
/** Stop the periodic flush timer. Safe to call when not started. */
|
|
45431
|
+
stopAutoFlush() {
|
|
45432
|
+
if (this._timer !== null) {
|
|
45433
|
+
clearInterval(this._timer);
|
|
45434
|
+
this._timer = null;
|
|
45435
|
+
}
|
|
45436
|
+
}
|
|
45437
|
+
};
|
|
45438
|
+
}
|
|
45439
|
+
});
|
|
45440
|
+
|
|
45441
|
+
// ../crypto/dist/index.js
|
|
45204
45442
|
var init_dist = __esm({
|
|
45205
|
-
async "
|
|
45443
|
+
async "../crypto/dist/index.js"() {
|
|
45206
45444
|
"use strict";
|
|
45207
45445
|
await init_keys();
|
|
45208
45446
|
await init_x3dh();
|
|
@@ -45211,7 +45449,10 @@ var init_dist = __esm({
|
|
|
45211
45449
|
await init_did();
|
|
45212
45450
|
init_scan_engine();
|
|
45213
45451
|
await init_merkle();
|
|
45452
|
+
await init_vc();
|
|
45214
45453
|
await init_transport();
|
|
45454
|
+
init_telemetry();
|
|
45455
|
+
init_telemetry_reporter();
|
|
45215
45456
|
}
|
|
45216
45457
|
});
|
|
45217
45458
|
|
|
@@ -45397,6 +45638,7 @@ var init_channel = __esm({
|
|
|
45397
45638
|
_a2aPendingQueue = {};
|
|
45398
45639
|
_scanEngine = null;
|
|
45399
45640
|
_scanRuleSetVersion = 0;
|
|
45641
|
+
_telemetryReporter = null;
|
|
45400
45642
|
/** Topic ID from the most recent inbound message — used as fallback for replies. */
|
|
45401
45643
|
_lastIncomingTopicId;
|
|
45402
45644
|
// Liveness detection: server sends app-level {"event":"ping"} every 30s.
|
|
@@ -45427,6 +45669,10 @@ var init_channel = __esm({
|
|
|
45427
45669
|
get sessionCount() {
|
|
45428
45670
|
return this._sessions.size;
|
|
45429
45671
|
}
|
|
45672
|
+
/** Returns the TelemetryReporter instance (available after WebSocket connect). */
|
|
45673
|
+
get telemetry() {
|
|
45674
|
+
return this._telemetryReporter;
|
|
45675
|
+
}
|
|
45430
45676
|
async start() {
|
|
45431
45677
|
this._stopped = false;
|
|
45432
45678
|
await libsodium_wrappers_default.ready;
|
|
@@ -45971,6 +46217,11 @@ var init_channel = __esm({
|
|
|
45971
46217
|
clearTimeout(this._reconnectTimer);
|
|
45972
46218
|
this._reconnectTimer = null;
|
|
45973
46219
|
}
|
|
46220
|
+
if (this._telemetryReporter) {
|
|
46221
|
+
this._telemetryReporter.stopAutoFlush();
|
|
46222
|
+
await this._telemetryReporter.flush();
|
|
46223
|
+
this._telemetryReporter = null;
|
|
46224
|
+
}
|
|
45974
46225
|
if (this._ws) {
|
|
45975
46226
|
this._ws.removeAllListeners();
|
|
45976
46227
|
this._ws.close();
|
|
@@ -46494,6 +46745,31 @@ var init_channel = __esm({
|
|
|
46494
46745
|
this._scanEngine = new ScanEngine();
|
|
46495
46746
|
await this._fetchScanRules();
|
|
46496
46747
|
}
|
|
46748
|
+
if (this._persisted && this._persisted.hubAddress && !this._persisted.hubId && this._persisted.deviceJwt) {
|
|
46749
|
+
try {
|
|
46750
|
+
const listRes = await fetch(
|
|
46751
|
+
`${this.config.apiUrl}/api/v1/hub/identities`,
|
|
46752
|
+
{ headers: { Authorization: `Bearer ${this._persisted.deviceJwt}` } }
|
|
46753
|
+
);
|
|
46754
|
+
if (listRes.ok) {
|
|
46755
|
+
const identities = await listRes.json();
|
|
46756
|
+
const match = identities.find((h2) => h2.hub_address === this._persisted.hubAddress);
|
|
46757
|
+
if (match) {
|
|
46758
|
+
this._persisted.hubId = match.hub_id;
|
|
46759
|
+
this._persistState();
|
|
46760
|
+
}
|
|
46761
|
+
}
|
|
46762
|
+
} catch {
|
|
46763
|
+
}
|
|
46764
|
+
}
|
|
46765
|
+
if (!this._telemetryReporter && this._persisted?.deviceJwt && this._persisted?.hubId) {
|
|
46766
|
+
this._telemetryReporter = new TelemetryReporter({
|
|
46767
|
+
apiBase: this.config.apiUrl,
|
|
46768
|
+
hubId: this._persisted.hubId,
|
|
46769
|
+
authHeader: `Bearer ${this._persisted.deviceJwt}`
|
|
46770
|
+
});
|
|
46771
|
+
this._telemetryReporter.startAutoFlush(3e4);
|
|
46772
|
+
}
|
|
46497
46773
|
this.emit("ready");
|
|
46498
46774
|
} catch (openErr) {
|
|
46499
46775
|
console.error("[SecureChannel] Error in WS open handler:", openErr);
|
|
@@ -46595,6 +46871,7 @@ var init_channel = __esm({
|
|
|
46595
46871
|
if (data.event === "hub_identity_assigned") {
|
|
46596
46872
|
if (this._persisted) {
|
|
46597
46873
|
this._persisted.hubAddress = data.data.hub_address;
|
|
46874
|
+
this._persisted.hubId = data.data.hub_id;
|
|
46598
46875
|
this._persistState();
|
|
46599
46876
|
}
|
|
46600
46877
|
this.emit("hub_identity_assigned", data.data);
|
|
@@ -46602,6 +46879,7 @@ var init_channel = __esm({
|
|
|
46602
46879
|
if (data.event === "hub_identity_removed") {
|
|
46603
46880
|
if (this._persisted) {
|
|
46604
46881
|
delete this._persisted.hubAddress;
|
|
46882
|
+
delete this._persisted.hubId;
|
|
46605
46883
|
this._persistState();
|
|
46606
46884
|
}
|
|
46607
46885
|
this.emit("hub_identity_removed", data.data);
|
|
@@ -47810,7 +48088,7 @@ var init_gateway_send = __esm({
|
|
|
47810
48088
|
|
|
47811
48089
|
// src/index.ts
|
|
47812
48090
|
var VERSION;
|
|
47813
|
-
var
|
|
48091
|
+
var init_index = __esm({
|
|
47814
48092
|
async "src/index.ts"() {
|
|
47815
48093
|
"use strict";
|
|
47816
48094
|
await init_channel();
|
|
@@ -48114,7 +48392,7 @@ var init_setup = __esm({
|
|
|
48114
48392
|
async "src/setup.ts"() {
|
|
48115
48393
|
"use strict";
|
|
48116
48394
|
await init_channel();
|
|
48117
|
-
await
|
|
48395
|
+
await init_index();
|
|
48118
48396
|
}
|
|
48119
48397
|
});
|
|
48120
48398
|
|