a1-ai 2.8.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/cjs/index.d.ts +373 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +574 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/integrations.d.ts +232 -0
- package/dist/cjs/integrations.d.ts.map +1 -0
- package/dist/cjs/integrations.js +368 -0
- package/dist/cjs/integrations.js.map +1 -0
- package/dist/cjs/middleware.d.ts +159 -0
- package/dist/cjs/middleware.d.ts.map +1 -0
- package/dist/cjs/middleware.js +207 -0
- package/dist/cjs/middleware.js.map +1 -0
- package/dist/cjs/passport.d.ts +109 -0
- package/dist/cjs/passport.d.ts.map +1 -0
- package/dist/cjs/passport.js +158 -0
- package/dist/cjs/passport.js.map +1 -0
- package/dist/cjs/swarm.d.ts +78 -0
- package/dist/cjs/swarm.d.ts.map +1 -0
- package/dist/cjs/swarm.js +125 -0
- package/dist/cjs/swarm.js.map +1 -0
- package/dist/esm/index.d.ts +373 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +562 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/integrations.d.ts +232 -0
- package/dist/esm/integrations.d.ts.map +1 -0
- package/dist/esm/integrations.js +358 -0
- package/dist/esm/integrations.js.map +1 -0
- package/dist/esm/middleware.d.ts +159 -0
- package/dist/esm/middleware.d.ts.map +1 -0
- package/dist/esm/middleware.js +201 -0
- package/dist/esm/middleware.js.map +1 -0
- package/dist/esm/passport.d.ts +109 -0
- package/dist/esm/passport.d.ts.map +1 -0
- package/dist/esm/passport.js +151 -0
- package/dist/esm/passport.js.map +1 -0
- package/dist/esm/swarm.d.ts +78 -0
- package/dist/esm/swarm.d.ts.map +1 -0
- package/dist/esm/swarm.js +120 -0
- package/dist/esm/swarm.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* a1 — TypeScript/Node.js client for the a1 AI agent
|
|
3
|
+
* authorization protocol.
|
|
4
|
+
*
|
|
5
|
+
* Wraps the a1-gateway REST API. No Rust toolchain required.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { A1Client } from "a1";
|
|
10
|
+
*
|
|
11
|
+
* const client = new A1Client("http://localhost:8080");
|
|
12
|
+
*
|
|
13
|
+
* const result = await client.authorize({
|
|
14
|
+
* chain: signedChain,
|
|
15
|
+
* intentName: "trade.equity",
|
|
16
|
+
* intentParams: { symbol: "AAPL" },
|
|
17
|
+
* executorPkHex: "...",
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class A1Error extends Error {
|
|
22
|
+
readonly code: string | undefined;
|
|
23
|
+
readonly status: number | undefined;
|
|
24
|
+
constructor(message: string, code?: string, status?: number);
|
|
25
|
+
}
|
|
26
|
+
export interface DelegationCert {
|
|
27
|
+
version: number;
|
|
28
|
+
delegator_pk: string;
|
|
29
|
+
delegate_pk: string;
|
|
30
|
+
scope_root: string;
|
|
31
|
+
nonce: string;
|
|
32
|
+
issued_at: number;
|
|
33
|
+
expiration_unix: number;
|
|
34
|
+
max_depth: number;
|
|
35
|
+
extensions?: Record<string, unknown>;
|
|
36
|
+
signature: string;
|
|
37
|
+
}
|
|
38
|
+
export interface SignedChain {
|
|
39
|
+
version: number;
|
|
40
|
+
principal_pk: string;
|
|
41
|
+
principal_scope: string;
|
|
42
|
+
certs: DelegationCert[];
|
|
43
|
+
}
|
|
44
|
+
export interface VerifiedToken {
|
|
45
|
+
receipt: {
|
|
46
|
+
chain_depth: number;
|
|
47
|
+
verified_scope_root: string;
|
|
48
|
+
intent: string;
|
|
49
|
+
verified_at_unix: number;
|
|
50
|
+
chain_fingerprint: string;
|
|
51
|
+
};
|
|
52
|
+
mac: string;
|
|
53
|
+
}
|
|
54
|
+
export interface IntentSpec {
|
|
55
|
+
name: string;
|
|
56
|
+
params?: Record<string, string>;
|
|
57
|
+
}
|
|
58
|
+
export interface IssueCertOptions {
|
|
59
|
+
delegatePkHex: string;
|
|
60
|
+
intents: IntentSpec[];
|
|
61
|
+
ttlSeconds?: number;
|
|
62
|
+
maxDepth?: number;
|
|
63
|
+
extensions?: Record<string, unknown>;
|
|
64
|
+
}
|
|
65
|
+
export interface IssueCertResult {
|
|
66
|
+
fingerprintHex: string;
|
|
67
|
+
scopeRootHex: string;
|
|
68
|
+
}
|
|
69
|
+
export interface AuthorizeOptions {
|
|
70
|
+
chain: SignedChain;
|
|
71
|
+
intentName: string;
|
|
72
|
+
intentParams?: Record<string, string>;
|
|
73
|
+
executorPkHex: string;
|
|
74
|
+
returnToken?: boolean;
|
|
75
|
+
requestId?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface AuthorizeResult {
|
|
78
|
+
authorized: boolean;
|
|
79
|
+
chainDepth: number;
|
|
80
|
+
chainFingerprint: string;
|
|
81
|
+
verifiedAtUnix: number;
|
|
82
|
+
token?: VerifiedToken;
|
|
83
|
+
}
|
|
84
|
+
export interface BatchIntentSpec {
|
|
85
|
+
name: string;
|
|
86
|
+
params?: Record<string, string>;
|
|
87
|
+
}
|
|
88
|
+
export interface BatchAuthorizeOptions {
|
|
89
|
+
chain: SignedChain;
|
|
90
|
+
executorPkHex: string;
|
|
91
|
+
intents: BatchIntentSpec[];
|
|
92
|
+
}
|
|
93
|
+
export interface BatchItem {
|
|
94
|
+
intentName: string;
|
|
95
|
+
authorized: boolean;
|
|
96
|
+
chainFingerprint?: string;
|
|
97
|
+
error?: string;
|
|
98
|
+
errorCode?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface BatchAuthorizeResult {
|
|
101
|
+
allAuthorized: boolean;
|
|
102
|
+
authorizedCount: number;
|
|
103
|
+
totalCount: number;
|
|
104
|
+
results: BatchItem[];
|
|
105
|
+
}
|
|
106
|
+
export interface RevokeBatchResult {
|
|
107
|
+
revokedCount: number;
|
|
108
|
+
failed: string[];
|
|
109
|
+
}
|
|
110
|
+
export interface CertStatus {
|
|
111
|
+
fingerprint: string;
|
|
112
|
+
revoked: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface VerifyTokenOptions {
|
|
115
|
+
token: VerifiedToken;
|
|
116
|
+
}
|
|
117
|
+
export interface VerifyTokenResult {
|
|
118
|
+
valid: boolean;
|
|
119
|
+
chainDepth: number;
|
|
120
|
+
chainFingerprint: string;
|
|
121
|
+
verifiedAtUnix: number;
|
|
122
|
+
}
|
|
123
|
+
export interface HealthResult {
|
|
124
|
+
status: string;
|
|
125
|
+
signing_pk_hex: string;
|
|
126
|
+
version: string;
|
|
127
|
+
}
|
|
128
|
+
export interface WellKnownConfig {
|
|
129
|
+
issuer: string;
|
|
130
|
+
gateway_signing_pk_hex: string;
|
|
131
|
+
gateway_did: string;
|
|
132
|
+
authorization_endpoint: string;
|
|
133
|
+
batch_authorize_endpoint: string;
|
|
134
|
+
passport_authorize_endpoint: string;
|
|
135
|
+
cert_issuance_endpoint: string;
|
|
136
|
+
cert_revoke_endpoint: string;
|
|
137
|
+
cert_revoke_batch_endpoint: string;
|
|
138
|
+
token_verify_endpoint: string;
|
|
139
|
+
crl_endpoint: string;
|
|
140
|
+
did_resolve_endpoint: string;
|
|
141
|
+
did_gateway_endpoint: string;
|
|
142
|
+
vc_issue_endpoint: string;
|
|
143
|
+
vc_verify_endpoint: string;
|
|
144
|
+
anchor_endpoint: string;
|
|
145
|
+
negotiate_endpoint: string;
|
|
146
|
+
jwt_exchange_endpoint: string;
|
|
147
|
+
webhook_status_endpoint: string;
|
|
148
|
+
tenant_info_endpoint: string;
|
|
149
|
+
a1_version: string;
|
|
150
|
+
protocol_enforcer: string;
|
|
151
|
+
supported_algorithms: string[];
|
|
152
|
+
supported_features: string[];
|
|
153
|
+
supported_networks: string[];
|
|
154
|
+
jwt_exchange_enabled: boolean;
|
|
155
|
+
webhook_enabled: boolean;
|
|
156
|
+
multi_tenant_enabled: boolean;
|
|
157
|
+
}
|
|
158
|
+
export interface DidVerificationMethod {
|
|
159
|
+
id: string;
|
|
160
|
+
type: string;
|
|
161
|
+
controller: string;
|
|
162
|
+
publicKeyHex: string;
|
|
163
|
+
}
|
|
164
|
+
export interface DidDocument {
|
|
165
|
+
"@context": string[];
|
|
166
|
+
id: string;
|
|
167
|
+
verificationMethod: DidVerificationMethod[];
|
|
168
|
+
authentication: string[];
|
|
169
|
+
assertionMethod: string[];
|
|
170
|
+
capabilityDelegation: string[];
|
|
171
|
+
a1PassportNamespace?: string;
|
|
172
|
+
a1CapabilityMaskHex?: string;
|
|
173
|
+
a1Version: string;
|
|
174
|
+
}
|
|
175
|
+
export interface VcProof {
|
|
176
|
+
type: string;
|
|
177
|
+
created: string;
|
|
178
|
+
verificationMethod: string;
|
|
179
|
+
proofPurpose: string;
|
|
180
|
+
proofValue: string;
|
|
181
|
+
}
|
|
182
|
+
export interface VcCredentialSubject {
|
|
183
|
+
id: string;
|
|
184
|
+
a1PassportNamespace: string;
|
|
185
|
+
a1Capabilities: string[];
|
|
186
|
+
a1ChainFingerprint: string;
|
|
187
|
+
a1Version: string;
|
|
188
|
+
}
|
|
189
|
+
export interface VerifiableCredential {
|
|
190
|
+
"@context": string[];
|
|
191
|
+
type: string[];
|
|
192
|
+
id: string;
|
|
193
|
+
issuer: string;
|
|
194
|
+
issuanceDate: string;
|
|
195
|
+
expirationDate?: string;
|
|
196
|
+
credentialSubject: VcCredentialSubject;
|
|
197
|
+
proof: VcProof;
|
|
198
|
+
}
|
|
199
|
+
export interface IssueVcOptions {
|
|
200
|
+
subjectPkHex: string;
|
|
201
|
+
passportNamespace: string;
|
|
202
|
+
capabilities: string[];
|
|
203
|
+
ttlSeconds?: number;
|
|
204
|
+
chainFingerprintHex?: string;
|
|
205
|
+
}
|
|
206
|
+
export interface IssueVcResult {
|
|
207
|
+
credential: VerifiableCredential;
|
|
208
|
+
subject_did: string;
|
|
209
|
+
issuer_did: string;
|
|
210
|
+
}
|
|
211
|
+
export interface VerifyVcResult {
|
|
212
|
+
valid: boolean;
|
|
213
|
+
issuerDid: string;
|
|
214
|
+
subjectDid: string;
|
|
215
|
+
passportNamespace: string;
|
|
216
|
+
capabilities: string[];
|
|
217
|
+
error?: string;
|
|
218
|
+
}
|
|
219
|
+
export type AnchorNetwork = "ethereum" | "ethereum-sepolia" | "polygon" | "base" | "arbitrum" | "solana" | {
|
|
220
|
+
custom: {
|
|
221
|
+
chain_id: number;
|
|
222
|
+
name: string;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
export interface AnchorReceiptOptions {
|
|
226
|
+
/** The ZkChainCommitment object (from `authorize` response). */
|
|
227
|
+
commitment: Record<string, unknown>;
|
|
228
|
+
/** `did:a1:` identifier of the passport holder. */
|
|
229
|
+
passportDid: string;
|
|
230
|
+
/** Target network. Default: "ethereum". */
|
|
231
|
+
network?: AnchorNetwork;
|
|
232
|
+
}
|
|
233
|
+
export interface SubmissionGuide {
|
|
234
|
+
contract_function: string;
|
|
235
|
+
contract_interface: string;
|
|
236
|
+
ethersjs_snippet?: string;
|
|
237
|
+
viemjs_snippet?: string;
|
|
238
|
+
}
|
|
239
|
+
export interface AnchorReceiptResult {
|
|
240
|
+
anchored_receipt: Record<string, unknown>;
|
|
241
|
+
anchor_hash_hex: string;
|
|
242
|
+
network: string;
|
|
243
|
+
evm_calldata?: string;
|
|
244
|
+
solana_instruction_data?: string;
|
|
245
|
+
submission_guide: SubmissionGuide;
|
|
246
|
+
}
|
|
247
|
+
export interface NegotiateOptions {
|
|
248
|
+
/** Ed25519 signing key of the requesting agent (hex-encoded 32-byte seed). */
|
|
249
|
+
requesterSigningKeyHex: string;
|
|
250
|
+
requestedCapabilities: string[];
|
|
251
|
+
intentName: string;
|
|
252
|
+
ttlSeconds?: number;
|
|
253
|
+
}
|
|
254
|
+
export interface NegotiationResult {
|
|
255
|
+
cert: Record<string, unknown>;
|
|
256
|
+
offer: Record<string, unknown>;
|
|
257
|
+
fingerprint_hex: string;
|
|
258
|
+
offerer_did: string;
|
|
259
|
+
requester_did: string;
|
|
260
|
+
}
|
|
261
|
+
export interface RetryOptions {
|
|
262
|
+
/** Maximum number of retry attempts. Default: 3. */
|
|
263
|
+
maxRetries?: number;
|
|
264
|
+
/** Initial delay in ms. Default: 500. */
|
|
265
|
+
initialDelayMs?: number;
|
|
266
|
+
/** Exponential factor. Default: 2. */
|
|
267
|
+
backoffFactor?: number;
|
|
268
|
+
}
|
|
269
|
+
export interface A1ClientOptions {
|
|
270
|
+
/** Request timeout in milliseconds. Default: 10000. */
|
|
271
|
+
timeoutMs?: number;
|
|
272
|
+
/** Static headers added to every request (e.g. Authorization). */
|
|
273
|
+
headers?: Record<string, string>;
|
|
274
|
+
/** Retry configuration for transient errors. */
|
|
275
|
+
retry?: RetryOptions;
|
|
276
|
+
/** Enable circuit breaker to prevent cascade failures. */
|
|
277
|
+
enableCircuitBreaker?: boolean;
|
|
278
|
+
}
|
|
279
|
+
export declare class A1Client {
|
|
280
|
+
private readonly base;
|
|
281
|
+
private readonly timeoutMs;
|
|
282
|
+
private readonly extraHeaders;
|
|
283
|
+
private readonly retry;
|
|
284
|
+
private cbFailureCount;
|
|
285
|
+
private cbLastFailureTime;
|
|
286
|
+
private readonly CB_THRESHOLD;
|
|
287
|
+
private readonly CB_RESET_TIMEOUT_MS;
|
|
288
|
+
constructor(baseUrl: string, opts?: A1ClientOptions);
|
|
289
|
+
/** Fetch the gateway's OIDC-style discovery document. */
|
|
290
|
+
wellKnown(): Promise<WellKnownConfig>;
|
|
291
|
+
/** Issue a delegation certificate from the gateway's signing key. */
|
|
292
|
+
issueCert(opts: IssueCertOptions): Promise<IssueCertResult>;
|
|
293
|
+
/** Revoke a single certificate by its fingerprint. */
|
|
294
|
+
revokeCert(fingerprintHex: string): Promise<void>;
|
|
295
|
+
/** Revoke multiple certificates in a single round-trip. */
|
|
296
|
+
revokeCertsBatch(fingerprints: string[]): Promise<RevokeBatchResult>;
|
|
297
|
+
/** Inspect the revocation status of a certificate. */
|
|
298
|
+
inspectCert(fingerprintHex: string): Promise<CertStatus>;
|
|
299
|
+
/** Authorize a single agent intent against a delegation chain. */
|
|
300
|
+
authorize(opts: AuthorizeOptions): Promise<AuthorizeResult>;
|
|
301
|
+
/**
|
|
302
|
+
* Authorize multiple intents atomically against a single delegation chain.
|
|
303
|
+
*
|
|
304
|
+
* If any intent fails verification, no nonces are consumed and the full
|
|
305
|
+
* batch is rejected. Check `allAuthorized` before acting on results.
|
|
306
|
+
*/
|
|
307
|
+
authorizeBatch(opts: BatchAuthorizeOptions): Promise<BatchAuthorizeResult>;
|
|
308
|
+
/** Verify the HMAC on a VerifiedToken issued by a previous authorize call. */
|
|
309
|
+
verifyToken(opts: VerifyTokenOptions): Promise<VerifyTokenResult>;
|
|
310
|
+
/** Health check — returns the gateway's signing public key and version. */
|
|
311
|
+
health(): Promise<HealthResult>;
|
|
312
|
+
/** Resolve a W3C DID Document from an Ed25519 public key (hex). */
|
|
313
|
+
resolveDid(pkHex: string): Promise<DidDocument>;
|
|
314
|
+
/** Return the W3C DID Document for the gateway's own signing identity. */
|
|
315
|
+
gatewayDid(): Promise<DidDocument>;
|
|
316
|
+
/**
|
|
317
|
+
* Issue a W3C Verifiable Credential asserting an agent's authorized capabilities.
|
|
318
|
+
* Requires `Authorization: Bearer <A1_ADMIN_SECRET>` header.
|
|
319
|
+
*/
|
|
320
|
+
issueVc(opts: IssueVcOptions): Promise<IssueVcResult>;
|
|
321
|
+
/**
|
|
322
|
+
* Verify a W3C Verifiable Credential. Works for any `did:a1:` issuer.
|
|
323
|
+
*/
|
|
324
|
+
verifyVc(credential: VerifiableCredential): Promise<VerifyVcResult>;
|
|
325
|
+
/**
|
|
326
|
+
* Prepare on-chain anchor calldata for a ZK chain commitment.
|
|
327
|
+
*
|
|
328
|
+
* Returns ABI-encoded EVM calldata or Solana instruction data.
|
|
329
|
+
* Submit via ethers.js, viem, web3.py, or `a1 anchor <receipt.json>`.
|
|
330
|
+
*
|
|
331
|
+
* ```typescript
|
|
332
|
+
* const anchor = await client.anchorReceipt({
|
|
333
|
+
* commitment: authorizeResult.commitment,
|
|
334
|
+
* passportDid: "did:a1:...",
|
|
335
|
+
* network: "ethereum",
|
|
336
|
+
* });
|
|
337
|
+
*
|
|
338
|
+
* // Submit with viem:
|
|
339
|
+
* await walletClient.sendTransaction({
|
|
340
|
+
* to: A1_ANCHOR_CONTRACT,
|
|
341
|
+
* data: `0x${anchor.evm_calldata}`,
|
|
342
|
+
* });
|
|
343
|
+
* ```
|
|
344
|
+
*/
|
|
345
|
+
anchorReceipt(opts: AnchorReceiptOptions): Promise<AnchorReceiptResult>;
|
|
346
|
+
/**
|
|
347
|
+
* Request a delegation certificate from this gateway (AIP negotiation protocol).
|
|
348
|
+
*
|
|
349
|
+
* Builds and signs a `CapabilityRequest`, sends it to `/v1/negotiate`,
|
|
350
|
+
* and returns the `NegotiationResult` with a ready-to-use cert.
|
|
351
|
+
*
|
|
352
|
+
* ```typescript
|
|
353
|
+
* const result = await client.negotiateDelegation({
|
|
354
|
+
* requesterSigningKeyHex: myPrivateKeyHex,
|
|
355
|
+
* requestedCapabilities: ["trade.equity"],
|
|
356
|
+
* intentName: "trade.equity",
|
|
357
|
+
* ttlSeconds: 3600,
|
|
358
|
+
* });
|
|
359
|
+
* // result.cert is ready to push onto a DyoloChain
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
362
|
+
negotiateDelegation(opts: NegotiateOptions): Promise<NegotiationResult>;
|
|
363
|
+
private post;
|
|
364
|
+
private get;
|
|
365
|
+
private request;
|
|
366
|
+
private recordFailure;
|
|
367
|
+
}
|
|
368
|
+
export default A1Client;
|
|
369
|
+
export type { PassportReceipt, AuthorizePassportRequest, PassportGuardOptions, } from "./passport.js";
|
|
370
|
+
export { PassportClient, PassportError, withA1Passport, PassportGuard } from "./passport.js";
|
|
371
|
+
export type { A1RequestReceipt, GuardOptions, JwtExchangeOptions, JwtExchangeResult, WebhookEvent, } from "./middleware.js";
|
|
372
|
+
export { A1Middleware, exchangeJwt, verifyWebhookSignature } from "./middleware.js";
|
|
373
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|