@rubric-protocol/sdk 1.0.3 → 1.0.5

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.
Files changed (46) hide show
  1. package/README.md +78 -187
  2. package/dist/cli.d.ts +30 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +165 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/client.d.ts +351 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +426 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/index.d.ts +2 -14
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +20 -25
  13. package/dist/index.js.map +1 -1
  14. package/dist/types.d.ts +283 -0
  15. package/dist/types.d.ts.map +1 -0
  16. package/dist/types.js +6 -0
  17. package/dist/types.js.map +1 -0
  18. package/package.json +12 -43
  19. package/dist/background-queue.d.ts +0 -57
  20. package/dist/background-queue.d.ts.map +0 -1
  21. package/dist/background-queue.js +0 -164
  22. package/dist/background-queue.js.map +0 -1
  23. package/dist/ml-dsa-local.d.ts +0 -35
  24. package/dist/ml-dsa-local.d.ts.map +0 -1
  25. package/dist/ml-dsa-local.js +0 -151
  26. package/dist/ml-dsa-local.js.map +0 -1
  27. package/dist/plugins/langchain.d.ts +0 -30
  28. package/dist/plugins/langchain.d.ts.map +0 -1
  29. package/dist/plugins/langchain.js +0 -85
  30. package/dist/plugins/langchain.js.map +0 -1
  31. package/dist/plugins/openai-plugin.d.ts +0 -23
  32. package/dist/plugins/openai-plugin.d.ts.map +0 -1
  33. package/dist/plugins/openai-plugin.js +0 -72
  34. package/dist/plugins/openai-plugin.js.map +0 -1
  35. package/dist/proof-types.d.ts +0 -48
  36. package/dist/proof-types.d.ts.map +0 -1
  37. package/dist/proof-types.js +0 -105
  38. package/dist/proof-types.js.map +0 -1
  39. package/dist/proof-upgrade-manager.d.ts +0 -24
  40. package/dist/proof-upgrade-manager.d.ts.map +0 -1
  41. package/dist/proof-upgrade-manager.js +0 -103
  42. package/dist/proof-upgrade-manager.js.map +0 -1
  43. package/dist/rubric-client.d.ts +0 -46
  44. package/dist/rubric-client.d.ts.map +0 -1
  45. package/dist/rubric-client.js +0 -217
  46. package/dist/rubric-client.js.map +0 -1
@@ -0,0 +1,283 @@
1
+ export type TaskStatus = 'pending' | 'assigned' | 'executing' | 'completed' | 'failed' | 'cancelled';
2
+ export type TaskType = 'compute' | 'fetch' | 'attest' | 'custom';
3
+ export type Priority = 'low' | 'medium' | 'high' | 'critical';
4
+ export type AgentStatus = 'online' | 'offline' | 'suspended';
5
+ export type PipelineStatus = 'draft' | 'running' | 'completed' | 'failed' | 'paused';
6
+ export type PricingModel = 'free' | 'per_task' | 'subscription';
7
+ export type AlertLevel = 'info' | 'warning' | 'critical';
8
+ export type EventType = 'task' | 'agent' | 'attestation' | 'error' | 'system';
9
+ export type Permission = 'read' | 'write' | 'admin';
10
+ export interface TaskSubmission {
11
+ type: TaskType;
12
+ description: string;
13
+ priority?: Priority;
14
+ capabilities_required?: string[];
15
+ parameters?: Record<string, any>;
16
+ timeout_ms?: number;
17
+ callback_url?: string;
18
+ depends_on?: number[];
19
+ auto_assign?: boolean;
20
+ }
21
+ export interface AgentRegistration {
22
+ name: string;
23
+ capabilities: string[];
24
+ description?: string;
25
+ version?: string;
26
+ endpoint?: string;
27
+ }
28
+ export interface AgentUpdate {
29
+ capabilities?: string[];
30
+ description?: string;
31
+ version?: string;
32
+ endpoint?: string;
33
+ }
34
+ export interface BidSubmission {
35
+ agent_id: string;
36
+ estimated_ms?: number;
37
+ confidence?: number;
38
+ }
39
+ export interface ResultSubmission {
40
+ agent_id: string;
41
+ result: Record<string, any>;
42
+ metadata?: {
43
+ execution_ms?: number;
44
+ memory_mb?: number;
45
+ };
46
+ }
47
+ export interface HeartbeatPayload {
48
+ status: 'idle' | 'busy' | 'draining';
49
+ current_tasks?: number;
50
+ max_concurrent?: number;
51
+ version?: string;
52
+ }
53
+ export interface PipelineDefinition {
54
+ name: string;
55
+ description?: string;
56
+ steps: PipelineStep[];
57
+ }
58
+ export interface PipelineStep {
59
+ name: string;
60
+ type: TaskType;
61
+ capabilities_required?: string[];
62
+ input_from?: string;
63
+ parameters?: Record<string, any>;
64
+ timeout_ms?: number;
65
+ }
66
+ export interface MarketplaceProfileUpdate {
67
+ agent_id: string;
68
+ display_name?: string;
69
+ tagline?: string;
70
+ categories?: string[];
71
+ pricing_model?: PricingModel;
72
+ price_per_task?: number;
73
+ }
74
+ export interface ReviewSubmission {
75
+ rating: number;
76
+ comment?: string;
77
+ task_id?: string;
78
+ }
79
+ export interface ApiKeyCreate {
80
+ name: string;
81
+ permissions?: Permission[];
82
+ }
83
+ export interface Task {
84
+ id: string;
85
+ type: TaskType;
86
+ description: string;
87
+ status: TaskStatus;
88
+ priority: Priority;
89
+ capabilities_required: string[];
90
+ assigned_agent: string | null;
91
+ created_at: string;
92
+ updated_at: string;
93
+ timeout_ms: number;
94
+ }
95
+ export interface Bid {
96
+ agent_id: string;
97
+ bid_id: string;
98
+ estimated_ms: number;
99
+ confidence: number;
100
+ submitted_at: string;
101
+ }
102
+ export interface Attestation {
103
+ hcs_topic_id: string;
104
+ hcs_sequence: number;
105
+ hcs_timestamp: string;
106
+ signature_algorithm: string;
107
+ signer_node: string;
108
+ signature: string;
109
+ payload_hash: string;
110
+ verified: boolean;
111
+ }
112
+ export interface TaskDetail extends Task {
113
+ parameters: Record<string, any>;
114
+ result: Record<string, any> | null;
115
+ attestation: Attestation | null;
116
+ bids: Bid[];
117
+ execution_ms: number | null;
118
+ depends_on: string[];
119
+ }
120
+ export interface AttestationProof {
121
+ sequence_number: number;
122
+ hcs_topic_id: string;
123
+ hcs_timestamp: string;
124
+ task_id: string;
125
+ attested_value: Record<string, any>;
126
+ source_metadata: Record<string, any>;
127
+ signature: {
128
+ algorithm: string;
129
+ signer: string;
130
+ public_key: string;
131
+ value: string;
132
+ };
133
+ verification: {
134
+ is_valid: boolean;
135
+ verified_at: string;
136
+ hedera_explorer_url: string;
137
+ };
138
+ }
139
+ export interface Agent {
140
+ id: string;
141
+ name: string;
142
+ status: AgentStatus;
143
+ capabilities: string[];
144
+ reputation_score: number;
145
+ tasks_completed: number;
146
+ last_heartbeat: string;
147
+ registered_at: string;
148
+ }
149
+ export interface AgentDetail extends Agent {
150
+ description: string;
151
+ version: string;
152
+ endpoint: string;
153
+ tasks_active: number;
154
+ tasks_failed: number;
155
+ avg_execution_ms: number;
156
+ uptime_pct: number;
157
+ }
158
+ export interface Reputation {
159
+ agent_id: string;
160
+ score: number;
161
+ rank: number;
162
+ total_tasks: number;
163
+ success_rate: number;
164
+ recent_events: Array<{
165
+ event: string;
166
+ impact: number;
167
+ timestamp: string;
168
+ task_id: string;
169
+ }>;
170
+ }
171
+ export interface Pipeline {
172
+ id: string;
173
+ name: string;
174
+ status: PipelineStatus;
175
+ steps_total: number;
176
+ steps_completed: number;
177
+ created_at: string;
178
+ started_at: string | null;
179
+ completed_at: string | null;
180
+ }
181
+ export interface PipelineDetail extends Pipeline {
182
+ description: string;
183
+ steps: Array<{
184
+ name: string;
185
+ type: string;
186
+ status: string;
187
+ assigned_agent: string | null;
188
+ task_id: string | null;
189
+ result: Record<string, any> | null;
190
+ execution_ms: number | null;
191
+ attestation: Attestation | null;
192
+ }>;
193
+ total_execution_ms: number | null;
194
+ }
195
+ export interface MarketplaceAgent {
196
+ id: string;
197
+ display_name: string;
198
+ tagline: string;
199
+ capabilities: string[];
200
+ categories: string[];
201
+ reputation_score: number;
202
+ tasks_completed: number;
203
+ average_rating: number;
204
+ status: AgentStatus;
205
+ pricing_model: PricingModel;
206
+ }
207
+ export interface Review {
208
+ id: string;
209
+ agent_id: string;
210
+ rating: number;
211
+ comment: string;
212
+ task_id: string;
213
+ created_at: string;
214
+ }
215
+ export interface ProtocolInfo {
216
+ protocol: string;
217
+ version: string;
218
+ network: string;
219
+ hcs_topic_id: string;
220
+ hedera_account: string;
221
+ total_attestations: number;
222
+ capabilities: string[];
223
+ }
224
+ export interface HealthCheck {
225
+ status: string;
226
+ uptime_ms: number;
227
+ timestamp: string;
228
+ agents_online: number;
229
+ tasks_pending: number;
230
+ }
231
+ export interface Analytics {
232
+ period: string;
233
+ tasks_submitted: number;
234
+ tasks_completed: number;
235
+ tasks_failed: number;
236
+ attestations_submitted: number;
237
+ avg_execution_ms: number;
238
+ agents_active: number;
239
+ error_rate: number;
240
+ }
241
+ export interface Economics {
242
+ total_fees_hbar: number;
243
+ total_hcs_cost_hbar: number;
244
+ net_revenue_hbar: number;
245
+ tasks_billed: number;
246
+ avg_fee_per_task: number;
247
+ }
248
+ export interface TempusError {
249
+ error: string;
250
+ message: string;
251
+ details?: Record<string, any>;
252
+ }
253
+ export interface SDKConfig {
254
+ baseUrl: string;
255
+ apiKey: string;
256
+ timeout?: number;
257
+ }
258
+ export interface ZkProofResult {
259
+ status: 'ready' | 'pending';
260
+ attestationId: string;
261
+ flushId: string | null;
262
+ hcsSeqNum?: string | null;
263
+ hcsExplorerUrl?: string | null;
264
+ proof?: {
265
+ zkLeaf: string;
266
+ zkRoot: string;
267
+ zkPath: string[];
268
+ zkIndices: string[];
269
+ leafIndex: number;
270
+ circuitVersion: string;
271
+ };
272
+ verifyEndpoint?: string;
273
+ generatedAt?: string;
274
+ message?: string;
275
+ }
276
+ export interface TieredAttestResult {
277
+ success: boolean;
278
+ attestationId: string;
279
+ tier: number;
280
+ status: string;
281
+ note: string;
282
+ }
283
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // ═══════════════════════════════════
3
+ // TEMPUS SDK Types
4
+ // ═══════════════════════════════════
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,mBAAmB;AACnB,sCAAsC"}
package/package.json CHANGED
@@ -1,56 +1,25 @@
1
1
  {
2
2
  "name": "@rubric-protocol/sdk",
3
- "version": "1.0.3",
4
- "description": "Rubric Protocol SDK - post-quantum AI attestation for EU AI Act compliance. Patent Pending.",
3
+ "version": "1.0.5",
4
+ "description": "Rubric Protocol SDK \u2014 post-quantum AI attestation with ZK inclusion proofs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "files": [
8
- "dist/**/*",
9
- "README.md"
10
- ],
11
7
  "scripts": {
12
- "build": "tsc -p tsconfig.json",
13
- "build:clean": "rm -rf dist && tsc -p tsconfig.json",
14
- "typecheck": "tsc --noEmit"
8
+ "build": "tsc",
9
+ "test": "ts-node src/test.ts"
15
10
  },
16
11
  "keywords": [
17
12
  "hedera",
18
- "hcs",
19
- "ai-attestation",
20
- "eu-ai-act",
13
+ "oracle",
21
14
  "post-quantum",
22
- "ml-dsa",
23
- "langchain",
24
- "openai",
25
- "compliance"
15
+ "attestation",
16
+ "ai-agents"
26
17
  ],
27
- "author": "Echelon Intelligence Systems LLC <Scott@Rubric-Protocol.com>",
28
18
  "license": "MIT",
29
- "repository": {
30
- "type": "git",
31
- "url": "git+https://github.com/rubric-protocol/sdk.git"
32
- },
33
- "dependencies": {
34
- "@noble/post-quantum": "^0.5.4"
35
- },
36
- "peerDependencies": {
37
- "@langchain/core": ">=0.2.0",
38
- "openai": ">=4.0.0"
39
- },
40
- "peerDependenciesMeta": {
41
- "@langchain/core": {
42
- "optional": true
43
- },
44
- "openai": {
45
- "optional": true
46
- }
47
- },
48
- "devDependencies": {
49
- "@langchain/core": "^0.2.0",
50
- "openai": "^4.0.0",
51
- "typescript": "^5.0.0"
52
- },
19
+ "files": [
20
+ "dist/"
21
+ ],
53
22
  "engines": {
54
- "node": ">=18.0.0"
23
+ "node": ">=18"
55
24
  }
56
- }
25
+ }
@@ -1,57 +0,0 @@
1
- /**
2
- * Rubric Protocol — Background Attestation Queue
3
- * Buffers attestation calls, submits in batches, retries on failure.
4
- * Survives process restart via optional JSON persistence.
5
- */
6
- export interface QueueItem {
7
- id: string;
8
- endpoint: string;
9
- payload: Record<string, unknown>;
10
- headers: Record<string, string>;
11
- attempts: number;
12
- maxAttempts: number;
13
- nextRetryAt: number;
14
- enqueuedAt: number;
15
- failedPermanently?: boolean;
16
- lastError?: string;
17
- }
18
- export interface QueueConfig {
19
- flushInterval?: number;
20
- batchSize?: number;
21
- maxAttempts?: number;
22
- backoffBase?: number;
23
- persistPath?: string;
24
- onDeadLetter?: (item: QueueItem) => void;
25
- onSuccess?: (item: QueueItem, response: unknown) => void;
26
- onError?: (item: QueueItem, error: Error) => void;
27
- }
28
- export type QueueStats = {
29
- queued: number;
30
- inflight: number;
31
- deadLetters: number;
32
- totalSubmitted: number;
33
- totalFailed: number;
34
- };
35
- export declare class BackgroundQueue {
36
- private queue;
37
- private deadLetters;
38
- private inflight;
39
- private timer;
40
- private totalSubmitted;
41
- private totalFailed;
42
- private readonly config;
43
- constructor(config?: QueueConfig);
44
- enqueue(endpoint: string, payload: Record<string, unknown>, headers: Record<string, string>, options?: {
45
- maxAttempts?: number;
46
- }): string;
47
- start(): void;
48
- stop(): Promise<void>;
49
- stats(): QueueStats;
50
- flush(): Promise<void>;
51
- private _flush;
52
- private _submit;
53
- private _persist;
54
- private _loadFromDisk;
55
- }
56
- export declare function sleep(ms: number): Promise<void>;
57
- //# sourceMappingURL=background-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-queue.d.ts","sourceRoot":"","sources":["../background-queue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;gBAEjB,MAAM,GAAE,WAAgB;IAapC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAO5I,KAAK,IAAI,IAAI;IAOP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,KAAK,IAAI,UAAU;IAIb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAEd,MAAM;YAMN,OAAO;IA0BrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa;CAUtB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -1,164 +0,0 @@
1
- "use strict";
2
- /**
3
- * Rubric Protocol — Background Attestation Queue
4
- * Buffers attestation calls, submits in batches, retries on failure.
5
- * Survives process restart via optional JSON 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.BackgroundQueue = void 0;
42
- exports.sleep = sleep;
43
- const fs = __importStar(require("fs"));
44
- const crypto = __importStar(require("crypto"));
45
- class BackgroundQueue {
46
- constructor(config = {}) {
47
- this.queue = new Map();
48
- this.deadLetters = [];
49
- this.inflight = new Set();
50
- this.timer = null;
51
- this.totalSubmitted = 0;
52
- this.totalFailed = 0;
53
- this.config = {
54
- flushInterval: config.flushInterval ?? 2000,
55
- batchSize: config.batchSize ?? 50,
56
- maxAttempts: config.maxAttempts ?? 5,
57
- backoffBase: config.backoffBase ?? 1000,
58
- persistPath: config.persistPath,
59
- onDeadLetter: config.onDeadLetter,
60
- onSuccess: config.onSuccess,
61
- onError: config.onError,
62
- };
63
- if (this.config.persistPath)
64
- this._loadFromDisk();
65
- }
66
- enqueue(endpoint, payload, headers, options = {}) {
67
- const id = crypto.randomUUID();
68
- this.queue.set(id, { id, endpoint, payload, headers, attempts: 0, maxAttempts: options.maxAttempts ?? this.config.maxAttempts, nextRetryAt: Date.now(), enqueuedAt: Date.now() });
69
- this._persist();
70
- return id;
71
- }
72
- start() {
73
- if (this.timer)
74
- return;
75
- this.timer = setInterval(() => this._flush(), this.config.flushInterval);
76
- if (typeof this.timer === 'object' && 'unref' in this.timer)
77
- this.timer.unref();
78
- this._flush();
79
- }
80
- async stop() {
81
- if (this.timer) {
82
- clearInterval(this.timer);
83
- this.timer = null;
84
- }
85
- const deadline = Date.now() + 10000;
86
- while (this.inflight.size > 0 && Date.now() < deadline)
87
- await new Promise(r0 => setTimeout(r0, 100));
88
- this._persist();
89
- }
90
- stats() {
91
- return { queued: this.queue.size, inflight: this.inflight.size, deadLetters: this.deadLetters.length, totalSubmitted: this.totalSubmitted, totalFailed: this.totalFailed };
92
- }
93
- async flush() { await this._flush(); }
94
- async _flush() {
95
- const now = Date.now();
96
- const eligible = [...this.queue.values()].filter(i => !this.inflight.has(i.id) && i.nextRetryAt <= now).slice(0, this.config.batchSize);
97
- if (eligible.length === 0)
98
- return;
99
- await Promise.allSettled(eligible.map(i => this._submit(i)));
100
- }
101
- async _submit(item) {
102
- this.inflight.add(item.id);
103
- item.attempts++;
104
- try {
105
- const res = await fetch(item.endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', ...item.headers }, body: JSON.stringify(item.payload), signal: AbortSignal.timeout(15000) });
106
- if (!res.ok) {
107
- const b = await res.text().catch(() => '');
108
- throw new Error(`HTTP ${res.status}: ${b.slice(0, 200)}`);
109
- }
110
- const response = await res.json().catch(() => null);
111
- this.queue.delete(item.id);
112
- this.inflight.delete(item.id);
113
- this.totalSubmitted++;
114
- this.config.onSuccess?.(item, response);
115
- this._persist();
116
- }
117
- catch (err) {
118
- const error = err instanceof Error ? err : new Error(String(err));
119
- item.lastError = error.message;
120
- this.inflight.delete(item.id);
121
- this.config.onError?.(item, error);
122
- if (item.attempts >= item.maxAttempts) {
123
- item.failedPermanently = true;
124
- this.queue.delete(item.id);
125
- this.deadLetters.push(item);
126
- this.totalFailed++;
127
- this.config.onDeadLetter?.(item);
128
- }
129
- else {
130
- const baseDelay = this.config.backoffBase * Math.pow(2, item.attempts - 1);
131
- const jitter = baseDelay * 0.1 * (Math.random() * 2 - 1);
132
- item.nextRetryAt = Date.now() + Math.round(baseDelay + jitter);
133
- }
134
- this._persist();
135
- }
136
- }
137
- _persist() {
138
- if (!this.config.persistPath)
139
- return;
140
- try {
141
- fs.writeFileSync(this.config.persistPath, JSON.stringify({ version: 1, savedAt: new Date().toISOString(), queue: [...this.queue.values()], deadLetters: this.deadLetters }), { encoding: 'utf8' });
142
- }
143
- catch { /* non-fatal */ }
144
- }
145
- _loadFromDisk() {
146
- if (!this.config.persistPath || !fs.existsSync(this.config.persistPath))
147
- return;
148
- try {
149
- const data = JSON.parse(fs.readFileSync(this.config.persistPath, 'utf8'));
150
- if (data.version !== 1)
151
- return;
152
- for (const item of (data.queue ?? []))
153
- this.queue.set(item.id, item);
154
- this.deadLetters = data.deadLetters ?? [];
155
- console.log(`[RubricQueue] Restored ${this.queue.size} items from disk`);
156
- }
157
- catch { /* corrupt file - start fresh */ }
158
- }
159
- }
160
- exports.BackgroundQueue = BackgroundQueue;
161
- function sleep(ms) {
162
- return new Promise(resolve => setTimeout(resolve, ms));
163
- }
164
- //# sourceMappingURL=background-queue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-queue.js","sourceRoot":"","sources":["../background-queue.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Rubric Protocol — Local ML-DSA-65 Signing
3
- * Uses @noble/post-quantum (NIST FIPS 204)
4
- * Handles key generation, signing, verification, and filesystem persistence.
5
- */
6
- export interface LocalKeyPair {
7
- publicKey: Uint8Array;
8
- secretKey: Uint8Array;
9
- publicKeyHex: string;
10
- created: string;
11
- }
12
- export interface SignedPayload {
13
- payload: Record<string, unknown>;
14
- signature: string;
15
- publicKey: string;
16
- signedAt: string;
17
- algorithm: 'ML-DSA-65';
18
- }
19
- /**
20
- * Generate a fresh ML-DRA-65 keypair from a 32-byte random seed.
21
- */
22
- export declare function generateKeyPair(): LocalKeyPair;
23
- /**
24
- * Sign an arbitrary payload object with a local secret key.
25
- * Canonical JSON serialization ensures deterministic signing.
26
- */
27
- export declare function signPayload(payload: Record<string, unknown>, secretKey: Uint8Array, publicKey: Uint8Array): SignedPayload;
28
- /**
29
- * Verify a signed payload locally (for testing / offline verification).
30
- */
31
- export declare function verifySignedPayload(signed: SignedPayload): boolean;
32
- export declare function saveKeyPair(kp: LocalKeyPair, filePath: string, passphrase?: string): void;
33
- export declare function loadKeyPair(filePath: string, passphrase?: string): LocalKeyPair;
34
- export declare function loadOrCreateKeyPair(filePath: string, passphrase?: string): LocalKeyPair;
35
- //# sourceMappingURL=ml-dsa-local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ml-dsa-local.d.ts","sourceRoot":"","sources":["../ml-dsa-local.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC;CACxB;AAID;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAS9C;AAID;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,GACpB,aAAa,CAYf;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAUlE;AAcD,wBAAgB,WAAW,CACzB,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAgBN;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAc/E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAKvF"}