@vorionsys/proof-plane 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events/event-emitter.d.ts +140 -0
- package/dist/events/event-emitter.d.ts.map +1 -0
- package/dist/events/event-emitter.js +235 -0
- package/dist/events/event-emitter.js.map +1 -0
- package/dist/events/event-signatures.d.ts +154 -0
- package/dist/events/event-signatures.d.ts.map +1 -0
- package/dist/events/event-signatures.js +302 -0
- package/dist/events/event-signatures.js.map +1 -0
- package/dist/events/event-store.d.ts +159 -0
- package/dist/events/event-store.d.ts.map +1 -0
- package/dist/events/event-store.js +36 -0
- package/dist/events/event-store.js.map +1 -0
- package/dist/events/hash-chain.d.ts +63 -0
- package/dist/events/hash-chain.d.ts.map +1 -0
- package/dist/events/hash-chain.js +135 -0
- package/dist/events/hash-chain.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +9 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/memory-store.d.ts +82 -0
- package/dist/events/memory-store.d.ts.map +1 -0
- package/dist/events/memory-store.js +215 -0
- package/dist/events/memory-store.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/proof-plane/index.d.ts +6 -0
- package/dist/proof-plane/index.d.ts.map +1 -0
- package/dist/proof-plane/index.js +6 -0
- package/dist/proof-plane/index.js.map +1 -0
- package/dist/proof-plane/logger.d.ts +47 -0
- package/dist/proof-plane/logger.d.ts.map +1 -0
- package/dist/proof-plane/logger.js +48 -0
- package/dist/proof-plane/logger.js.map +1 -0
- package/dist/proof-plane/proof-plane.d.ts +263 -0
- package/dist/proof-plane/proof-plane.d.ts.map +1 -0
- package/dist/proof-plane/proof-plane.js +431 -0
- package/dist/proof-plane/proof-plane.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proof Plane Logger - Implements the ProofPlaneLogger interface for A3I
|
|
3
|
+
*
|
|
4
|
+
* This bridges the A3I authorization engine with the Vorion proof plane,
|
|
5
|
+
* automatically logging authorization decisions to the audit trail.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* ProofPlaneLoggerImpl - Logs A3I events to the proof plane
|
|
9
|
+
*/
|
|
10
|
+
export class ProofPlaneLoggerImpl {
|
|
11
|
+
proofPlane;
|
|
12
|
+
logIntentReceived;
|
|
13
|
+
logDecisionMade;
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.proofPlane = config.proofPlane;
|
|
16
|
+
this.logIntentReceived = config.logIntentReceived ?? true;
|
|
17
|
+
this.logDecisionMade = config.logDecisionMade ?? true;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Log a decision (and optionally the intent)
|
|
21
|
+
*/
|
|
22
|
+
async logDecision(decision, intent) {
|
|
23
|
+
const correlationId = decision.correlationId;
|
|
24
|
+
// Log intent received if enabled
|
|
25
|
+
if (this.logIntentReceived) {
|
|
26
|
+
await this.proofPlane.logIntentReceived(intent, correlationId);
|
|
27
|
+
}
|
|
28
|
+
// Log decision made if enabled
|
|
29
|
+
if (this.logDecisionMade) {
|
|
30
|
+
await this.proofPlane.logDecisionMade(decision, correlationId);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a proof plane logger
|
|
36
|
+
*/
|
|
37
|
+
export function createProofPlaneLogger(config) {
|
|
38
|
+
return new ProofPlaneLoggerImpl(config);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* No-op logger for when proof plane is not connected
|
|
42
|
+
*/
|
|
43
|
+
export const noopProofPlaneLogger = {
|
|
44
|
+
async logDecision(_decision, _intent) {
|
|
45
|
+
// No-op
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/proof-plane/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAa;IACvB,iBAAiB,CAAU;IAC3B,eAAe,CAAU;IAE1C,YAAY,MAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,MAAc;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAE7C,iCAAiC;QACjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA8B;IACnE,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,KAAK,CAAC,WAAW,CAAC,SAAmB,EAAE,OAAe;QACpD,QAAQ;IACV,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proof Plane - High-level interface for the Vorion audit system
|
|
3
|
+
*
|
|
4
|
+
* The Proof Plane provides a unified API for:
|
|
5
|
+
* - Emitting proof events
|
|
6
|
+
* - Querying the event trail
|
|
7
|
+
* - Verifying chain integrity
|
|
8
|
+
* - Subscribing to events
|
|
9
|
+
* - Hook integration for EVENT_EMITTED notifications
|
|
10
|
+
*/
|
|
11
|
+
import { ProofEventType, type ProofEvent, type ProofEventFilter, type ProofEventPayload, type Intent, type Decision, type TrustProfile, type ShadowModeStatus } from '@vorion/contracts';
|
|
12
|
+
import { type ProofEventStore, type EventQueryOptions, type EventQueryResult, type EventStats } from '../events/event-store.js';
|
|
13
|
+
import { type ProofEventEmitter, type EmitResult, type EventListener } from '../events/event-emitter.js';
|
|
14
|
+
import { type ChainVerificationResult } from '../events/hash-chain.js';
|
|
15
|
+
import { type EventSigningService, type SignatureVerificationResult, type BatchVerificationResult } from '../events/event-signatures.js';
|
|
16
|
+
/**
|
|
17
|
+
* Hook manager interface for event notifications
|
|
18
|
+
* (Implemented by @vorion/a3i HookManager)
|
|
19
|
+
*/
|
|
20
|
+
export interface EventHookManager {
|
|
21
|
+
executeEventEmitted(context: {
|
|
22
|
+
correlationId: string;
|
|
23
|
+
event: ProofEvent;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
aborted: boolean;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Configuration for the Proof Plane
|
|
30
|
+
*/
|
|
31
|
+
export interface ProofPlaneConfig {
|
|
32
|
+
/** Custom event store (defaults to in-memory) */
|
|
33
|
+
store?: ProofEventStore;
|
|
34
|
+
/** Service identifier for signing events */
|
|
35
|
+
signedBy?: string;
|
|
36
|
+
/** Enable event listeners */
|
|
37
|
+
enableListeners?: boolean;
|
|
38
|
+
/** Hook manager for EVENT_EMITTED notifications */
|
|
39
|
+
hookManager?: EventHookManager;
|
|
40
|
+
/** Enable hooks (default: true if hookManager provided) */
|
|
41
|
+
enableHooks?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Shadow mode configuration
|
|
44
|
+
*
|
|
45
|
+
* When enabled, all events are tagged with the specified shadow mode status.
|
|
46
|
+
* This is used for T0_SANDBOX agents whose events need HITL verification
|
|
47
|
+
* before counting toward production trust scores.
|
|
48
|
+
*
|
|
49
|
+
* @default 'production'
|
|
50
|
+
*/
|
|
51
|
+
shadowMode?: ShadowModeStatus;
|
|
52
|
+
/**
|
|
53
|
+
* Environment tag for the proof plane instance
|
|
54
|
+
* Helps distinguish production vs testnet events
|
|
55
|
+
*/
|
|
56
|
+
environment?: 'production' | 'testnet' | 'development';
|
|
57
|
+
/**
|
|
58
|
+
* Enable Ed25519 digital signatures for events
|
|
59
|
+
*
|
|
60
|
+
* When enabled, all emitted events will be cryptographically signed,
|
|
61
|
+
* providing authenticity and non-repudiation guarantees.
|
|
62
|
+
*
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
enableSignatures?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Signing service for Ed25519 signatures
|
|
68
|
+
*
|
|
69
|
+
* Required when enableSignatures is true.
|
|
70
|
+
* Can be shared across multiple ProofPlane instances.
|
|
71
|
+
*/
|
|
72
|
+
signingService?: EventSigningService;
|
|
73
|
+
/**
|
|
74
|
+
* Private key for signing (base64-encoded Ed25519 private key)
|
|
75
|
+
*
|
|
76
|
+
* Alternative to signingService for simple single-key setups.
|
|
77
|
+
* If both signingService and privateKey are provided, signingService takes precedence.
|
|
78
|
+
*/
|
|
79
|
+
privateKey?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Proof Plane - The Vorion audit trail system
|
|
83
|
+
*/
|
|
84
|
+
export declare class ProofPlane {
|
|
85
|
+
private readonly store;
|
|
86
|
+
private readonly emitter;
|
|
87
|
+
private readonly signedBy;
|
|
88
|
+
private readonly hookManager?;
|
|
89
|
+
private readonly enableHooks;
|
|
90
|
+
private readonly shadowMode;
|
|
91
|
+
private readonly environment;
|
|
92
|
+
private readonly signingService?;
|
|
93
|
+
private readonly enableSignatures;
|
|
94
|
+
constructor(config?: ProofPlaneConfig);
|
|
95
|
+
/**
|
|
96
|
+
* Set up internal listener for hook notifications
|
|
97
|
+
*/
|
|
98
|
+
private setupHookListener;
|
|
99
|
+
/**
|
|
100
|
+
* Fire the EVENT_EMITTED hook
|
|
101
|
+
*/
|
|
102
|
+
private fireEventEmittedHook;
|
|
103
|
+
/**
|
|
104
|
+
* Log an intent received event
|
|
105
|
+
*/
|
|
106
|
+
logIntentReceived(intent: Intent, correlationId?: string): Promise<EmitResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Log an authorization decision event
|
|
109
|
+
*/
|
|
110
|
+
logDecisionMade(decision: Decision, correlationId?: string): Promise<EmitResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Log a trust score change event
|
|
113
|
+
*/
|
|
114
|
+
logTrustDelta(agentId: string, previousProfile: TrustProfile, newProfile: TrustProfile, reason: string, correlationId?: string): Promise<EmitResult>;
|
|
115
|
+
/**
|
|
116
|
+
* Log execution started event
|
|
117
|
+
*/
|
|
118
|
+
logExecutionStarted(executionId: string, actionId: string, decisionId: string, adapterId: string, agentId: string, correlationId: string): Promise<EmitResult>;
|
|
119
|
+
/**
|
|
120
|
+
* Log execution completed event
|
|
121
|
+
*/
|
|
122
|
+
logExecutionCompleted(executionId: string, actionId: string, durationMs: number, outputHash: string, agentId: string, correlationId: string, status?: 'success' | 'partial'): Promise<EmitResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Log execution failed event
|
|
125
|
+
*/
|
|
126
|
+
logExecutionFailed(executionId: string, actionId: string, error: string, durationMs: number, retryable: boolean, agentId: string, correlationId: string): Promise<EmitResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Log a generic proof event
|
|
129
|
+
*/
|
|
130
|
+
logEvent(eventType: ProofEventType, correlationId: string, payload: ProofEventPayload, agentId?: string): Promise<EmitResult>;
|
|
131
|
+
/**
|
|
132
|
+
* Get an event by ID
|
|
133
|
+
*/
|
|
134
|
+
getEvent(eventId: string): Promise<ProofEvent | null>;
|
|
135
|
+
/**
|
|
136
|
+
* Get the latest event
|
|
137
|
+
*/
|
|
138
|
+
getLatestEvent(): Promise<ProofEvent | null>;
|
|
139
|
+
/**
|
|
140
|
+
* Query events with filters
|
|
141
|
+
*/
|
|
142
|
+
queryEvents(filter?: ProofEventFilter, options?: EventQueryOptions): Promise<EventQueryResult>;
|
|
143
|
+
/**
|
|
144
|
+
* Get all events for a correlation ID (trace a request)
|
|
145
|
+
*/
|
|
146
|
+
getTrace(correlationId: string): Promise<ProofEvent[]>;
|
|
147
|
+
/**
|
|
148
|
+
* Get all events for an agent
|
|
149
|
+
*/
|
|
150
|
+
getAgentHistory(agentId: string, options?: EventQueryOptions): Promise<ProofEvent[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Get events by type
|
|
153
|
+
*/
|
|
154
|
+
getEventsByType(eventType: ProofEventType, options?: EventQueryOptions): Promise<ProofEvent[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Get event statistics
|
|
157
|
+
*/
|
|
158
|
+
getStats(): Promise<EventStats>;
|
|
159
|
+
/**
|
|
160
|
+
* Get event count
|
|
161
|
+
*/
|
|
162
|
+
getEventCount(filter?: ProofEventFilter): Promise<number>;
|
|
163
|
+
/**
|
|
164
|
+
* Verify the entire event chain
|
|
165
|
+
*/
|
|
166
|
+
verifyChain(fromEventId?: string, limit?: number): Promise<ChainVerificationResult>;
|
|
167
|
+
/**
|
|
168
|
+
* Verify chain integrity for a specific correlation ID
|
|
169
|
+
*/
|
|
170
|
+
verifyCorrelationChain(correlationId: string): Promise<ChainVerificationResult>;
|
|
171
|
+
/**
|
|
172
|
+
* Check if signature verification is available
|
|
173
|
+
*/
|
|
174
|
+
isSignatureVerificationEnabled(): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Check if this proof plane is configured for signing
|
|
177
|
+
*/
|
|
178
|
+
isSigningEnabled(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Get the signing service (if configured)
|
|
181
|
+
*/
|
|
182
|
+
getSigningService(): EventSigningService | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Verify signature on a single event
|
|
185
|
+
*
|
|
186
|
+
* Requires a signing service with trusted keys configured.
|
|
187
|
+
*/
|
|
188
|
+
verifyEventSignature(event: ProofEvent): Promise<SignatureVerificationResult>;
|
|
189
|
+
/**
|
|
190
|
+
* Verify signatures for multiple events
|
|
191
|
+
*
|
|
192
|
+
* Returns detailed results for each event.
|
|
193
|
+
*/
|
|
194
|
+
verifySignatures(events: ProofEvent[]): Promise<BatchVerificationResult>;
|
|
195
|
+
/**
|
|
196
|
+
* Verify signatures for all events in a correlation chain
|
|
197
|
+
*/
|
|
198
|
+
verifyCorrelationSignatures(correlationId: string): Promise<BatchVerificationResult>;
|
|
199
|
+
/**
|
|
200
|
+
* Verify both chain integrity AND signatures
|
|
201
|
+
*
|
|
202
|
+
* Returns combined verification results.
|
|
203
|
+
*/
|
|
204
|
+
verifyChainAndSignatures(fromEventId?: string, limit?: number): Promise<{
|
|
205
|
+
chain: ChainVerificationResult;
|
|
206
|
+
signatures: BatchVerificationResult;
|
|
207
|
+
fullyVerified: boolean;
|
|
208
|
+
}>;
|
|
209
|
+
/**
|
|
210
|
+
* Subscribe to new events
|
|
211
|
+
*/
|
|
212
|
+
subscribe(listener: EventListener): () => void;
|
|
213
|
+
/**
|
|
214
|
+
* Subscribe to events of a specific type
|
|
215
|
+
*/
|
|
216
|
+
subscribeToType(eventType: ProofEventType, listener: EventListener): () => void;
|
|
217
|
+
/**
|
|
218
|
+
* Get the underlying event store
|
|
219
|
+
*/
|
|
220
|
+
getStore(): ProofEventStore;
|
|
221
|
+
/**
|
|
222
|
+
* Get the event emitter
|
|
223
|
+
*/
|
|
224
|
+
getEmitter(): ProofEventEmitter;
|
|
225
|
+
/**
|
|
226
|
+
* Get the hook manager
|
|
227
|
+
*/
|
|
228
|
+
getHookManager(): EventHookManager | undefined;
|
|
229
|
+
/**
|
|
230
|
+
* Check if hooks are enabled
|
|
231
|
+
*/
|
|
232
|
+
isHooksEnabled(): boolean;
|
|
233
|
+
/**
|
|
234
|
+
* Check if this proof plane is in shadow mode
|
|
235
|
+
*/
|
|
236
|
+
isShadowMode(): boolean;
|
|
237
|
+
/**
|
|
238
|
+
* Get the current shadow mode status
|
|
239
|
+
*/
|
|
240
|
+
getShadowMode(): ShadowModeStatus;
|
|
241
|
+
/**
|
|
242
|
+
* Get the environment tag
|
|
243
|
+
*/
|
|
244
|
+
getEnvironment(): string;
|
|
245
|
+
/**
|
|
246
|
+
* Query shadow/testnet events that need HITL verification
|
|
247
|
+
*/
|
|
248
|
+
getUnverifiedShadowEvents(agentId?: string, options?: EventQueryOptions): Promise<ProofEvent[]>;
|
|
249
|
+
/**
|
|
250
|
+
* Mark a shadow event as verified by HITL
|
|
251
|
+
* Note: This creates a new verification event, not modifying the original
|
|
252
|
+
*/
|
|
253
|
+
verifyShadowEvent(eventId: string, verificationId: string, verifiedBy: string, approved: boolean): Promise<EmitResult>;
|
|
254
|
+
/**
|
|
255
|
+
* Clear all events (for testing only)
|
|
256
|
+
*/
|
|
257
|
+
clear(): Promise<void>;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Create a Proof Plane instance
|
|
261
|
+
*/
|
|
262
|
+
export declare function createProofPlane(config?: ProofPlaneConfig): ProofPlane;
|
|
263
|
+
//# sourceMappingURL=proof-plane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proof-plane.d.ts","sourceRoot":"","sources":["../../src/proof-plane/proof-plane.ts"],"names":[],"mappings":"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"}
|