@emilia-protocol/sdk 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -0
- package/dist/client.d.ts +35 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +160 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +263 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +167 -16
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +202 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/src/client.ts +210 -2
- package/src/index.ts +440 -40
- package/src/types.ts +219 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** EMILIA Protocol — Full SDK. Zero dependencies, native fetch. @license Apache-2.0 */
|
|
2
2
|
export interface EPClientOptions {
|
|
3
|
-
baseUrl
|
|
3
|
+
baseUrl?: string;
|
|
4
4
|
apiKey?: string;
|
|
5
5
|
timeout?: number;
|
|
6
6
|
retries?: number;
|
|
@@ -98,6 +98,153 @@ export interface CreateSuppressionParams {
|
|
|
98
98
|
justification: string;
|
|
99
99
|
expires_at: string;
|
|
100
100
|
}
|
|
101
|
+
export type GuardActionType = 'benefit_bank_account_change' | 'benefit_address_change' | 'caseworker_override' | 'vendor_bank_account_change' | 'beneficiary_creation' | 'large_payment_release' | 'ai_agent_payment_action';
|
|
102
|
+
export type GuardDecision = 'allow' | 'observe' | 'allow_with_signoff' | 'deny';
|
|
103
|
+
export type GuardEnforcementMode = 'observe' | 'warn' | 'enforce';
|
|
104
|
+
export interface GuardQuorumPolicy {
|
|
105
|
+
mode?: 'threshold' | 'all';
|
|
106
|
+
required: number;
|
|
107
|
+
approvers: Array<{
|
|
108
|
+
role: string;
|
|
109
|
+
approver: string;
|
|
110
|
+
}>;
|
|
111
|
+
}
|
|
112
|
+
export interface CreateTrustReceiptParams {
|
|
113
|
+
organizationId?: string;
|
|
114
|
+
actionType: GuardActionType | string;
|
|
115
|
+
targetResourceId: string;
|
|
116
|
+
policyId?: string;
|
|
117
|
+
enforcementMode?: GuardEnforcementMode;
|
|
118
|
+
beforeState?: Record<string, unknown>;
|
|
119
|
+
afterState?: Record<string, unknown>;
|
|
120
|
+
targetChangedFields?: string[];
|
|
121
|
+
amount?: number;
|
|
122
|
+
currency?: string;
|
|
123
|
+
riskFlags?: string[];
|
|
124
|
+
actorRole?: string;
|
|
125
|
+
actorDepartment?: string;
|
|
126
|
+
businessHours?: boolean;
|
|
127
|
+
velocitySameActor24h?: number;
|
|
128
|
+
priorDenialsActor30d?: number;
|
|
129
|
+
priorChangesTarget30d?: number;
|
|
130
|
+
destinationAgeDays?: number;
|
|
131
|
+
quorumPolicy?: GuardQuorumPolicy;
|
|
132
|
+
metadata?: Record<string, unknown>;
|
|
133
|
+
}
|
|
134
|
+
export interface TrustReceipt {
|
|
135
|
+
receipt_id: string;
|
|
136
|
+
decision: GuardDecision;
|
|
137
|
+
observed_decision?: GuardDecision | null;
|
|
138
|
+
policy_id: string;
|
|
139
|
+
policy_hash: string;
|
|
140
|
+
action_hash: string;
|
|
141
|
+
before_state_hash?: string | null;
|
|
142
|
+
after_state_hash?: string | null;
|
|
143
|
+
nonce: string;
|
|
144
|
+
expires_at: string;
|
|
145
|
+
signoff_required: boolean;
|
|
146
|
+
signoff_request_id?: string | null;
|
|
147
|
+
risk_flags?: string[];
|
|
148
|
+
receipt_status: string;
|
|
149
|
+
enforcement_mode: string;
|
|
150
|
+
reasons?: string[];
|
|
151
|
+
canonical_action: Record<string, unknown>;
|
|
152
|
+
}
|
|
153
|
+
export interface TrustReceiptState {
|
|
154
|
+
receipt_id: string;
|
|
155
|
+
organization_id: string;
|
|
156
|
+
action_type: string;
|
|
157
|
+
decision: GuardDecision;
|
|
158
|
+
enforcement_mode: string;
|
|
159
|
+
policy_id: string;
|
|
160
|
+
policy_hash: string;
|
|
161
|
+
action_hash: string;
|
|
162
|
+
expires_at: string;
|
|
163
|
+
signoff_required: boolean;
|
|
164
|
+
receipt_status: string;
|
|
165
|
+
signoff_key_class?: string | null;
|
|
166
|
+
timeline_event_count: number;
|
|
167
|
+
}
|
|
168
|
+
export interface RequestSignoffParams {
|
|
169
|
+
receiptId: string;
|
|
170
|
+
approverId?: string;
|
|
171
|
+
expiresInMinutes?: number;
|
|
172
|
+
comment?: string;
|
|
173
|
+
}
|
|
174
|
+
export interface SignoffRequest {
|
|
175
|
+
signoff_id?: string;
|
|
176
|
+
receipt_id: string;
|
|
177
|
+
action_hash: string;
|
|
178
|
+
initiator_id: string;
|
|
179
|
+
approver_id?: string;
|
|
180
|
+
expires_at: string;
|
|
181
|
+
status: string;
|
|
182
|
+
quorum?: {
|
|
183
|
+
mode: string;
|
|
184
|
+
required: number;
|
|
185
|
+
count: number;
|
|
186
|
+
};
|
|
187
|
+
signoffs?: Array<{
|
|
188
|
+
signoff_id: string;
|
|
189
|
+
role?: string;
|
|
190
|
+
approver_id: string;
|
|
191
|
+
}>;
|
|
192
|
+
}
|
|
193
|
+
export interface ConsumeTrustReceiptResult {
|
|
194
|
+
receipt_id: string;
|
|
195
|
+
status: string;
|
|
196
|
+
consumed_at: string;
|
|
197
|
+
consumed_by_system: string;
|
|
198
|
+
execution_reference_id?: string | null;
|
|
199
|
+
}
|
|
200
|
+
export interface ExecutionAttestation {
|
|
201
|
+
receipt_id: string;
|
|
202
|
+
status: string;
|
|
203
|
+
binding_status: string;
|
|
204
|
+
executed_action_hash: string;
|
|
205
|
+
approved_action_hash: string;
|
|
206
|
+
execution_integrity: Record<string, unknown>;
|
|
207
|
+
}
|
|
208
|
+
export interface TrustReceiptEvidence {
|
|
209
|
+
document: Record<string, unknown> | null;
|
|
210
|
+
public_key: string | null;
|
|
211
|
+
signed: boolean;
|
|
212
|
+
verify_with: string;
|
|
213
|
+
receipt_id: string;
|
|
214
|
+
organization_id: string;
|
|
215
|
+
issued_at: string;
|
|
216
|
+
expires_at: string;
|
|
217
|
+
schema_version: string;
|
|
218
|
+
[key: string]: unknown;
|
|
219
|
+
}
|
|
220
|
+
export interface RequireReceiptParams extends CreateTrustReceiptParams {
|
|
221
|
+
executingSystem: string;
|
|
222
|
+
executionReferenceId?: string;
|
|
223
|
+
approverId?: string;
|
|
224
|
+
signoffComment?: string;
|
|
225
|
+
signoffExpiresInMinutes?: number;
|
|
226
|
+
onSignoffRequired?: (ctx: {
|
|
227
|
+
client: EPClient;
|
|
228
|
+
receipt: TrustReceipt;
|
|
229
|
+
signoff?: SignoffRequest;
|
|
230
|
+
}) => Promise<void | boolean | {
|
|
231
|
+
approved?: boolean;
|
|
232
|
+
}>;
|
|
233
|
+
executedAction?: Record<string, unknown> | ((ctx: {
|
|
234
|
+
receipt: TrustReceipt;
|
|
235
|
+
result: unknown;
|
|
236
|
+
}) => Record<string, unknown>);
|
|
237
|
+
executionId?: string | ((result: unknown) => string | undefined);
|
|
238
|
+
fetchEvidence?: boolean;
|
|
239
|
+
}
|
|
240
|
+
export interface RequireReceiptResult<T> {
|
|
241
|
+
result: T;
|
|
242
|
+
receipt: TrustReceipt;
|
|
243
|
+
signoff?: SignoffRequest;
|
|
244
|
+
consume: ConsumeTrustReceiptResult;
|
|
245
|
+
execution: ExecutionAttestation;
|
|
246
|
+
evidence?: TrustReceiptEvidence;
|
|
247
|
+
}
|
|
101
248
|
export interface ObservationResponse {
|
|
102
249
|
observation_id: string;
|
|
103
250
|
observation_type: string;
|
|
@@ -162,13 +309,20 @@ export interface SimulatePolicyParams {
|
|
|
162
309
|
}
|
|
163
310
|
export interface RolloutPolicyParams {
|
|
164
311
|
policyId: string;
|
|
165
|
-
|
|
166
|
-
|
|
312
|
+
/** Policy version number to roll out (resolved against handshake_policies). */
|
|
313
|
+
version: number;
|
|
314
|
+
/** Target environment, e.g. "production" or "staging". */
|
|
315
|
+
environment: string;
|
|
316
|
+
strategy?: 'immediate' | 'canary';
|
|
317
|
+
/** Traffic percentage (1–99) for canary rollouts. */
|
|
318
|
+
canaryPct?: number;
|
|
167
319
|
}
|
|
168
320
|
export interface DiffPolicyVersionsParams {
|
|
169
321
|
policyId: string;
|
|
170
|
-
|
|
171
|
-
|
|
322
|
+
/** First version number to compare. */
|
|
323
|
+
v1: number;
|
|
324
|
+
/** Second version number to compare. */
|
|
325
|
+
v2: number;
|
|
172
326
|
}
|
|
173
327
|
export interface Policy {
|
|
174
328
|
name: string;
|
|
@@ -388,31 +542,67 @@ export interface PolicySimulationResult {
|
|
|
388
542
|
evaluatedAt: string;
|
|
389
543
|
}
|
|
390
544
|
export interface PolicyRolloutResult {
|
|
391
|
-
|
|
545
|
+
rollout_id: string;
|
|
546
|
+
/** handshake_policies policy_id of the rolled-out version row. */
|
|
547
|
+
policy_id: string;
|
|
548
|
+
policy_key: string;
|
|
549
|
+
version: number;
|
|
550
|
+
environment: string;
|
|
392
551
|
strategy: string;
|
|
393
|
-
percentage: number;
|
|
394
552
|
status: string;
|
|
395
|
-
|
|
396
|
-
|
|
553
|
+
canary_pct: number | null;
|
|
554
|
+
initiated_at: string;
|
|
555
|
+
tenant_id: string;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* A policy version is a handshake_policies row. Versions sharing a policy_key
|
|
559
|
+
* form the version history of a single policy.
|
|
560
|
+
*/
|
|
397
561
|
export interface PolicyVersion {
|
|
398
|
-
|
|
399
|
-
|
|
562
|
+
policy_id: string;
|
|
563
|
+
policy_key: string;
|
|
400
564
|
version: number;
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
565
|
+
name: string;
|
|
566
|
+
mode: string;
|
|
567
|
+
status: string;
|
|
568
|
+
rules: Record<string, unknown>;
|
|
569
|
+
created_at: string;
|
|
570
|
+
updated_at: string;
|
|
404
571
|
}
|
|
405
|
-
export interface
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
572
|
+
export interface PolicyVersionsResult {
|
|
573
|
+
policy_id: string;
|
|
574
|
+
policy_key: string;
|
|
575
|
+
versions: PolicyVersion[];
|
|
576
|
+
count: number;
|
|
577
|
+
tenant_id: string;
|
|
410
578
|
}
|
|
579
|
+
/** A single classified field change between two policy versions' rules. */
|
|
411
580
|
export interface PolicyChange {
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
581
|
+
path: string;
|
|
582
|
+
before: unknown;
|
|
583
|
+
after: unknown;
|
|
584
|
+
risk: 'loosening' | 'tightening' | 'neutral';
|
|
585
|
+
rationale: string;
|
|
586
|
+
}
|
|
587
|
+
/** Semantic diff of v1.rules vs v2.rules. */
|
|
588
|
+
export interface PolicyRulesDiff {
|
|
589
|
+
changes: PolicyChange[];
|
|
590
|
+
risk: 'loosening' | 'tightening' | 'neutral';
|
|
591
|
+
summary: {
|
|
592
|
+
loosening: number;
|
|
593
|
+
tightening: number;
|
|
594
|
+
neutral: number;
|
|
595
|
+
};
|
|
596
|
+
}
|
|
597
|
+
export interface PolicyDiff {
|
|
598
|
+
policy_id: string;
|
|
599
|
+
policy_key: string;
|
|
600
|
+
/** The lower-numbered handshake_policies version row. */
|
|
601
|
+
v1: PolicyVersion;
|
|
602
|
+
/** The higher-numbered handshake_policies version row. */
|
|
603
|
+
v2: PolicyVersion;
|
|
604
|
+
diff: PolicyRulesDiff;
|
|
605
|
+
tenant_id: string;
|
|
416
606
|
}
|
|
417
607
|
export declare class EPError extends Error {
|
|
418
608
|
readonly status?: number | undefined;
|
|
@@ -447,12 +637,24 @@ export declare class EPCloudClient {
|
|
|
447
637
|
checkIntegrity(): Promise<IntegrityCheckResult>;
|
|
448
638
|
/** Simulate a policy against a hypothetical context without persisting any state. */
|
|
449
639
|
simulatePolicy(policyId: string, context: Record<string, unknown>): Promise<PolicySimulationResult>;
|
|
450
|
-
/**
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
640
|
+
/**
|
|
641
|
+
* Roll out a specific policy version to an environment. The version is
|
|
642
|
+
* resolved against handshake_policies by the policy's policy_key. Immediate
|
|
643
|
+
* rollouts supersede the prior active rollout for that (policy_key,
|
|
644
|
+
* environment); canary rollouts coexist (canaryPct in 1–99).
|
|
645
|
+
*/
|
|
646
|
+
rolloutPolicy(policyId: string, version: number, environment: string, strategy?: 'immediate' | 'canary', canaryPct?: number): Promise<PolicyRolloutResult>;
|
|
647
|
+
/**
|
|
648
|
+
* List all versions of a policy. Versions are the handshake_policies rows
|
|
649
|
+
* sharing the policy's policy_key, returned newest-first inside an envelope.
|
|
650
|
+
*/
|
|
651
|
+
getPolicyVersions(policyId: string): Promise<PolicyVersionsResult>;
|
|
652
|
+
/**
|
|
653
|
+
* Diff two versions of a policy to see what changed between their rules.
|
|
654
|
+
* v1 and v2 are version numbers; the response includes both version rows and
|
|
655
|
+
* a semantic diff classified as loosening / tightening / neutral.
|
|
656
|
+
*/
|
|
657
|
+
diffPolicyVersions(policyId: string, v1: number, v2: number): Promise<PolicyDiff>;
|
|
456
658
|
/** @internal Build query string from SignoffFilters. */
|
|
457
659
|
private _buildQs;
|
|
458
660
|
/** @internal Build query string from DateRange. */
|
|
@@ -467,7 +669,7 @@ export declare class EPClient {
|
|
|
467
669
|
private readonly retries;
|
|
468
670
|
/** Cloud-specific endpoints (dashboards, analytics, audit, policy management). */
|
|
469
671
|
readonly cloud: EPCloudClient;
|
|
470
|
-
constructor(options
|
|
672
|
+
constructor(options?: EPClientOptions);
|
|
471
673
|
private request;
|
|
472
674
|
/** List available trust policies. */
|
|
473
675
|
listPolicies(params?: {
|
|
@@ -487,6 +689,37 @@ export declare class EPClient {
|
|
|
487
689
|
revokeHandshake(handshakeId: string): Promise<RevokeResult>;
|
|
488
690
|
/** Consume a handshake -- finalize and optionally bind a receipt. */
|
|
489
691
|
consume(handshakeId: string, params?: ConsumeParams): Promise<Consumption>;
|
|
692
|
+
/** Create a v1 pre-action trust receipt for a high-risk mutation. */
|
|
693
|
+
createTrustReceipt(params: CreateTrustReceiptParams): Promise<TrustReceipt>;
|
|
694
|
+
/** Read current receipt state from the append-only v1 audit timeline. */
|
|
695
|
+
getTrustReceipt(receiptId: string): Promise<TrustReceiptState>;
|
|
696
|
+
/** Request human signoff for a receipt that requires approval. */
|
|
697
|
+
requestSignoff(params: RequestSignoffParams): Promise<SignoffRequest>;
|
|
698
|
+
/** Consume a receipt before mutation. If this fails, do not execute the write. */
|
|
699
|
+
consumeTrustReceipt(receiptId: string, params: {
|
|
700
|
+
actionHash: string;
|
|
701
|
+
executingSystem: string;
|
|
702
|
+
executionReferenceId?: string;
|
|
703
|
+
}): Promise<ConsumeTrustReceiptResult>;
|
|
704
|
+
/** Emit the post-mutation execution attestation bound to the consumed receipt. */
|
|
705
|
+
attestExecution(receiptId: string, params: {
|
|
706
|
+
executedAction: Record<string, unknown>;
|
|
707
|
+
executingSystem: string;
|
|
708
|
+
executionId?: string;
|
|
709
|
+
executedAt?: string;
|
|
710
|
+
}): Promise<ExecutionAttestation>;
|
|
711
|
+
/** Fetch the signed evidence packet, when the receipt is in a signable state. */
|
|
712
|
+
getTrustReceiptEvidence(receiptId: string): Promise<TrustReceiptEvidence>;
|
|
713
|
+
/**
|
|
714
|
+
* Wrap a dangerous mutation in the v1 receipt lifecycle.
|
|
715
|
+
* The mutation runs only after create + consume succeed.
|
|
716
|
+
*/
|
|
717
|
+
requireReceipt<T>(params: RequireReceiptParams, mutate: (ctx: {
|
|
718
|
+
receipt: TrustReceipt;
|
|
719
|
+
consume: ConsumeTrustReceiptResult;
|
|
720
|
+
}) => Promise<T>): Promise<RequireReceiptResult<T>>;
|
|
721
|
+
/** Wrap an existing async function with requireReceipt(). */
|
|
722
|
+
withReceipt<TArgs extends unknown[], TResult>(params: RequireReceiptParams | ((...args: TArgs) => RequireReceiptParams), mutate: (...args: TArgs) => Promise<TResult>): (...args: TArgs) => Promise<RequireReceiptResult<TResult>>;
|
|
490
723
|
/** Issue a signoff challenge for an entity. */
|
|
491
724
|
issueChallenge(params: IssueChallengeParams): Promise<SignoffChallenge>;
|
|
492
725
|
/** Attest to a signoff challenge with a cryptographic signature. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -90,23 +90,35 @@ export class EPCloudClient {
|
|
|
90
90
|
context,
|
|
91
91
|
}, true);
|
|
92
92
|
}
|
|
93
|
-
/**
|
|
94
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Roll out a specific policy version to an environment. The version is
|
|
95
|
+
* resolved against handshake_policies by the policy's policy_key. Immediate
|
|
96
|
+
* rollouts supersede the prior active rollout for that (policy_key,
|
|
97
|
+
* environment); canary rollouts coexist (canaryPct in 1–99).
|
|
98
|
+
*/
|
|
99
|
+
async rolloutPolicy(policyId, version, environment, strategy = 'immediate', canaryPct) {
|
|
95
100
|
return this._request('POST', `/api/cloud/policies/${encodeURIComponent(policyId)}/rollout`, {
|
|
101
|
+
version,
|
|
102
|
+
environment,
|
|
96
103
|
strategy,
|
|
97
|
-
|
|
104
|
+
...(strategy === 'canary' && canaryPct !== undefined ? { canary_pct: canaryPct } : {}),
|
|
98
105
|
}, true);
|
|
99
106
|
}
|
|
100
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* List all versions of a policy. Versions are the handshake_policies rows
|
|
109
|
+
* sharing the policy's policy_key, returned newest-first inside an envelope.
|
|
110
|
+
*/
|
|
101
111
|
async getPolicyVersions(policyId) {
|
|
102
112
|
return this._request('GET', `/api/cloud/policies/${encodeURIComponent(policyId)}/versions`, undefined, true);
|
|
103
113
|
}
|
|
104
|
-
/**
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Diff two versions of a policy to see what changed between their rules.
|
|
116
|
+
* v1 and v2 are version numbers; the response includes both version rows and
|
|
117
|
+
* a semantic diff classified as loosening / tightening / neutral.
|
|
118
|
+
*/
|
|
119
|
+
async diffPolicyVersions(policyId, v1, v2) {
|
|
120
|
+
const qs = this._toQs({ v1: String(v1), v2: String(v2) });
|
|
121
|
+
return this._request('GET', `/api/cloud/policies/${encodeURIComponent(policyId)}/diff${qs}`, undefined, true);
|
|
110
122
|
}
|
|
111
123
|
/** @internal Build query string from SignoffFilters. */
|
|
112
124
|
_buildQs(filters) {
|
|
@@ -145,6 +157,30 @@ export class EPCloudClient {
|
|
|
145
157
|
}
|
|
146
158
|
}
|
|
147
159
|
// -- Client -----------------------------------------------------------------
|
|
160
|
+
function trustReceiptBody(params) {
|
|
161
|
+
return {
|
|
162
|
+
organization_id: params.organizationId,
|
|
163
|
+
action_type: params.actionType,
|
|
164
|
+
target_resource_id: params.targetResourceId,
|
|
165
|
+
policy_id: params.policyId,
|
|
166
|
+
enforcement_mode: params.enforcementMode,
|
|
167
|
+
before_state: params.beforeState,
|
|
168
|
+
after_state: params.afterState,
|
|
169
|
+
target_changed_fields: params.targetChangedFields,
|
|
170
|
+
amount: params.amount,
|
|
171
|
+
currency: params.currency,
|
|
172
|
+
risk_flags: params.riskFlags,
|
|
173
|
+
actor_role: params.actorRole,
|
|
174
|
+
actor_department: params.actorDepartment,
|
|
175
|
+
business_hours: params.businessHours,
|
|
176
|
+
velocity_same_actor_24h: params.velocitySameActor24h,
|
|
177
|
+
prior_denials_actor_30d: params.priorDenialsActor30d,
|
|
178
|
+
prior_changes_target_30d: params.priorChangesTarget30d,
|
|
179
|
+
destination_age_days: params.destinationAgeDays,
|
|
180
|
+
quorum_policy: params.quorumPolicy,
|
|
181
|
+
metadata: params.metadata,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
148
184
|
export class EPClient {
|
|
149
185
|
baseUrl;
|
|
150
186
|
apiKey;
|
|
@@ -152,9 +188,16 @@ export class EPClient {
|
|
|
152
188
|
retries;
|
|
153
189
|
/** Cloud-specific endpoints (dashboards, analytics, audit, policy management). */
|
|
154
190
|
cloud;
|
|
155
|
-
constructor(options) {
|
|
156
|
-
|
|
157
|
-
|
|
191
|
+
constructor(options = {}) {
|
|
192
|
+
const env = typeof process !== 'undefined' && process.env ? process.env : {};
|
|
193
|
+
// Trim trailing slashes without a regex — avoids the polynomial-backtracking
|
|
194
|
+
// CodeQL flags on /\/+$/ for long all-slash inputs.
|
|
195
|
+
const rawBase = options.baseUrl ?? env.EP_BASE_URL ?? 'https://emiliaprotocol.ai';
|
|
196
|
+
let baseEnd = rawBase.length;
|
|
197
|
+
while (baseEnd > 0 && rawBase.charCodeAt(baseEnd - 1) === 47 /* '/' */)
|
|
198
|
+
baseEnd--;
|
|
199
|
+
this.baseUrl = rawBase.slice(0, baseEnd);
|
|
200
|
+
this.apiKey = options.apiKey ?? env.EP_API_KEY ?? '';
|
|
158
201
|
this.timeout = options.timeout ?? 10_000;
|
|
159
202
|
this.retries = options.retries ?? 2;
|
|
160
203
|
// Bind the internal request method for the cloud sub-client
|
|
@@ -164,7 +207,7 @@ export class EPClient {
|
|
|
164
207
|
const url = `${this.baseUrl}${path}`;
|
|
165
208
|
const headers = {
|
|
166
209
|
'Content-Type': 'application/json',
|
|
167
|
-
'User-Agent': '@emilia-protocol/sdk/0.
|
|
210
|
+
'User-Agent': '@emilia-protocol/sdk/0.10.0',
|
|
168
211
|
};
|
|
169
212
|
if (auth && this.apiKey) {
|
|
170
213
|
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
@@ -183,8 +226,18 @@ export class EPClient {
|
|
|
183
226
|
const data = await res.json().catch(() => undefined);
|
|
184
227
|
if (!res.ok) {
|
|
185
228
|
const p = data;
|
|
186
|
-
const msg = typeof p?.['error'] === 'string'
|
|
187
|
-
|
|
229
|
+
const msg = typeof p?.['error'] === 'string'
|
|
230
|
+
? p['error']
|
|
231
|
+
: typeof p?.['detail'] === 'string'
|
|
232
|
+
? p['detail']
|
|
233
|
+
: typeof p?.['title'] === 'string'
|
|
234
|
+
? p['title']
|
|
235
|
+
: `EP API error: ${res.status}`;
|
|
236
|
+
const code = typeof p?.['code'] === 'string'
|
|
237
|
+
? p['code']
|
|
238
|
+
: typeof p?.['type'] === 'string'
|
|
239
|
+
? p['type'].split('/').pop()
|
|
240
|
+
: undefined;
|
|
188
241
|
throw new EPError(msg, res.status, code);
|
|
189
242
|
}
|
|
190
243
|
return data;
|
|
@@ -254,6 +307,104 @@ export class EPClient {
|
|
|
254
307
|
return this.request('POST', `/api/handshake/${encodeURIComponent(handshakeId)}/consume`, params, true);
|
|
255
308
|
}
|
|
256
309
|
// ------------------------------------------------------------------
|
|
310
|
+
// v1 Trust Receipt Enforcement
|
|
311
|
+
// ------------------------------------------------------------------
|
|
312
|
+
/** Create a v1 pre-action trust receipt for a high-risk mutation. */
|
|
313
|
+
async createTrustReceipt(params) {
|
|
314
|
+
return this.request('POST', '/api/v1/trust-receipts', trustReceiptBody(params), true);
|
|
315
|
+
}
|
|
316
|
+
/** Read current receipt state from the append-only v1 audit timeline. */
|
|
317
|
+
async getTrustReceipt(receiptId) {
|
|
318
|
+
return this.request('GET', `/api/v1/trust-receipts/${encodeURIComponent(receiptId)}`, undefined, true);
|
|
319
|
+
}
|
|
320
|
+
/** Request human signoff for a receipt that requires approval. */
|
|
321
|
+
async requestSignoff(params) {
|
|
322
|
+
return this.request('POST', '/api/v1/signoffs/request', {
|
|
323
|
+
receipt_id: params.receiptId,
|
|
324
|
+
approver_id: params.approverId,
|
|
325
|
+
expires_in_minutes: params.expiresInMinutes,
|
|
326
|
+
comment: params.comment,
|
|
327
|
+
}, true);
|
|
328
|
+
}
|
|
329
|
+
/** Consume a receipt before mutation. If this fails, do not execute the write. */
|
|
330
|
+
async consumeTrustReceipt(receiptId, params) {
|
|
331
|
+
return this.request('POST', `/api/v1/trust-receipts/${encodeURIComponent(receiptId)}/consume`, {
|
|
332
|
+
action_hash: params.actionHash,
|
|
333
|
+
executing_system: params.executingSystem,
|
|
334
|
+
execution_reference_id: params.executionReferenceId,
|
|
335
|
+
}, true);
|
|
336
|
+
}
|
|
337
|
+
/** Emit the post-mutation execution attestation bound to the consumed receipt. */
|
|
338
|
+
async attestExecution(receiptId, params) {
|
|
339
|
+
return this.request('POST', `/api/v1/trust-receipts/${encodeURIComponent(receiptId)}/execution`, {
|
|
340
|
+
executed_action: params.executedAction,
|
|
341
|
+
executing_system: params.executingSystem,
|
|
342
|
+
execution_id: params.executionId,
|
|
343
|
+
executed_at: params.executedAt,
|
|
344
|
+
}, true);
|
|
345
|
+
}
|
|
346
|
+
/** Fetch the signed evidence packet, when the receipt is in a signable state. */
|
|
347
|
+
async getTrustReceiptEvidence(receiptId) {
|
|
348
|
+
return this.request('GET', `/api/v1/trust-receipts/${encodeURIComponent(receiptId)}/evidence`, undefined, true);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Wrap a dangerous mutation in the v1 receipt lifecycle.
|
|
352
|
+
* The mutation runs only after create + consume succeed.
|
|
353
|
+
*/
|
|
354
|
+
async requireReceipt(params, mutate) {
|
|
355
|
+
const receipt = await this.createTrustReceipt(params);
|
|
356
|
+
if (receipt.decision === 'deny' || receipt.receipt_status === 'denied') {
|
|
357
|
+
throw new EPError('EMILIA denied the action before execution', 403, 'receipt_denied');
|
|
358
|
+
}
|
|
359
|
+
let signoff;
|
|
360
|
+
if (receipt.signoff_required) {
|
|
361
|
+
if (!params.approverId && !params.quorumPolicy) {
|
|
362
|
+
throw new EPError('Receipt requires signoff; pass approverId or quorumPolicy', 409, 'missing_approver_id');
|
|
363
|
+
}
|
|
364
|
+
signoff = await this.requestSignoff({
|
|
365
|
+
receiptId: receipt.receipt_id,
|
|
366
|
+
approverId: params.approverId,
|
|
367
|
+
expiresInMinutes: params.signoffExpiresInMinutes,
|
|
368
|
+
comment: params.signoffComment,
|
|
369
|
+
});
|
|
370
|
+
if (!params.onSignoffRequired) {
|
|
371
|
+
throw new EPError('Receipt requires human signoff before the mutation can run', 409, 'signoff_required');
|
|
372
|
+
}
|
|
373
|
+
const signoffResult = await params.onSignoffRequired({ client: this, receipt, signoff });
|
|
374
|
+
if (signoffResult === false || (typeof signoffResult === 'object' && signoffResult?.approved === false)) {
|
|
375
|
+
throw new EPError('Human signoff was not approved', 403, 'signoff_rejected');
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
const consume = await this.consumeTrustReceipt(receipt.receipt_id, {
|
|
379
|
+
actionHash: receipt.action_hash,
|
|
380
|
+
executingSystem: params.executingSystem,
|
|
381
|
+
executionReferenceId: params.executionReferenceId,
|
|
382
|
+
});
|
|
383
|
+
const result = await mutate({ receipt, consume });
|
|
384
|
+
const executedAction = typeof params.executedAction === 'function'
|
|
385
|
+
? params.executedAction({ receipt, result })
|
|
386
|
+
: params.executedAction ?? receipt.canonical_action;
|
|
387
|
+
const executionId = typeof params.executionId === 'function'
|
|
388
|
+
? params.executionId(result)
|
|
389
|
+
: params.executionId;
|
|
390
|
+
const execution = await this.attestExecution(receipt.receipt_id, {
|
|
391
|
+
executedAction,
|
|
392
|
+
executingSystem: params.executingSystem,
|
|
393
|
+
executionId,
|
|
394
|
+
});
|
|
395
|
+
const evidence = params.fetchEvidence
|
|
396
|
+
? await this.getTrustReceiptEvidence(receipt.receipt_id)
|
|
397
|
+
: undefined;
|
|
398
|
+
return { result, receipt, signoff, consume, execution, evidence };
|
|
399
|
+
}
|
|
400
|
+
/** Wrap an existing async function with requireReceipt(). */
|
|
401
|
+
withReceipt(params, mutate) {
|
|
402
|
+
return async (...args) => {
|
|
403
|
+
const resolved = typeof params === 'function' ? params(...args) : params;
|
|
404
|
+
return this.requireReceipt(resolved, () => mutate(...args));
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
// ------------------------------------------------------------------
|
|
257
408
|
// Signoff extension
|
|
258
409
|
// ------------------------------------------------------------------
|
|
259
410
|
/** Issue a signoff challenge for an entity. */
|