@emilia-protocol/sdk 0.1.0 → 0.9.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/index.d.ts CHANGED
@@ -1,194 +1,517 @@
1
- /**
2
- * @emilia-protocol/sdk
3
- *
4
- * TypeScript SDK for EMILIA Protocol (EP).
5
- * The trust layer for agentic commerce.
6
- *
7
- * Usage:
8
- * import { EmiliaClient } from '@emilia-protocol/sdk';
9
- * const ep = new EmiliaClient({ apiKey: 'ep_live_...' });
10
- * const score = await ep.getScore('rex-booking-v1');
11
- *
12
- * @license Apache-2.0
13
- */
14
- export interface EmiliaConfig {
15
- /** Base URL of the EP implementation. Default: https://emiliaprotocol.ai */
16
- baseUrl?: string;
17
- /** API key for write operations (ep_live_...) */
1
+ /** EMILIA Protocol — Full SDK. Zero dependencies, native fetch. @license Apache-2.0 */
2
+ export interface EPClientOptions {
3
+ baseUrl: string;
18
4
  apiKey?: string;
19
- /** Request timeout in ms. Default: 10000 */
20
5
  timeout?: number;
6
+ retries?: number;
21
7
  }
22
- export interface ScoreBreakdown {
23
- delivery_accuracy: number | null;
24
- product_accuracy: number | null;
25
- price_integrity: number | null;
26
- return_processing: number | null;
27
- agent_satisfaction: number | null;
28
- consistency: number | null;
29
- }
30
- export interface ScoreResult {
31
- entity_id: string;
32
- display_name: string;
33
- entity_type: 'agent' | 'merchant' | 'service_provider';
34
- description?: string;
35
- category?: string;
36
- capabilities?: string[];
37
- emilia_score: number;
38
- established: boolean;
39
- total_receipts: number;
40
- successful_receipts: number;
41
- success_rate: number | null;
42
- breakdown: ScoreBreakdown | null;
43
- verified: boolean;
44
- a2a_endpoint?: string;
45
- ucp_profile_url?: string;
46
- member_since: string;
47
- }
48
- export type TransactionType = 'purchase' | 'service' | 'task_completion' | 'delivery' | 'return';
49
- export interface SubmitReceiptInput {
50
- entity_id: string;
51
- transaction_type: TransactionType;
52
- transaction_ref?: string;
53
- delivery_accuracy?: number;
54
- product_accuracy?: number;
55
- price_integrity?: number;
56
- return_processing?: number;
57
- agent_satisfaction?: number;
58
- evidence?: Record<string, unknown>;
59
- }
60
- export interface ReceiptResult {
61
- receipt: {
62
- receipt_id: string;
63
- entity_id: string;
64
- composite_score: number;
65
- receipt_hash: string;
66
- created_at: string;
67
- };
68
- entity_score: {
69
- emilia_score: number;
70
- total_receipts: number;
71
- };
72
- }
73
- export interface RegisterEntityInput {
74
- entity_id: string;
75
- display_name: string;
76
- entity_type: 'agent' | 'merchant' | 'service_provider';
8
+ export interface Party {
9
+ entityRef: string;
10
+ role: 'initiator' | 'responder';
11
+ }
12
+ export interface InitiateHandshakeParams {
13
+ mode: 'mutual' | 'one-way' | 'delegated';
14
+ policyId: string;
15
+ parties: Party[];
16
+ binding?: Record<string, unknown>;
17
+ interactionId?: string;
18
+ }
19
+ export interface PresentParams {
20
+ partyRole: string;
21
+ presentationType: 'ep_trust_profile' | 'verifiable_credential' | 'attestation';
22
+ claims: Record<string, unknown>;
23
+ issuerRef?: string;
24
+ disclosureMode?: 'full' | 'selective' | 'zk';
25
+ }
26
+ export interface GateParams {
27
+ entityId: string;
28
+ action: string;
29
+ policy?: 'strict' | 'standard' | 'permissive' | string;
30
+ handshakeId?: string;
31
+ valueUsd?: number;
32
+ delegationId?: string;
33
+ }
34
+ export interface ConsumeParams {
35
+ receiptData?: Record<string, unknown>;
36
+ }
37
+ export interface IssueChallengeParams {
38
+ entityId: string;
39
+ scope: string;
40
+ context?: Record<string, unknown>;
41
+ }
42
+ export interface AttestParams {
43
+ signature: string;
44
+ payload: Record<string, unknown>;
45
+ }
46
+ export interface ConsumeSignoffParams {
47
+ action: string;
48
+ context?: Record<string, unknown>;
49
+ }
50
+ export interface DenyChallengeParams {
51
+ reason?: string;
52
+ }
53
+ export interface RevokeSignoffOptions {
54
+ reason?: string;
55
+ force?: boolean;
56
+ }
57
+ export interface CreateDelegationParams {
58
+ delegatorId: string;
59
+ delegateeId: string;
60
+ scope: string;
61
+ policyId: string;
62
+ constraints?: Record<string, unknown>;
63
+ expiresAt?: string;
64
+ }
65
+ export interface IssueCommitParams {
66
+ handshakeId: string;
67
+ action: string;
68
+ payload: Record<string, unknown>;
69
+ binding?: Record<string, unknown>;
70
+ }
71
+ export interface RecordObservationParams {
72
+ source_type: string;
73
+ source_ref: string;
74
+ subject_ref: string;
75
+ actor_ref: string;
76
+ action_type: string;
77
+ target_ref?: string;
78
+ issuer_ref?: string;
79
+ observation_type: string;
80
+ severity_hint: string;
81
+ evidence_hash?: string;
82
+ expires_at: string;
83
+ metadata?: Record<string, unknown>;
84
+ }
85
+ export interface CheckActionParams {
86
+ subject_ref: string;
87
+ actor_ref: string;
88
+ action_type: string;
89
+ target_ref?: string;
90
+ issuer_ref?: string;
91
+ context_hash: string;
92
+ payload_hash?: string;
93
+ policy_class?: string;
94
+ }
95
+ export interface CreateSuppressionParams {
96
+ scope_binding_hash: string;
97
+ reason_code: string;
98
+ justification: string;
99
+ expires_at: string;
100
+ }
101
+ export interface ObservationResponse {
102
+ observation_id: string;
103
+ observation_type: string;
104
+ severity_hint: string;
105
+ observed_at: string;
106
+ expires_at: string;
107
+ }
108
+ export interface AdvisoryResponse {
109
+ advisory_id: string;
110
+ status: string;
111
+ reason_codes: string[];
112
+ recommended_policy_action: string;
113
+ evidence_refs: string[];
114
+ scope_binding_hash: string;
115
+ issued_at: string;
116
+ expires_at: string;
117
+ version: number;
118
+ }
119
+ export interface SuppressionResponse {
120
+ suppression_id: string;
121
+ status: string;
122
+ created_at: string;
123
+ expires_at: string;
124
+ }
125
+ export interface SignoffFilters {
126
+ entityId?: string;
127
+ scope?: string;
128
+ status?: string;
129
+ limit?: number;
130
+ offset?: number;
131
+ }
132
+ export interface DateRange {
133
+ from?: string;
134
+ to?: string;
135
+ }
136
+ export interface EscalateSignoffParams {
137
+ challengeId: string;
138
+ escalateTo: string;
139
+ reason: string;
140
+ }
141
+ export interface NotifySignoffParams {
142
+ challengeId: string;
143
+ channel: string;
144
+ }
145
+ export interface SearchEventsParams {
146
+ query: string;
147
+ filters?: Record<string, unknown>;
148
+ }
149
+ export interface ExportAuditParams {
150
+ format?: 'json' | 'csv' | 'pdf';
151
+ dateRange?: DateRange;
152
+ entityId?: string;
153
+ eventTypes?: string[];
154
+ }
155
+ export interface GetAuditReportParams {
156
+ reportType: string;
157
+ dateRange: DateRange;
158
+ }
159
+ export interface SimulatePolicyParams {
160
+ policyId: string;
161
+ context: Record<string, unknown>;
162
+ }
163
+ export interface RolloutPolicyParams {
164
+ policyId: string;
165
+ strategy: 'canary' | 'blue-green' | 'linear' | string;
166
+ percentage?: number;
167
+ }
168
+ export interface DiffPolicyVersionsParams {
169
+ policyId: string;
170
+ versionA: string;
171
+ versionB: string;
172
+ }
173
+ export interface Policy {
174
+ name: string;
175
+ family: string;
77
176
  description: string;
78
- capabilities?: string[];
79
- website_url?: string;
80
- category?: string;
81
- service_area?: string;
82
- a2a_endpoint?: string;
83
- ucp_profile_url?: string;
84
- }
85
- export interface RegisterResult {
86
- entity: {
87
- id: string;
88
- entity_id: string;
89
- display_name: string;
90
- entity_number?: number;
91
- emilia_score: number;
92
- };
93
- api_key: string;
94
- }
95
- export interface VerifyResult {
96
- receipt_id: string;
97
- receipt_hash: string;
98
- anchored: boolean;
99
- batch?: {
100
- id: string;
101
- merkle_root: string;
102
- leaf_count: number;
103
- tx_hash: string | null;
104
- block_number: number | null;
105
- status: string;
106
- created_at: string;
107
- };
108
- proof?: Array<{
109
- hash: string;
110
- position: 'left' | 'right';
111
- }>;
112
- verified: boolean;
113
- how_to_verify?: Record<string, string | null>;
114
- }
115
- export interface SearchResult {
116
- entities: Array<{
117
- entity_id: string;
118
- display_name: string;
119
- entity_type: string;
120
- description: string;
121
- emilia_score: number;
122
- total_receipts: number;
123
- verified: boolean;
124
- }>;
125
- }
126
- export interface LeaderboardResult {
127
- entities: Array<{
128
- entity_id: string;
129
- display_name: string;
130
- entity_type: string;
131
- emilia_score: number;
132
- total_receipts: number;
133
- }>;
134
- }
135
- export declare class EmiliaError extends Error {
136
- status: number;
137
- constructor(message: string, status: number);
138
- }
139
- export declare class EmiliaClient {
140
- private baseUrl;
141
- private apiKey;
142
- private timeout;
143
- constructor(config?: EmiliaConfig);
177
+ minConfidence?: string;
178
+ minScore?: number;
179
+ }
180
+ export interface Handshake {
181
+ id: string;
182
+ status: string;
183
+ mode: string;
184
+ policyId: string;
185
+ parties: Party[];
186
+ createdAt: string;
187
+ }
188
+ export interface Presentation {
189
+ presentationId: string;
190
+ partyRole: string;
191
+ status: string;
192
+ createdAt: string;
193
+ }
194
+ export interface VerificationResult {
195
+ handshakeId: string;
196
+ result: 'accepted' | 'rejected' | 'partial';
197
+ reasonCodes: string[];
198
+ evaluatedAt: string;
199
+ }
200
+ export interface GateResult {
201
+ decision: 'allow' | 'deny' | 'review';
202
+ commitRef?: string;
203
+ reasons: string[];
204
+ appealPath?: string;
205
+ }
206
+ export interface SignoffChallenge {
207
+ challengeId: string;
208
+ entityId: string;
209
+ scope: string;
210
+ nonce: string;
211
+ expiresAt: string;
212
+ }
213
+ export interface SignoffAttestation {
214
+ attestationId: string;
215
+ challengeId: string;
216
+ status: 'valid' | 'invalid' | 'expired';
217
+ signoffId?: string;
218
+ createdAt: string;
219
+ }
220
+ export interface SignoffConsumption {
221
+ signoffId: string;
222
+ consumed: boolean;
223
+ action: string;
224
+ consumedAt?: string;
225
+ }
226
+ export interface Consumption {
227
+ handshakeId: string;
228
+ consumed: boolean;
229
+ receiptId?: string;
230
+ consumedAt?: string;
231
+ }
232
+ export interface RevokeResult {
233
+ id: string;
234
+ revoked: boolean;
235
+ revokedAt: string;
236
+ }
237
+ export interface DenyResult {
238
+ challengeId: string;
239
+ denied: boolean;
240
+ reason?: string;
241
+ deniedAt: string;
242
+ }
243
+ export interface Delegation {
244
+ delegationId: string;
245
+ delegatorId: string;
246
+ delegateeId: string;
247
+ scope: string;
248
+ policyId: string;
249
+ status: string;
250
+ constraints?: Record<string, unknown>;
251
+ createdAt: string;
252
+ expiresAt?: string;
253
+ }
254
+ export interface DelegationVerification {
255
+ delegationId: string;
256
+ valid: boolean;
257
+ status: string;
258
+ reasonCodes: string[];
259
+ verifiedAt: string;
260
+ }
261
+ export interface Commit {
262
+ commitId: string;
263
+ handshakeId: string;
264
+ action: string;
265
+ status: string;
266
+ payload: Record<string, unknown>;
267
+ createdAt: string;
268
+ }
269
+ export interface CommitVerification {
270
+ commitId: string;
271
+ valid: boolean;
272
+ status: string;
273
+ reasonCodes: string[];
274
+ verifiedAt: string;
275
+ }
276
+ export interface PendingSignoff {
277
+ challengeId: string;
278
+ entityId: string;
279
+ scope: string;
280
+ status: string;
281
+ createdAt: string;
282
+ expiresAt: string;
283
+ }
284
+ export interface PendingSignoffsResponse {
285
+ items: PendingSignoff[];
286
+ total: number;
287
+ offset: number;
288
+ limit: number;
289
+ }
290
+ export interface SignoffQueueItem {
291
+ challengeId: string;
292
+ entityId: string;
293
+ scope: string;
294
+ priority: string;
295
+ status: string;
296
+ createdAt: string;
297
+ expiresAt: string;
298
+ }
299
+ export interface SignoffQueueResponse {
300
+ items: SignoffQueueItem[];
301
+ total: number;
302
+ offset: number;
303
+ limit: number;
304
+ }
305
+ export interface SignoffDashboard {
306
+ pending: number;
307
+ approved: number;
308
+ denied: number;
309
+ expired: number;
310
+ averageResponseTime: number;
311
+ recentActivity: DashboardActivity[];
312
+ }
313
+ export interface DashboardActivity {
314
+ challengeId: string;
315
+ action: string;
316
+ entityId: string;
317
+ timestamp: string;
318
+ }
319
+ export interface SignoffAnalytics {
320
+ totalChallenges: number;
321
+ approvalRate: number;
322
+ averageResponseTime: number;
323
+ byScope: Record<string, number>;
324
+ timeseries: AnalyticsDataPoint[];
325
+ }
326
+ export interface AnalyticsDataPoint {
327
+ timestamp: string;
328
+ count: number;
329
+ approved: number;
330
+ denied: number;
331
+ }
332
+ export interface EscalationResult {
333
+ challengeId: string;
334
+ escalatedTo: string;
335
+ escalatedAt: string;
336
+ status: string;
337
+ }
338
+ export interface NotificationResult {
339
+ challengeId: string;
340
+ channel: string;
341
+ sent: boolean;
342
+ sentAt: string;
343
+ }
344
+ export interface AuditEvent {
345
+ eventId: string;
346
+ type: string;
347
+ entityId: string;
348
+ action: string;
349
+ metadata: Record<string, unknown>;
350
+ timestamp: string;
351
+ }
352
+ export interface SearchEventsResponse {
353
+ items: AuditEvent[];
354
+ total: number;
355
+ }
356
+ export interface EventTimeline {
357
+ handshakeId: string;
358
+ events: AuditEvent[];
359
+ }
360
+ export interface ExportAuditResult {
361
+ exportId: string;
362
+ format: string;
363
+ status: string;
364
+ downloadUrl?: string;
365
+ createdAt: string;
366
+ }
367
+ export interface AuditReport {
368
+ reportType: string;
369
+ dateRange: DateRange;
370
+ summary: Record<string, unknown>;
371
+ items: AuditEvent[];
372
+ generatedAt: string;
373
+ }
374
+ export interface IntegrityCheckResult {
375
+ healthy: boolean;
376
+ checks: IntegrityCheck[];
377
+ checkedAt: string;
378
+ }
379
+ export interface IntegrityCheck {
380
+ name: string;
381
+ status: 'pass' | 'fail' | 'warn';
382
+ message?: string;
383
+ }
384
+ export interface PolicySimulationResult {
385
+ policyId: string;
386
+ decision: 'allow' | 'deny' | 'review';
387
+ reasons: string[];
388
+ evaluatedAt: string;
389
+ }
390
+ export interface PolicyRolloutResult {
391
+ policyId: string;
392
+ strategy: string;
393
+ percentage: number;
394
+ status: string;
395
+ startedAt: string;
396
+ }
397
+ export interface PolicyVersion {
398
+ versionId: string;
399
+ policyId: string;
400
+ version: number;
401
+ createdAt: string;
402
+ createdBy: string;
403
+ changelog?: string;
404
+ }
405
+ export interface PolicyDiff {
406
+ policyId: string;
407
+ versionA: string;
408
+ versionB: string;
409
+ changes: PolicyChange[];
410
+ }
411
+ export interface PolicyChange {
412
+ field: string;
413
+ oldValue: unknown;
414
+ newValue: unknown;
415
+ type: 'added' | 'removed' | 'modified';
416
+ }
417
+ export declare class EPError extends Error {
418
+ readonly status?: number | undefined;
419
+ readonly code?: string | undefined;
420
+ constructor(message: string, status?: number | undefined, code?: string | undefined);
421
+ }
422
+ export declare class EPCloudClient {
423
+ private readonly _request;
424
+ /** @internal */
425
+ constructor(_request: <T>(method: string, path: string, body?: unknown, auth?: boolean) => Promise<T>);
426
+ /** Get pending signoffs, optionally filtered by entity, scope, or status. */
427
+ getPendingSignoffs(filters?: SignoffFilters): Promise<PendingSignoffsResponse>;
428
+ /** Get the signoff queue with optional filtering. */
429
+ getSignoffQueue(filters?: SignoffFilters): Promise<SignoffQueueResponse>;
430
+ /** Get a dashboard summary of signoff activity over a date range. */
431
+ getSignoffDashboard(dateRange?: DateRange): Promise<SignoffDashboard>;
432
+ /** Get analytics for signoff activity with optional granularity. */
433
+ getSignoffAnalytics(dateRange?: DateRange, granularity?: 'hour' | 'day' | 'week' | 'month'): Promise<SignoffAnalytics>;
434
+ /** Escalate a signoff challenge to another entity. */
435
+ escalateSignoff(challengeId: string, escalateTo: string, reason: string): Promise<EscalationResult>;
436
+ /** Send a notification about a signoff challenge via the specified channel. */
437
+ notifySignoff(challengeId: string, channel: string): Promise<NotificationResult>;
438
+ /** Search audit events by query string and optional filters. */
439
+ searchEvents(query: string, filters?: Record<string, unknown>): Promise<SearchEventsResponse>;
440
+ /** Get a chronological timeline of events for a specific handshake. */
441
+ getEventTimeline(handshakeId: string): Promise<EventTimeline>;
442
+ /** Export audit data in the specified format. */
443
+ exportAudit(params: ExportAuditParams): Promise<ExportAuditResult>;
444
+ /** Generate an audit report for the given type and date range. */
445
+ getAuditReport(reportType: string, dateRange: DateRange): Promise<AuditReport>;
446
+ /** Run an integrity check on the protocol data store. */
447
+ checkIntegrity(): Promise<IntegrityCheckResult>;
448
+ /** Simulate a policy against a hypothetical context without persisting any state. */
449
+ simulatePolicy(policyId: string, context: Record<string, unknown>): Promise<PolicySimulationResult>;
450
+ /** Begin a rollout of a policy using the specified strategy. */
451
+ rolloutPolicy(policyId: string, strategy: string, percentage?: number): Promise<PolicyRolloutResult>;
452
+ /** List all versions of a policy. */
453
+ getPolicyVersions(policyId: string): Promise<PolicyVersion[]>;
454
+ /** Diff two versions of a policy to see what changed. */
455
+ diffPolicyVersions(policyId: string, versionA: string, versionB: string): Promise<PolicyDiff>;
456
+ /** @internal Build query string from SignoffFilters. */
457
+ private _buildQs;
458
+ /** @internal Build query string from DateRange. */
459
+ private _buildDateRangeQs;
460
+ /** @internal Convert key-value pairs to a query string. */
461
+ private _toQs;
462
+ }
463
+ export declare class EPClient {
464
+ private readonly baseUrl;
465
+ private readonly apiKey;
466
+ private readonly timeout;
467
+ private readonly retries;
468
+ /** Cloud-specific endpoints (dashboards, analytics, audit, policy management). */
469
+ readonly cloud: EPCloudClient;
470
+ constructor(options: EPClientOptions);
144
471
  private request;
145
- /**
146
- * Look up an entity's EMILIA Score.
147
- * No authentication required — scores are public by design.
148
- */
149
- getScore(entityId: string): Promise<ScoreResult>;
150
- /**
151
- * Submit a transaction receipt.
152
- * Requires API key.
153
- */
154
- submitReceipt(input: SubmitReceiptInput): Promise<ReceiptResult>;
155
- /**
156
- * Register a new entity.
157
- * Requires API key.
158
- */
159
- registerEntity(input: RegisterEntityInput): Promise<RegisterResult>;
160
- /**
161
- * Verify a receipt against the on-chain Merkle root.
162
- * No authentication required.
163
- */
164
- verifyReceipt(receiptId: string): Promise<VerifyResult>;
165
- /**
166
- * Search for entities.
167
- * No authentication required.
168
- */
169
- searchEntities(query: string, options?: {
170
- entityType?: 'agent' | 'merchant' | 'service_provider';
171
- minScore?: number;
172
- }): Promise<SearchResult>;
173
- /**
174
- * Get the leaderboard.
175
- * No authentication required.
176
- */
177
- getLeaderboard(options?: {
178
- limit?: number;
179
- entityType?: 'agent' | 'merchant' | 'service_provider';
180
- }): Promise<LeaderboardResult>;
181
- /**
182
- * Check if an entity meets a minimum trust threshold.
183
- * Returns true if the entity's score >= minScore.
184
- */
185
- isTrusted(entityId: string, minScore?: number): Promise<boolean>;
186
- /**
187
- * Submit a receipt and verify the entity meets a threshold in one call.
188
- * Returns the receipt result and whether the entity is still trusted.
189
- */
190
- submitAndCheck(input: SubmitReceiptInput, minScore?: number): Promise<ReceiptResult & {
191
- still_trusted: boolean;
192
- }>;
193
- }
194
- export default EmiliaClient;
472
+ /** List available trust policies. */
473
+ listPolicies(params?: {
474
+ scope?: string;
475
+ }): Promise<Policy[]>;
476
+ /** Initiate a trust handshake between parties. */
477
+ initiateHandshake(params: InitiateHandshakeParams): Promise<Handshake>;
478
+ /** Present credentials to a handshake. */
479
+ present(handshakeId: string, params: PresentParams): Promise<Presentation>;
480
+ /** Verify a handshake -- evaluate all presentations against policy. */
481
+ verify(handshakeId: string): Promise<VerificationResult>;
482
+ /** Pre-action trust gate. Returns allow/deny/review with commit ref. */
483
+ gate(params: GateParams): Promise<GateResult>;
484
+ /** Retrieve details of a specific handshake by ID. */
485
+ getHandshake(handshakeId: string): Promise<Handshake>;
486
+ /** Revoke an active handshake, invalidating all associated state. */
487
+ revokeHandshake(handshakeId: string): Promise<RevokeResult>;
488
+ /** Consume a handshake -- finalize and optionally bind a receipt. */
489
+ consume(handshakeId: string, params?: ConsumeParams): Promise<Consumption>;
490
+ /** Issue a signoff challenge for an entity. */
491
+ issueChallenge(params: IssueChallengeParams): Promise<SignoffChallenge>;
492
+ /** Attest to a signoff challenge with a cryptographic signature. */
493
+ attest(challengeId: string, params: AttestParams): Promise<SignoffAttestation>;
494
+ /** Deny a signoff challenge with an optional reason. */
495
+ denyChallenge(challengeId: string, reason?: string): Promise<DenyResult>;
496
+ /** Revoke a previously granted signoff. */
497
+ revokeSignoff(challengeId: string, options?: RevokeSignoffOptions): Promise<RevokeResult>;
498
+ /** Consume a signoff -- mark it as used for a specific action. */
499
+ consumeSignoff(signoffId: string, params: ConsumeSignoffParams): Promise<SignoffConsumption>;
500
+ /** Create a trust delegation from one entity to another. */
501
+ createDelegation(params: CreateDelegationParams): Promise<Delegation>;
502
+ /** Verify the validity of an existing delegation. */
503
+ verifyDelegation(delegationId: string): Promise<DelegationVerification>;
504
+ /** Issue a trust commit binding a handshake to a specific action. */
505
+ issueCommit(params: IssueCommitParams): Promise<Commit>;
506
+ /** Verify a previously issued commit. */
507
+ verifyCommit(commitId: string): Promise<CommitVerification>;
508
+ /** Record a behavioral or contextual observation for the Eye subsystem. */
509
+ recordObservation(params: RecordObservationParams): Promise<ObservationResponse>;
510
+ /** Check an action against recorded observations and return an advisory. */
511
+ checkAction(params: CheckActionParams): Promise<AdvisoryResponse>;
512
+ /** Retrieve an existing advisory by ID. */
513
+ getAdvisory(advisoryId: string): Promise<AdvisoryResponse>;
514
+ /** Create a suppression to exclude a reason code from future advisories. */
515
+ createSuppression(params: CreateSuppressionParams): Promise<SuppressionResponse>;
516
+ }
517
+ //# sourceMappingURL=index.d.ts.map