@auctra/sdk 0.3.5 → 0.6.1

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.js CHANGED
@@ -1,336 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Auctra = exports.AuctraApiError = exports.AUCTRA_SDK_VERSION = void 0;
4
- exports.AUCTRA_SDK_VERSION = "0.3.5";
5
- class AuctraApiError extends Error {
6
- status;
7
- code;
8
- details;
9
- requestId;
10
- constructor(message, options) {
11
- super(message);
12
- this.name = "AuctraApiError";
13
- this.status = options.status;
14
- this.code = options.code;
15
- this.details = options.details;
16
- this.requestId = options.requestId;
17
- }
18
- }
19
- exports.AuctraApiError = AuctraApiError;
20
- function retryDelay(response, attempt) {
21
- const retryAfter = response?.headers.get("retry-after");
22
- if (retryAfter) {
23
- const seconds = Number(retryAfter);
24
- if (Number.isFinite(seconds))
25
- return Math.min(30_000, Math.max(0, seconds * 1_000));
26
- const dateDelay = Date.parse(retryAfter) - Date.now();
27
- if (Number.isFinite(dateDelay))
28
- return Math.min(30_000, Math.max(0, dateDelay));
29
- }
30
- return Math.min(5_000, 150 * 2 ** attempt);
31
- }
32
- function wait(ms, signal) {
33
- if (signal?.aborted)
34
- return Promise.reject(signal.reason);
35
- return new Promise((resolve, reject) => {
36
- const timeout = setTimeout(resolve, ms);
37
- signal?.addEventListener("abort", () => {
38
- clearTimeout(timeout);
39
- reject(signal.reason);
40
- }, { once: true });
41
- });
42
- }
43
- class Auctra {
44
- apiKey;
45
- baseUrl;
46
- timeoutMs;
47
- maxRetries;
48
- fetchImpl;
49
- constructor(options) {
50
- if (!options.apiKey.trim())
51
- throw new Error("apiKey is required");
52
- if (options.timeoutMs !== undefined && options.timeoutMs <= 0) {
53
- throw new Error("timeoutMs must be greater than zero");
54
- }
55
- if (options.maxRetries !== undefined &&
56
- (!Number.isInteger(options.maxRetries) || options.maxRetries < 0)) {
57
- throw new Error("maxRetries must be a non-negative integer");
58
- }
59
- this.apiKey = options.apiKey;
60
- this.baseUrl = (options.baseUrl ?? "https://console.auctra.tech").replace(/\/$/, "");
61
- this.timeoutMs = options.timeoutMs ?? 10_000;
62
- this.maxRetries = options.maxRetries ?? 2;
63
- this.fetchImpl = options.fetch ?? globalThis.fetch;
64
- if (!this.fetchImpl)
65
- throw new Error("A fetch implementation is required");
66
- }
67
- async request(method, path, body, options = {}) {
68
- const retryableRequest = method === "GET" || Boolean(options.idempotencyKey);
69
- let lastError;
70
- for (let attempt = 0; attempt <= this.maxRetries; attempt += 1) {
71
- if (options.signal?.aborted)
72
- throw options.signal.reason;
73
- const timeoutSignal = AbortSignal.timeout(this.timeoutMs);
74
- const signal = options.signal
75
- ? AbortSignal.any([options.signal, timeoutSignal])
76
- : timeoutSignal;
77
- let response;
78
- try {
79
- response = await this.fetchImpl(`${this.baseUrl}${path}`, {
80
- method,
81
- signal,
82
- headers: {
83
- ...(body !== undefined ? { "content-type": "application/json" } : {}),
84
- ...(options.idempotencyKey ? { "idempotency-key": options.idempotencyKey } : {}),
85
- authorization: `Bearer ${this.apiKey}`,
86
- "x-auctra-sdk-version": exports.AUCTRA_SDK_VERSION,
87
- },
88
- ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
89
- });
90
- const data = (await response.json().catch(() => ({})));
91
- if (response.ok)
92
- return data;
93
- if (retryableRequest &&
94
- (response.status === 429 || response.status >= 500) &&
95
- attempt < this.maxRetries) {
96
- await wait(retryDelay(response, attempt), options.signal);
97
- continue;
98
- }
99
- throw new AuctraApiError(typeof data.error === "string" ? data.error : `Auctra API error (${response.status})`, {
100
- status: response.status,
101
- code: typeof data.code === "string" ? data.code : undefined,
102
- details: data.details,
103
- requestId: response.headers.get("x-request-id") ?? undefined,
104
- });
105
- }
106
- catch (error) {
107
- lastError = error;
108
- if (options.signal?.aborted)
109
- throw options.signal.reason;
110
- if (error instanceof AuctraApiError || !retryableRequest || attempt >= this.maxRetries) {
111
- throw error;
112
- }
113
- await wait(retryDelay(response, attempt), options.signal);
114
- }
115
- }
116
- throw lastError;
117
- }
118
- async evaluateAction(input, options = {}) {
119
- const idempotencyKey = options.idempotencyKey ?? crypto.randomUUID();
120
- return this.request("POST", "/v1/action-requests/evaluate", {
121
- agent_id: input.agentId,
122
- action_type: input.actionType,
123
- payload: input.payload ?? {},
124
- claimed_intent_id: input.claimedIntentId,
125
- intent_anchor_token: input.intentAnchorToken,
126
- parent_action_id: input.parentActionId,
127
- actor: input.actor
128
- ? {
129
- id: input.actor.id,
130
- type: input.actor.type,
131
- name: input.actor.name,
132
- }
133
- : undefined,
134
- action: input.action
135
- ? {
136
- target: input.action.target,
137
- description: input.action.description,
138
- risk_level: input.action.riskLevel,
139
- metadata: input.action.metadata,
140
- }
141
- : undefined,
142
- }, { ...options, idempotencyKey });
143
- }
144
- async listIntents() {
145
- return this.request("GET", "/v1/intents");
146
- }
147
- async createIntent(input) {
148
- return this.request("POST", "/v1/intents", {
149
- title: input.title,
150
- description: input.description,
151
- intent_type: input.intentType,
152
- risk_level: input.riskLevel,
153
- max_risk_level: input.maxRiskLevel,
154
- expires_at: input.expiresAt,
155
- allowed_action_types: input.allowedActionTypes,
156
- target_pattern: input.targetPattern,
157
- resource_allowlist: input.resourceAllowlist,
158
- });
159
- }
160
- async getIntent(intentId) {
161
- return this.request("GET", `/v1/intents/${encodeURIComponent(intentId)}`);
162
- }
163
- async updateIntentStatus(intentId, status) {
164
- return this.updateIntent(intentId, { status });
165
- }
166
- async updateIntent(intentId, input) {
167
- return this.request("PATCH", `/v1/intents/${encodeURIComponent(intentId)}`, {
168
- status: input.status,
169
- title: input.title,
170
- description: input.description,
171
- intent_type: input.intentType,
172
- risk_level: input.riskLevel,
173
- max_risk_level: input.maxRiskLevel,
174
- expires_at: input.expiresAt,
175
- });
176
- }
177
- async getAuthorityGraph() {
178
- return this.request("GET", "/v1/authority/graph");
179
- }
180
- async createAuthorityEdge(input) {
181
- return this.request("POST", "/v1/authority/edges", {
182
- from_actor_id: input.fromActorId,
183
- from_actor_type: input.fromActorType,
184
- to_actor_id: input.toActorId,
185
- to_actor_type: input.toActorType,
186
- authority_scope: input.authorityScope,
187
- conditions: input.conditions,
188
- max_risk_level: input.maxRiskLevel,
189
- expires_at: input.expiresAt,
190
- });
191
- }
192
- async getActionEvaluation(actionRequestId) {
193
- return this.request("GET", `/v1/action-requests/${encodeURIComponent(actionRequestId)}/evaluation`);
194
- }
195
- async getRootIntentChain(actionRequestId) {
196
- return this.request("GET", `/v1/action-requests/${encodeURIComponent(actionRequestId)}/root-intent`);
197
- }
198
- async listAgents() {
199
- return this.request("GET", "/v1/agents");
200
- }
201
- async getAgent(agentId) {
202
- return this.request("GET", `/v1/agents/${encodeURIComponent(agentId)}`);
203
- }
204
- async createAgent(input) {
205
- return this.request("POST", "/v1/agents", {
206
- name: input.name,
207
- model_provider: input.modelProvider,
208
- model_name: input.modelName,
209
- description: input.description,
210
- environment: input.environment,
211
- authority_level: input.authorityLevel,
212
- sponsor_user_id: input.sponsorUserId,
213
- });
214
- }
215
- async updateAgentStatus(agentId, input) {
216
- return this.request("PATCH", `/v1/agents/${encodeURIComponent(agentId)}`, {
217
- status: input.status,
218
- reason: input.reason,
219
- revoke_delegations: input.revokeDelegations,
220
- restore_delegations: input.restoreDelegations,
221
- });
222
- }
223
- async deleteAgent(agentId) {
224
- return this.request("DELETE", `/v1/agents/${encodeURIComponent(agentId)}`);
225
- }
226
- async listDelegations() {
227
- return this.request("GET", "/v1/delegations");
228
- }
229
- async getDelegation(delegationId) {
230
- return this.request("GET", `/v1/delegations/${encodeURIComponent(delegationId)}`);
231
- }
232
- async createDelegation(input) {
233
- return this.request("POST", "/v1/delegations", {
234
- agent_id: input.agentId,
235
- action_types: input.actionTypes,
236
- valid_until: input.validUntil,
237
- max_amount: input.maxAmount,
238
- max_count: input.maxCount,
239
- environment: input.environment,
240
- currency: input.currency,
241
- delegator_user_id: input.delegatorUserId,
242
- max_actions_per_window: input.maxActionsPerWindow
243
- ? {
244
- count: input.maxActionsPerWindow.count,
245
- window_seconds: input.maxActionsPerWindow.windowSeconds,
246
- action_type: input.maxActionsPerWindow.actionType,
247
- }
248
- : undefined,
249
- max_amount_per_window: input.maxAmountPerWindow
250
- ? {
251
- amount: input.maxAmountPerWindow.amount,
252
- window_seconds: input.maxAmountPerWindow.windowSeconds,
253
- }
254
- : undefined,
255
- });
256
- }
257
- async revokeDelegation(delegationId) {
258
- return this.request("POST", `/v1/delegations/${encodeURIComponent(delegationId)}/revoke`, {});
259
- }
260
- async listActionRequests() {
261
- return this.request("GET", "/v1/action-requests");
262
- }
263
- async approveActionRequest(actionRequestId, approverUserId, reason) {
264
- return this.resolveActionRequest(actionRequestId, "approve", approverUserId, reason);
265
- }
266
- async rejectActionRequest(actionRequestId, approverUserId, reason) {
267
- return this.resolveActionRequest(actionRequestId, "reject", approverUserId, reason);
268
- }
269
- async escalateActionRequest(actionRequestId, approverUserId, reason) {
270
- return this.resolveActionRequest(actionRequestId, "escalate", approverUserId, reason);
271
- }
272
- async resolveActionRequest(actionRequestId, action, approverUserId, reason) {
273
- return this.request("POST", `/v1/action-requests/${encodeURIComponent(actionRequestId)}/${action}`, { reason, approver_user_id: approverUserId });
274
- }
275
- async listPolicies() {
276
- return this.request("GET", "/v1/policies");
277
- }
278
- async createPolicy(input) {
279
- return this.request("POST", "/v1/policies", {
280
- name: input.name,
281
- description: input.description,
282
- policy_type: input.policyType,
283
- status: input.status,
284
- priority: input.priority,
285
- action_type: input.actionType,
286
- amount_greater_than: input.amountGreaterThan,
287
- resource_sensitivity: input.resourceSensitivity,
288
- external_recipient: input.externalRecipient,
289
- environment: input.environment,
290
- decision: input.decision,
291
- approver_role: input.approverRole,
292
- max_actions_per_window: input.maxActionsPerWindow
293
- ? {
294
- count: input.maxActionsPerWindow.count,
295
- window_seconds: input.maxActionsPerWindow.windowSeconds,
296
- action_type: input.maxActionsPerWindow.actionType,
297
- }
298
- : undefined,
299
- max_amount_per_window: input.maxAmountPerWindow
300
- ? {
301
- amount: input.maxAmountPerWindow.amount,
302
- window_seconds: input.maxAmountPerWindow.windowSeconds,
303
- }
304
- : undefined,
305
- });
306
- }
307
- async simulatePolicy(policyId, input = {}) {
308
- return this.request("POST", `/v1/policies/${encodeURIComponent(policyId)}/simulate`, input);
309
- }
310
- async publishPolicy(policyId, input = {}) {
311
- return this.request("POST", `/v1/policies/${encodeURIComponent(policyId)}/publish`, input);
312
- }
313
- async listActionTypes() {
314
- return this.listCustomActionTypes();
315
- }
316
- async listCustomActionTypes() {
317
- return this.request("GET", "/v1/action-types");
318
- }
319
- async createCustomActionType(input) {
320
- return this.request("POST", "/v1/action-types", {
321
- id: input.id,
322
- label: input.label,
323
- description: input.description,
324
- category: input.category,
325
- policy_type: input.policyType,
326
- payload_schema: input.payloadSchema ?? {},
327
- });
328
- }
329
- async listAuditEvents() {
330
- return this.request("GET", "/v1/audit-events");
331
- }
332
- async listApiKeys() {
333
- return this.request("GET", "/v1/api-keys");
334
- }
335
- }
336
- exports.Auctra = Auctra;
3
+ exports.Auctra = exports.verifyDecisionArtifact = exports.verifyMandateArtifact = exports.AuctraApiError = exports.AUCTRA_SDK_VERSION = void 0;
4
+ /**
5
+ * @auctra/sdk Stage 1.0 public surface.
6
+ *
7
+ * Modular layout under src/{types,artifacts,client,authority,action,evidence}.ts.
8
+ * Canonical API: authority.* / action.* / evidence.* — no createDelegation / evaluateAction.
9
+ */
10
+ var types_js_1 = require("./types.js");
11
+ Object.defineProperty(exports, "AUCTRA_SDK_VERSION", { enumerable: true, get: function () { return types_js_1.AUCTRA_SDK_VERSION; } });
12
+ var artifacts_js_1 = require("./artifacts.js");
13
+ Object.defineProperty(exports, "AuctraApiError", { enumerable: true, get: function () { return artifacts_js_1.AuctraApiError; } });
14
+ Object.defineProperty(exports, "verifyMandateArtifact", { enumerable: true, get: function () { return artifacts_js_1.verifyMandateArtifact; } });
15
+ Object.defineProperty(exports, "verifyDecisionArtifact", { enumerable: true, get: function () { return artifacts_js_1.verifyDecisionArtifact; } });
16
+ var client_js_1 = require("./client.js");
17
+ Object.defineProperty(exports, "Auctra", { enumerable: true, get: function () { return client_js_1.Auctra; } });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /** @auctra/sdk — Authority Protocol client (Stage 1.0 modular layout). */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AUCTRA_SDK_VERSION = void 0;
5
+ exports.AUCTRA_SDK_VERSION = "0.6.1";
@@ -0,0 +1,3 @@
1
+ /** Action Protocol client surface — evaluate (dry-run) / execute (enforce + evidence). */
2
+ export type { ActionEvaluation, EvaluateActionInput, EvaluateActionResponse } from "./types.js";
3
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ /** @auctra/sdk — Authority Protocol client (Stage 1.0 modular layout). */
2
+ import { type KeyObject } from "node:crypto";
3
+ import type { ArtifactVerification, DecisionEvidence, DecisionEvidencePayload, MandateEvidence, MandatePayload } from "./types.js";
4
+ export declare class AuctraApiError extends Error {
5
+ readonly status: number;
6
+ readonly code?: string;
7
+ readonly details?: unknown;
8
+ readonly requestId?: string;
9
+ constructor(message: string, options: {
10
+ status: number;
11
+ code?: string;
12
+ details?: unknown;
13
+ requestId?: string;
14
+ });
15
+ }
16
+ export declare function retryDelay(response: Response | undefined, attempt: number): number;
17
+ export declare function wait(ms: number, signal?: AbortSignal): Promise<void>;
18
+ export declare function verifyMandateArtifact(input: {
19
+ payload: MandatePayload;
20
+ evidence: MandateEvidence;
21
+ publicKeyPem?: string | KeyObject;
22
+ }): ArtifactVerification;
23
+ export declare function verifyDecisionArtifact(input: {
24
+ payload: DecisionEvidencePayload;
25
+ evidence: DecisionEvidence;
26
+ publicKeyPem?: string | KeyObject;
27
+ }): ArtifactVerification;
28
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/artifacts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CASpF;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,UASzE;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,iBAapD;AAuCD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GAAG,oBAAoB,CAkBvB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GAAG,oBAAoB,CAkBvB"}
@@ -0,0 +1,102 @@
1
+ /** @auctra/sdk — Authority Protocol client (Stage 1.0 modular layout). */
2
+ import { createHash, createPublicKey, verify as cryptoVerify } from "node:crypto";
3
+ export class AuctraApiError extends Error {
4
+ status;
5
+ code;
6
+ details;
7
+ requestId;
8
+ constructor(message, options) {
9
+ super(message);
10
+ this.name = "AuctraApiError";
11
+ this.status = options.status;
12
+ this.code = options.code;
13
+ this.details = options.details;
14
+ this.requestId = options.requestId;
15
+ }
16
+ }
17
+ export function retryDelay(response, attempt) {
18
+ const retryAfter = response?.headers.get("retry-after");
19
+ if (retryAfter) {
20
+ const seconds = Number(retryAfter);
21
+ if (Number.isFinite(seconds))
22
+ return Math.min(30_000, Math.max(0, seconds * 1_000));
23
+ const dateDelay = Date.parse(retryAfter) - Date.now();
24
+ if (Number.isFinite(dateDelay))
25
+ return Math.min(30_000, Math.max(0, dateDelay));
26
+ }
27
+ return Math.min(5_000, 150 * 2 ** attempt);
28
+ }
29
+ export function wait(ms, signal) {
30
+ if (signal?.aborted)
31
+ return Promise.reject(signal.reason);
32
+ return new Promise((resolve, reject) => {
33
+ const timeout = setTimeout(resolve, ms);
34
+ signal?.addEventListener("abort", () => {
35
+ clearTimeout(timeout);
36
+ reject(signal.reason);
37
+ }, { once: true });
38
+ });
39
+ }
40
+ function canonicalizeJson(value) {
41
+ if (Array.isArray(value))
42
+ return value.map(canonicalizeJson);
43
+ if (value && typeof value === "object" && !(value instanceof Date)) {
44
+ return Object.fromEntries(Object.entries(value)
45
+ .filter(([, child]) => child !== undefined)
46
+ .sort(([left], [right]) => left.localeCompare(right))
47
+ .map(([key, child]) => [key, canonicalizeJson(child)]));
48
+ }
49
+ if (value instanceof Date)
50
+ return value.toISOString();
51
+ return value;
52
+ }
53
+ function hashJson(value) {
54
+ return createHash("sha256")
55
+ .update(JSON.stringify(canonicalizeJson(value)))
56
+ .digest("hex");
57
+ }
58
+ function verifyEd25519(input) {
59
+ if (!input.publicKeyPem)
60
+ return false;
61
+ if (input.signature.alg !== "Ed25519")
62
+ return false;
63
+ return cryptoVerify(null, Buffer.from(JSON.stringify(canonicalizeJson(input.payload))), typeof input.publicKeyPem === "string"
64
+ ? createPublicKey(input.publicKeyPem)
65
+ : input.publicKeyPem, Buffer.from(input.signature.value, "base64url"));
66
+ }
67
+ export function verifyMandateArtifact(input) {
68
+ const expectedHash = hashJson(input.payload);
69
+ if (input.evidence.format !== "auctra-mandate.v0.1") {
70
+ return { valid: false, hashValid: false, signatureValid: false };
71
+ }
72
+ if (!input.evidence.signed) {
73
+ const hashValid = input.evidence.payload_hash === expectedHash;
74
+ return { valid: hashValid, hashValid, signatureValid: false };
75
+ }
76
+ const hashValid = input.evidence.payload_hash === expectedHash;
77
+ const signatureValid = hashValid &&
78
+ verifyEd25519({
79
+ payload: input.payload,
80
+ signature: input.evidence.signature,
81
+ publicKeyPem: input.publicKeyPem,
82
+ });
83
+ return { valid: hashValid && signatureValid, hashValid, signatureValid };
84
+ }
85
+ export function verifyDecisionArtifact(input) {
86
+ const expectedHash = hashJson(input.payload);
87
+ if (input.evidence.format !== "auctra-evidence.v0.1") {
88
+ return { valid: false, hashValid: false, signatureValid: false };
89
+ }
90
+ if (!input.evidence.signed) {
91
+ const hashValid = input.evidence.payload_hash === expectedHash;
92
+ return { valid: hashValid, hashValid, signatureValid: false };
93
+ }
94
+ const hashValid = input.evidence.payload_hash === expectedHash;
95
+ const signatureValid = hashValid &&
96
+ verifyEd25519({
97
+ payload: input.payload,
98
+ signature: input.evidence.signature,
99
+ publicKeyPem: input.publicKeyPem,
100
+ });
101
+ return { valid: hashValid && signatureValid, hashValid, signatureValid };
102
+ }
@@ -0,0 +1,3 @@
1
+ /** Authority Protocol client surface — issue / verify / delegate / revoke. */
2
+ export type { AuthoritySummary, DelegateAuthorityInput, IssueAuthorityInput } from "./types.js";
3
+ //# sourceMappingURL=authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/authority.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export {};