@rubric-protocol/sdk 1.0.2 → 1.0.4
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 +82 -193
- package/dist/cli.d.ts +30 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +165 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +351 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +426 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +2 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -25
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +283 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +12 -43
- package/dist/background-queue.d.ts +0 -57
- package/dist/background-queue.d.ts.map +0 -1
- package/dist/background-queue.js +0 -164
- package/dist/background-queue.js.map +0 -1
- package/dist/ml-dsa-local.d.ts +0 -35
- package/dist/ml-dsa-local.d.ts.map +0 -1
- package/dist/ml-dsa-local.js +0 -151
- package/dist/ml-dsa-local.js.map +0 -1
- package/dist/plugins/langchain.d.ts +0 -28
- package/dist/plugins/langchain.d.ts.map +0 -1
- package/dist/plugins/langchain.js +0 -74
- package/dist/plugins/langchain.js.map +0 -1
- package/dist/plugins/openai-plugin.d.ts +0 -23
- package/dist/plugins/openai-plugin.d.ts.map +0 -1
- package/dist/plugins/openai-plugin.js +0 -72
- package/dist/plugins/openai-plugin.js.map +0 -1
- package/dist/proof-types.d.ts +0 -48
- package/dist/proof-types.d.ts.map +0 -1
- package/dist/proof-types.js +0 -105
- package/dist/proof-types.js.map +0 -1
- package/dist/proof-upgrade-manager.d.ts +0 -24
- package/dist/proof-upgrade-manager.d.ts.map +0 -1
- package/dist/proof-upgrade-manager.js +0 -103
- package/dist/proof-upgrade-manager.js.map +0 -1
- package/dist/rubric-client.d.ts +0 -46
- package/dist/rubric-client.d.ts.map +0 -1
- package/dist/rubric-client.js +0 -217
- package/dist/rubric-client.js.map +0 -1
package/dist/ml-dsa-local.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Rubric Protocol — Local ML-DSA-65 Signing
|
|
4
|
-
* Uses @noble/post-quantum (NIST FIPS 204)
|
|
5
|
-
* Handles key generation, signing, verification, and filesystem persistence.
|
|
6
|
-
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
-
}) : function(o, v) {
|
|
21
|
-
o["default"] = v;
|
|
22
|
-
});
|
|
23
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
-
var ownKeys = function(o) {
|
|
25
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
-
var ar = [];
|
|
27
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
-
return ar;
|
|
29
|
-
};
|
|
30
|
-
return ownKeys(o);
|
|
31
|
-
};
|
|
32
|
-
return function (mod) {
|
|
33
|
-
if (mod && mod.__esModule) return mod;
|
|
34
|
-
var result = {};
|
|
35
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
-
__setModuleDefault(result, mod);
|
|
37
|
-
return result;
|
|
38
|
-
};
|
|
39
|
-
})();
|
|
40
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.generateKeyPair = generateKeyPair;
|
|
42
|
-
exports.signPayload = signPayload;
|
|
43
|
-
exports.verifySignedPayload = verifySignedPayload;
|
|
44
|
-
exports.saveKeyPair = saveKeyPair;
|
|
45
|
-
exports.loadKeyPair = loadKeyPair;
|
|
46
|
-
exports.loadOrCreateKeyPair = loadOrCreateKeyPair;
|
|
47
|
-
const ml_dsa_js_1 = require("@noble/post-quantum/ml-dsa.js");
|
|
48
|
-
const fs = __importStar(require("fs"));
|
|
49
|
-
const path = __importStar(require("path"));
|
|
50
|
-
const crypto = __importStar(require("crypto"));
|
|
51
|
-
// ─── Key Generation ──────────────────────────────────────────────────────────
|
|
52
|
-
/**
|
|
53
|
-
* Generate a fresh ML-DRA-65 keypair from a 32-byte random seed.
|
|
54
|
-
*/
|
|
55
|
-
function generateKeyPair() {
|
|
56
|
-
const seed = crypto.randomBytes(32);
|
|
57
|
-
const kp = ml_dsa_js_1.ml_dsa65.keygen(seed);
|
|
58
|
-
return {
|
|
59
|
-
publicKey: kp.publicKey,
|
|
60
|
-
secretKey: kp.secretKey,
|
|
61
|
-
publicKeyHex: Buffer.from(kp.publicKey).toString('hex'),
|
|
62
|
-
created: new Date().toISOString(),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
// ─── Sign ─────────────────────────────────────────────────────────────────────
|
|
66
|
-
/**
|
|
67
|
-
* Sign an arbitrary payload object with a local secret key.
|
|
68
|
-
* Canonical JSON serialization ensures deterministic signing.
|
|
69
|
-
*/
|
|
70
|
-
function signPayload(payload, secretKey, publicKey) {
|
|
71
|
-
const canonical = canonicalJson(payload);
|
|
72
|
-
const msgBytes = new TextEncoder().encode(canonical);
|
|
73
|
-
const sig = ml_dsa_js_1.ml_dsa65.sign(msgBytes, secretKey);
|
|
74
|
-
return {
|
|
75
|
-
payload,
|
|
76
|
-
signature: Buffer.from(sig).toString('hex'),
|
|
77
|
-
publicKey: Buffer.from(publicKey).toString('hex'),
|
|
78
|
-
signedAt: new Date().toISOString(),
|
|
79
|
-
algorithm: 'ML-DSA-65',
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
// ─── Verify ───────────────────────────────────────────────────────────────────
|
|
83
|
-
/**
|
|
84
|
-
* Verify a signed payload locally (for testing / offline verification).
|
|
85
|
-
*/
|
|
86
|
-
function verifySignedPayload(signed) {
|
|
87
|
-
try {
|
|
88
|
-
const canonical = canonicalJson(signed.payload);
|
|
89
|
-
const msgBytes = new TextEncoder().encode(canonical);
|
|
90
|
-
const sigBytes = Uint8Array.from(Buffer.from(signed.signature, 'hex'));
|
|
91
|
-
const pubKeyBytes = Uint8Array.from(Buffer.from(signed.publicKey, 'hex'));
|
|
92
|
-
return ml_dsa_js_1.ml_dsa65.verify(sigBytes, msgBytes, pubKeyBytes);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
function saveKeyPair(kp, filePath, passphrase) {
|
|
99
|
-
let store;
|
|
100
|
-
if (passphrase) {
|
|
101
|
-
const key = crypto.scryptSync(passphrase, 'rubric-sdk-salt', 32);
|
|
102
|
-
const iv = crypto.randomBytes(12);
|
|
103
|
-
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
|
|
104
|
-
const skHex = Buffer.from(kp.secretKey).toString('hex');
|
|
105
|
-
const encrypted = Buffer.concat([cipher.update(skHex, 'utf8'), cipher.final()]);
|
|
106
|
-
const authTag = cipher.getAuthTag();
|
|
107
|
-
store = { version: 1, algorithm: 'ML-DSA-65', publicKeyHex: kp.publicKeyHex, secretKeyHex: encrypted.toString('hex'), iv: iv.toString('hex'), authTag: authTag.toString('hex'), created: kp.created };
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
store = { version: 1, algorithm: 'ML-DSA-65', publicKeyHex: kp.publicKeyHex, secretKeyHex: Buffer.from(kp.secretKey).toString('hex'), created: kp.created };
|
|
111
|
-
}
|
|
112
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
113
|
-
fs.writeFileSync(filePath, JSON.stringify(store, null, 2), { mode: 0o600 });
|
|
114
|
-
}
|
|
115
|
-
function loadKeyPair(filePath, passphrase) {
|
|
116
|
-
const raw = fs.readFileSync(filePath, 'utf8');
|
|
117
|
-
const store = JSON.parse(raw);
|
|
118
|
-
if (store.version !== 1 || store.algorithm !== 'ML-DSA-65')
|
|
119
|
-
throw new Error('Incompatible keystore format');
|
|
120
|
-
let skHex;
|
|
121
|
-
if (store.iv && store.authTag) {
|
|
122
|
-
if (!passphrase)
|
|
123
|
-
throw new Error('Keystore is encrypted passphrase required');
|
|
124
|
-
const key = crypto.scryptSync(passphrase, 'rubric-sdk-salt', 32);
|
|
125
|
-
const iv = Buffer.from(store.iv, 'hex');
|
|
126
|
-
const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);
|
|
127
|
-
decipher.setAuthTag(Buffer.from(store.authTag, 'hex'));
|
|
128
|
-
skHex = decipher.update(store.secretKeyHex, 'hex', 'utf8') + decipher.final('utf8');
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
skHex = store.secretKeyHex;
|
|
132
|
-
}
|
|
133
|
-
return { publicKey: Uint8Array.from(Buffer.from(store.publicKeyHex, 'hex')), secretKey: Uint8Array.from(Buffer.from(skHex, 'hex')), publicKeyHex: store.publicKeyHex, created: store.created };
|
|
134
|
-
}
|
|
135
|
-
function loadOrCreateKeyPair(filePath, passphrase) {
|
|
136
|
-
if (fs.existsSync(filePath))
|
|
137
|
-
return loadKeyPair(filePath, passphrase);
|
|
138
|
-
const kp = generateKeyPair();
|
|
139
|
-
saveKeyPair(kp, filePath, passphrase);
|
|
140
|
-
return kp;
|
|
141
|
-
}
|
|
142
|
-
function canonicalJson(obj) {
|
|
143
|
-
if (obj === null || typeof obj !== 'object')
|
|
144
|
-
return JSON.stringify(obj);
|
|
145
|
-
if (Array.isArray(obj))
|
|
146
|
-
return '[' + obj.map(canonicalJson).join(',') + ']';
|
|
147
|
-
const keys = Object.keys(obj).sort();
|
|
148
|
-
const pairs = keys.map(k => JSON.stringify(k) + ':' + canonicalJson(obj[k]));
|
|
149
|
-
return '{' + pairs.join(',') + '}';
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=ml-dsa-local.js.map
|
package/dist/ml-dsa-local.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ml-dsa-local.js","sourceRoot":"","sources":["../ml-dsa-local.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BH,0CASC;AAQD,kCAgBC;AAOD,kDAUC;AAcD,kCAoBC;AAED,kCAcC;AAED,kDAKC;AAtID,6DAAyD;AACzD,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAmBjC,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,eAAe;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,oBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO;QACL,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvD,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,SAAgB,WAAW,CACzB,OAAgC,EAChC,SAAqB,EACrB,SAAqB;IAErB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,oBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,SAAS,EAAE,WAAW;KACvB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1E,OAAO,oBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAcD,SAAgB,WAAW,CACzB,EAAgB,EAChB,QAAgB,EAChB,UAAmB;IAEnB,IAAI,KAAwB,CAAC;IAE7B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;IACxM,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9J,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,WAAW,CAAC,QAAgB,EAAE,UAAmB;IAC/D,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAsB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5G,IAAI,KAAa,CAAC;IAClB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;IAAC,CAAC;IACtC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AACjM,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAgB,EAAE,UAAmB;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,aAAa,CAAE,GAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
|
|
2
|
-
import type { LLMResult } from '@langchain/core/outputs';
|
|
3
|
-
import type { AgentAction, AgentFinish } from '@langchain/core/agents';
|
|
4
|
-
import type { ChainValues } from '@langchain/core/utils/types';
|
|
5
|
-
import { RubricClientConfig } from '../rubric-client';
|
|
6
|
-
export interface RubricLangChainConfig extends RubricClientConfig {
|
|
7
|
-
events?: Array<'llm' | 'chain' | 'agent' | 'tool'>;
|
|
8
|
-
pipelineId?: string | ((runId: string) => string);
|
|
9
|
-
}
|
|
10
|
-
export declare class RubricLangChainHandler extends BaseCallbackHandler {
|
|
11
|
-
name: string;
|
|
12
|
-
private readonly client;
|
|
13
|
-
private readonly events;
|
|
14
|
-
private readonly pipelineId?;
|
|
15
|
-
constructor(config: RubricLangChainConfig);
|
|
16
|
-
handleLLMEnd(output: LLMResult, runId: string): Promise<void>;
|
|
17
|
-
handleLLMError(error: Error, runId: string): Promise<void>;
|
|
18
|
-
handleChainEnd(outputs: ChainValues, runId: string, parentRunId?: string): Promise<void>;
|
|
19
|
-
handleChainError(error: Error, runId: string): Promise<void>;
|
|
20
|
-
handleAgentAction(action: AgentAction, runId: string): Promise<void>;
|
|
21
|
-
handleAgentEnd(action: AgentFinish, runId: string): Promise<void>;
|
|
22
|
-
handleToolEnd(output: string, runId: string): Promise<void>;
|
|
23
|
-
handleToolError(error: Error, runId: string): Promise<void>;
|
|
24
|
-
private _attest;
|
|
25
|
-
private _pipeline;
|
|
26
|
-
shutdown(): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=langchain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../plugins/langchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAgB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CACnD;AAED,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,IAAI,SAA4B;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAuC;gBAEvD,MAAM,EAAE,qBAAqB;IAOnC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKnD,OAAO;IAKrB,OAAO,CAAC,SAAS;IAKX,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RubricLangChainHandler = void 0;
|
|
4
|
-
const base_1 = require("@langchain/core/callbacks/base");
|
|
5
|
-
const rubric_client_1 = require("../rubric-client");
|
|
6
|
-
class RubricLangChainHandler extends base_1.BaseCallbackHandler {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
super();
|
|
9
|
-
this.name = 'RubricLangChainHandler';
|
|
10
|
-
this.client = new rubric_client_1.RubricClient({ backgroundQueue: true, ...config });
|
|
11
|
-
this.events = new Set(config.events ?? ['llm', 'chain', 'agent', 'tool']);
|
|
12
|
-
this.pipelineId = config.pipelineId;
|
|
13
|
-
}
|
|
14
|
-
async handleLLMEnd(output, runId) {
|
|
15
|
-
if (!this.events.has('llm'))
|
|
16
|
-
return;
|
|
17
|
-
const gen = output.generations?.[0]?.[0];
|
|
18
|
-
const text = typeof gen?.text === 'string' ? gen.text : JSON.stringify(gen);
|
|
19
|
-
const tokenUsage = output.llmOutput?.tokenUsage;
|
|
20
|
-
await this._attest({ agentId: `langchain-llm:${runId.slice(0, 8)}`, output: text.slice(0, 2000), leafType: 'AGENT_OUTPUT', metadata: { runId, event: 'llm_end', promptTokens: tokenUsage?.promptTokens ?? 0, completionTokens: tokenUsage?.completionTokens ?? 0 }, pipelineId: this._pipeline(runId) });
|
|
21
|
-
}
|
|
22
|
-
async handleLLMError(error, runId) {
|
|
23
|
-
if (!this.events.has('llm'))
|
|
24
|
-
return;
|
|
25
|
-
await this._attest({ agentId: `langchain-llm:${runId.slice(0, 8)}`, output: `LLM_ERROR: ${error.message}`, leafType: 'AGENT_OUTPUT', metadata: { runId, event: 'llm_error', error: error.message } });
|
|
26
|
-
}
|
|
27
|
-
async handleChainEnd(outputs, runId, parentRunId) {
|
|
28
|
-
if (!this.events.has('chain'))
|
|
29
|
-
return;
|
|
30
|
-
const output = typeof outputs === 'string' ? outputs : JSON.stringify(outputs).slice(0, 2000);
|
|
31
|
-
await this._attest({ agentId: `langchain-chain:${runId.slice(0, 8)}`, output, leafType: 'AGENT_OUTPUT', metadata: { runId, parentRunId: parentRunId ?? '', event: 'chain_end' }, pipelineId: this._pipeline(parentRunId ?? runId) });
|
|
32
|
-
}
|
|
33
|
-
async handleChainError(error, runId) {
|
|
34
|
-
if (!this.events.has('chain'))
|
|
35
|
-
return;
|
|
36
|
-
await this._attest({ agentId: `langchain-chain:${runId.slice(0, 8)}`, output: `CHAIN_ERROR: ${error.message}`, leafType: 'AGENT_OUTPUT', metadata: { runId, event: 'chain_error', error: error.message } });
|
|
37
|
-
}
|
|
38
|
-
async handleAgentAction(action, runId) {
|
|
39
|
-
if (!this.events.has('agent'))
|
|
40
|
-
return;
|
|
41
|
-
await this._attest({ agentId: `langchain-agent:${runId.slice(0, 8)}`, output: `ACTION:${action.tool} LOG:${action.log?.slice(0, 500) ?? ''}`, leafType: 'RULE_APPLIED', metadata: { runId, event: 'agent_action', tool: action.tool, toolInput: JSON.stringify(action.toolInput).slice(0, 500) }, pipelineId: this._pipeline(runId) });
|
|
42
|
-
}
|
|
43
|
-
async handleAgentEnd(action, runId) {
|
|
44
|
-
if (!this.events.has('agent'))
|
|
45
|
-
return;
|
|
46
|
-
await this._attest({ agentId: `langchain-agent:${runId.slice(0, 8)}`, output: JSON.stringify(action.returnValues).slice(0, 2000), leafType: 'AGENT_OUTPUT', metadata: { runId, event: 'agent_finish' }, pipelineId: this._pipeline(runId) });
|
|
47
|
-
}
|
|
48
|
-
async handleToolEnd(output, runId) {
|
|
49
|
-
if (!this.events.has('tool'))
|
|
50
|
-
return;
|
|
51
|
-
await this._attest({ agentId: `langchain-tool:${runId.slice(0, 8)}`, output: output.slice(0, 2000), leafType: 'EXTERNAL_ORACLE', metadata: { runId, event: 'tool_end' } });
|
|
52
|
-
}
|
|
53
|
-
async handleToolError(error, runId) {
|
|
54
|
-
if (!this.events.has('tool'))
|
|
55
|
-
return;
|
|
56
|
-
await this._attest({ agentId: `langchain-tool:${runId.slice(0, 8)}`, output: `TOOL_ERROR: ${error.message}`, leafType: 'EXTERNAL_ORACLE', metadata: { runId, event: 'tool_error', error: error.message } });
|
|
57
|
-
}
|
|
58
|
-
async _attest(req) {
|
|
59
|
-
try {
|
|
60
|
-
await this.client.attest(req);
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
console.warn('[RubricLangChain] Attestation error (non-fatal):', err);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
_pipeline(runId) {
|
|
67
|
-
if (!this.pipelineId)
|
|
68
|
-
return undefined;
|
|
69
|
-
return typeof this.pipelineId === 'function' ? this.pipelineId(runId) : this.pipelineId;
|
|
70
|
-
}
|
|
71
|
-
async shutdown() { await this.client.shutdown(); }
|
|
72
|
-
}
|
|
73
|
-
exports.RubricLangChainHandler = RubricLangChainHandler;
|
|
74
|
-
//# sourceMappingURL=langchain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../plugins/langchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type OpenAI from 'openai';
|
|
2
|
-
import type { ChatCompletion, ChatCompletionCreateParamsNonStreaming } from 'openai/resources/chat/completions';
|
|
3
|
-
import { RubricClientConfig } from '../rubric-client';
|
|
4
|
-
export interface RubricOpenAIConfig extends RubricClientConfig {
|
|
5
|
-
agentId?: string;
|
|
6
|
-
attestStreaming?: boolean;
|
|
7
|
-
maxOutputLength?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare function withRubric<T extends OpenAI>(openaiClient: T, config: RubricOpenAIConfig): T;
|
|
10
|
-
export declare class RubricOpenAIClient {
|
|
11
|
-
private readonly rubric;
|
|
12
|
-
private readonly openai;
|
|
13
|
-
private readonly agentId;
|
|
14
|
-
private readonly maxLen;
|
|
15
|
-
constructor(openaiClient: OpenAI, config: RubricOpenAIConfig);
|
|
16
|
-
readonly chat: {
|
|
17
|
-
completions: {
|
|
18
|
-
create: (params: ChatCompletionCreateParamsNonStreaming, options?: any) => Promise<ChatCompletion>;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
shutdown(): Promise<void>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=openai-plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-plugin.d.ts","sourceRoot":"","sources":["../../plugins/openai-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAuB,sCAAsC,EAAuC,MAAM,mCAAmC,CAAC;AAE1K,OAAO,EAAgB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,CA0B3F;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAO5D,QAAQ,CAAC,IAAI;;6BAC2B,sCAAsC,YAAY,GAAG,KAAG,OAAO,CAAC,cAAc,CAAC;;MAOrH;IAEI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RubricOpenAIClient = void 0;
|
|
4
|
-
exports.withRubric = withRubric;
|
|
5
|
-
const rubric_client_1 = require("../rubric-client");
|
|
6
|
-
function withRubric(openaiClient, config) {
|
|
7
|
-
const rubric = new rubric_client_1.RubricClient({ backgroundQueue: true, ...config });
|
|
8
|
-
const agentId = config.agentId ?? 'openai-agent';
|
|
9
|
-
const maxLen = config.maxOutputLength ?? 3000;
|
|
10
|
-
const attestStreaming = config.attestStreaming ?? true;
|
|
11
|
-
const originalCreate = openaiClient.chat.completions.create.bind(openaiClient.chat.completions);
|
|
12
|
-
openaiClient.chat.completions.create = async function (params, options) {
|
|
13
|
-
const startedAt = Date.now();
|
|
14
|
-
if (params.stream) {
|
|
15
|
-
const stream = await originalCreate(params, options);
|
|
16
|
-
if (!attestStreaming)
|
|
17
|
-
return stream;
|
|
18
|
-
const collected = [];
|
|
19
|
-
const gen = async function* () {
|
|
20
|
-
for await (const chunk of stream) {
|
|
21
|
-
collected.push(chunk);
|
|
22
|
-
yield chunk;
|
|
23
|
-
}
|
|
24
|
-
const text = collected.flatMap(c => c.choices).map(c => c.delta?.content ?? '').join('');
|
|
25
|
-
safeAttest(rubric, { agentId, output: text.slice(0, maxLen), leafType: 'AGENT_OUTPUT', metadata: { model: params.model, streaming: true, durationMs: Date.now() - startedAt, promptMessages: params.messages?.length ?? 0 } }).catch(() => { });
|
|
26
|
-
};
|
|
27
|
-
return gen();
|
|
28
|
-
}
|
|
29
|
-
const completion = await originalCreate(params, options);
|
|
30
|
-
const text = completion.choices?.[0]?.message?.content ?? '';
|
|
31
|
-
await safeAttest(rubric, { agentId, output: text.slice(0, maxLen), leafType: 'AGENT_OUTPUT', metadata: { model: completion.model, streaming: false, durationMs: Date.now() - startedAt, promptTokens: completion.usage?.prompt_tokens ?? 0, completionTokens: completion.usage?.completion_tokens ?? 0, finishReason: completion.choices?.[0]?.finish_reason ?? '' }, confidence: finishToConf(completion.choices?.[0]?.finish_reason) });
|
|
32
|
-
return completion;
|
|
33
|
-
};
|
|
34
|
-
return openaiClient;
|
|
35
|
-
}
|
|
36
|
-
class RubricOpenAIClient {
|
|
37
|
-
constructor(openaiClient, config) {
|
|
38
|
-
this.chat = {
|
|
39
|
-
completions: { create: async (params, options) => {
|
|
40
|
-
const startedAt = Date.now();
|
|
41
|
-
const completion = await this.openai.chat.completions.create(params, options);
|
|
42
|
-
const text = completion.choices?.[0]?.message?.content ?? '';
|
|
43
|
-
await safeAttest(this.rubric, { agentId: this.agentId, output: text.slice(0, this.maxLen), leafType: 'AGENT_OUTPUT', metadata: { model: completion.model, durationMs: Date.now() - startedAt, promptTokens: completion.usage?.prompt_tokens ?? 0, completionTokens: completion.usage?.completion_tokens ?? 0 }, confidence: finishToConf(completion.choices?.[0]?.finish_reason) });
|
|
44
|
-
return completion;
|
|
45
|
-
} },
|
|
46
|
-
};
|
|
47
|
-
this.openai = openaiClient;
|
|
48
|
-
this.agentId = config.agentId ?? 'openai-agent';
|
|
49
|
-
this.maxLen = config.maxOutputLength ?? 3000;
|
|
50
|
-
this.rubric = new rubric_client_1.RubricClient({ backgroundQueue: true, ...config });
|
|
51
|
-
}
|
|
52
|
-
async shutdown() { await this.rubric.shutdown(); }
|
|
53
|
-
}
|
|
54
|
-
exports.RubricOpenAIClient = RubricOpenAIClient;
|
|
55
|
-
async function safeAttest(client, req) {
|
|
56
|
-
try {
|
|
57
|
-
await client.attest(req);
|
|
58
|
-
}
|
|
59
|
-
catch (err) {
|
|
60
|
-
console.warn('[RubricOpenAI] Attestation error (non-fatal):', err);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
function finishToConf(reason) {
|
|
64
|
-
if (reason === 'stop')
|
|
65
|
-
return 0.95;
|
|
66
|
-
if (reason === 'length')
|
|
67
|
-
return 0.70;
|
|
68
|
-
if (reason === 'content_filter')
|
|
69
|
-
return 0.30;
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=openai-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-plugin.js","sourceRoot":"","sources":["../../plugins/openai-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/proof-types.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export type ProofStage = 'local' | 'anchored' | 'confirmed';
|
|
2
|
-
export declare const STAGE_METADATA: Record<ProofStage, {
|
|
3
|
-
label: string;
|
|
4
|
-
strength: string;
|
|
5
|
-
eta: string;
|
|
6
|
-
}>;
|
|
7
|
-
export interface LocalProofData {
|
|
8
|
-
stage: 'local';
|
|
9
|
-
attestationId: string;
|
|
10
|
-
agentId: string;
|
|
11
|
-
localSignature: string;
|
|
12
|
-
publicKey: string;
|
|
13
|
-
signedAt: string;
|
|
14
|
-
payload: Record<string, unknown>;
|
|
15
|
-
}
|
|
16
|
-
export interface AnchoredProofData extends Omit<LocalProofData, 'stage'> {
|
|
17
|
-
stage: 'anchored';
|
|
18
|
-
merkleRoot: string;
|
|
19
|
-
serverAttestationId: string;
|
|
20
|
-
anchoredAt: string;
|
|
21
|
-
}
|
|
22
|
-
export interface ConfirmedProofData extends Omit<AnchoredProofData, 'stage'> {
|
|
23
|
-
stage: 'confirmed';
|
|
24
|
-
hcsTopicId: string;
|
|
25
|
-
hcsSequenceNumber: number;
|
|
26
|
-
hcsTimestamp: string;
|
|
27
|
-
hashScanUrl: string;
|
|
28
|
-
}
|
|
29
|
-
export type AnyProofData = LocalProofData | AnchoredProofData | ConfirmedProofData;
|
|
30
|
-
export type UpgradeCallback<T extends AnyProofData = AnyProofData> = (proof: T) => void;
|
|
31
|
-
export declare class LiveProof {
|
|
32
|
-
private _data;
|
|
33
|
-
private _listeners;
|
|
34
|
-
private _resolvers;
|
|
35
|
-
constructor(initialData: LocalProofData);
|
|
36
|
-
get stage(): ProofStage;
|
|
37
|
-
get attestationId(): string;
|
|
38
|
-
get agentId(): string;
|
|
39
|
-
get data(): Readonly<AnyProofData>;
|
|
40
|
-
get isConfirmed(): boolean;
|
|
41
|
-
get hashScanUrl(): string | undefined;
|
|
42
|
-
onUpgrade(stage: any, cb: UpgradeCallback<any>): this;
|
|
43
|
-
waitFor(stage: ProofStage, timeoutMs?: number): Promise<any>;
|
|
44
|
-
toJSON(): AnyProofData;
|
|
45
|
-
_upgrade(newData: AnchoredProofData | ConfirmedProofData): void;
|
|
46
|
-
private _isPastStage;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=proof-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-types.d.ts","sourceRoot":"","sources":["../proof-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAI/F,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IACtE,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC1E,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AACnF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAQxF,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,UAAU,CAAwG;gBAE9G,WAAW,EAAE,cAAc;IAEvC,IAAI,KAAK,IAAI,UAAU,CAA6B;IACpD,IAAI,aAAa,IAAI,MAAM,CAAqC;IAChE,IAAI,OAAO,IAAI,MAAM,CAA+B;IACpD,IAAI,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAuB;IACzD,IAAI,WAAW,IAAI,OAAO,CAA6C;IACvE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAA0G;IAE/I,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI;IAOrD,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAU5D,MAAM,IAAI,YAAY;IAEtB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,IAAI;IAqB/D,OAAO,CAAC,YAAY;CAIrB"}
|
package/dist/proof-types.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LiveProof = exports.STAGE_METADATA = void 0;
|
|
4
|
-
exports.STAGE_METADATA = {
|
|
5
|
-
local: { label: 'Local Signature', strength: 'Tamper-evident', eta: '<1ms' },
|
|
6
|
-
anchored: { label: 'Rubric Anchor', strength: 'Independently verifiable', eta: '5-10s' },
|
|
7
|
-
confirmed: { label: 'HCS Confirmed', strength: 'Immutable timestamp', eta: '~30s' },
|
|
8
|
-
};
|
|
9
|
-
class LiveProof {
|
|
10
|
-
constructor(initialData) {
|
|
11
|
-
this._listeners = { anchored: [], confirmed: [], any: [] };
|
|
12
|
-
this._resolvers = new Map([['anchored', []], ['confirmed', []]]);
|
|
13
|
-
this._data = initialData;
|
|
14
|
-
}
|
|
15
|
-
get stage() { return this._data.stage; }
|
|
16
|
-
get attestationId() { return this._data.attestationId; }
|
|
17
|
-
get agentId() { return this._data.agentId; }
|
|
18
|
-
get data() { return this._data; }
|
|
19
|
-
get isConfirmed() { return this._data.stage === 'confirmed'; }
|
|
20
|
-
get hashScanUrl() { return this._data.stage === 'confirmed' ? this._data.hashScanUrl : undefined; }
|
|
21
|
-
onUpgrade(stage, cb) {
|
|
22
|
-
if (stage === 'any') {
|
|
23
|
-
this._listeners.any.push(cb);
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
if (this._isPastStage(stage)) {
|
|
27
|
-
cb(this._data);
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
this._listeners[stage].push(cb);
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
waitFor(stage, timeoutMs = 90000) {
|
|
34
|
-
if (this._isPastStage(stage))
|
|
35
|
-
return Promise.resolve(this._data);
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
const timer = setTimeout(() => reject(new Error(`LiveProof.waitFor('${stage}') timed out after ${timeoutMs}ms`)), timeoutMs);
|
|
38
|
-
const resolvers = this._resolvers.get(stage) ?? [];
|
|
39
|
-
resolvers.push((data) => { clearTimeout(timer); resolve(data); });
|
|
40
|
-
this._resolvers.set(stage, resolvers);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
toJSON() { return { ...this._data }; }
|
|
44
|
-
_upgrade(newData) {
|
|
45
|
-
const prevStage = this._data.stage;
|
|
46
|
-
this._data = newData;
|
|
47
|
-
for (const cb of this._listeners.any) {
|
|
48
|
-
try {
|
|
49
|
-
cb(newData);
|
|
50
|
-
}
|
|
51
|
-
catch { }
|
|
52
|
-
}
|
|
53
|
-
if (newData.stage === 'anchored' && prevStage === 'local') {
|
|
54
|
-
for (const cb of this._listeners.anchored) {
|
|
55
|
-
try {
|
|
56
|
-
cb(newData);
|
|
57
|
-
}
|
|
58
|
-
catch { }
|
|
59
|
-
}
|
|
60
|
-
for (const res of this._resolvers.get('anchored') ?? []) {
|
|
61
|
-
try {
|
|
62
|
-
res(newData);
|
|
63
|
-
}
|
|
64
|
-
catch { }
|
|
65
|
-
}
|
|
66
|
-
this._resolvers.set('anchored', []);
|
|
67
|
-
}
|
|
68
|
-
if (newData.stage === 'confirmed') {
|
|
69
|
-
if (prevStage === 'local') {
|
|
70
|
-
for (const cb of this._listeners.anchored) {
|
|
71
|
-
try {
|
|
72
|
-
cb(newData);
|
|
73
|
-
}
|
|
74
|
-
catch { }
|
|
75
|
-
}
|
|
76
|
-
for (const res of this._resolvers.get('anchored') ?? []) {
|
|
77
|
-
try {
|
|
78
|
-
res(newData);
|
|
79
|
-
}
|
|
80
|
-
catch { }
|
|
81
|
-
}
|
|
82
|
-
this._resolvers.set('anchored', []);
|
|
83
|
-
}
|
|
84
|
-
for (const cb of this._listeners.confirmed) {
|
|
85
|
-
try {
|
|
86
|
-
cb(newData);
|
|
87
|
-
}
|
|
88
|
-
catch { }
|
|
89
|
-
}
|
|
90
|
-
for (const res of this._resolvers.get('confirmed') ?? []) {
|
|
91
|
-
try {
|
|
92
|
-
res(newData);
|
|
93
|
-
}
|
|
94
|
-
catch { }
|
|
95
|
-
}
|
|
96
|
-
this._resolvers.set('confirmed', []);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
_isPastStage(stage) {
|
|
100
|
-
const order = ['local', 'anchored', 'confirmed'];
|
|
101
|
-
return order.indexOf(this._data.stage) >= order.indexOf(stage);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.LiveProof = LiveProof;
|
|
105
|
-
//# sourceMappingURL=proof-types.js.map
|
package/dist/proof-types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-types.js","sourceRoot":"","sources":["../proof-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { LiveProof, LocalProofData } from './proof-types';
|
|
2
|
-
export interface UpgradeManagerConfig {
|
|
3
|
-
baseUrl: string;
|
|
4
|
-
apiKey: string;
|
|
5
|
-
pollInterval?: number;
|
|
6
|
-
maxTrackingAge?: number;
|
|
7
|
-
hcsTopicId?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class ProofUpgradeManager {
|
|
10
|
-
private readonly config;
|
|
11
|
-
private readonly tracked;
|
|
12
|
-
private timer;
|
|
13
|
-
constructor(config: UpgradeManagerConfig);
|
|
14
|
-
track(proof: LiveProof): void;
|
|
15
|
-
buildAndTrack(localData: LocalProofData): LiveProof;
|
|
16
|
-
stop(): void;
|
|
17
|
-
get size(): number;
|
|
18
|
-
private _ensureRunning;
|
|
19
|
-
private _poll;
|
|
20
|
-
private _applyUpgrade;
|
|
21
|
-
}
|
|
22
|
-
export declare function getUpgradeManager(config?: UpgradeManagerConfig): ProofUpgradeManager;
|
|
23
|
-
export declare function resetUpgradeManager(): void;
|
|
24
|
-
//# sourceMappingURL=proof-upgrade-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-upgrade-manager.d.ts","sourceRoot":"","sources":["../proof-upgrade-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAyC,MAAM,eAAe,CAAC;AAEjG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmE;IAC3F,OAAO,CAAC,KAAK,CAA+C;gBAEhD,MAAM,EAAE,oBAAoB;IAIxC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAM7B,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS;IAMnD,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI,MAAM,CAA8B;IAEhD,OAAO,CAAC,cAAc;YAMR,KAAK;IA6BnB,OAAO,CAAC,aAAa;CAYtB;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAGpF;AACD,wBAAgB,mBAAmB,IAAI,IAAI,CAAmD"}
|