@alfe.ai/agent-api-client 0.0.13 → 0.1.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/index.cjs +139 -28
- package/dist/index.d.cts +376 -50
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +376 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +139 -28
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
//#region ../../packages-internal/types/dist/access.d.ts
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* The four resource scopes at which a permission can apply.
|
|
4
5
|
* Order is meaningful: broader scopes first (`org`) → narrower last (`agent`).
|
|
@@ -129,19 +130,89 @@ interface EncryptedEnvelopeV1 {
|
|
|
129
130
|
authTag: string;
|
|
130
131
|
dataKeyCiphertext: string;
|
|
131
132
|
}
|
|
132
|
-
/**
|
|
133
|
+
/**
|
|
134
|
+
* Display/validation hint for a field's value. `"json"` signals that the
|
|
135
|
+
* string is a JSON-stringified payload that consumers should `JSON.parse`.
|
|
136
|
+
*/
|
|
137
|
+
declare const FIELD_FORMATS: readonly ["text", "email", "url", "phone", "date", "number", "json"];
|
|
138
|
+
type FieldFormat = (typeof FIELD_FORMATS)[number];
|
|
139
|
+
/**
|
|
140
|
+
* Whether a field is stored in plaintext (visible to anyone with read access)
|
|
141
|
+
* or encrypted (requires KMS + the right encryption context to read).
|
|
142
|
+
*/
|
|
143
|
+
declare const FIELD_SENSITIVITIES: readonly ["plaintext", "encrypted"];
|
|
144
|
+
type FieldSensitivity = (typeof FIELD_SENSITIVITIES)[number];
|
|
145
|
+
/**
|
|
146
|
+
* A field on a secret. `value` is always a string at the wire; for encrypted
|
|
147
|
+
* fields it's the plaintext at the API edge (the service encrypts before
|
|
148
|
+
* persistence). Reads from the dashboard omit `value` for encrypted fields;
|
|
149
|
+
* agents get a `FieldEnvelope` instead and decrypt locally.
|
|
150
|
+
*/
|
|
151
|
+
interface Field {
|
|
152
|
+
key: string;
|
|
153
|
+
format?: FieldFormat;
|
|
154
|
+
sensitivity: FieldSensitivity;
|
|
155
|
+
value: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Secret category — drives icon/template/filter behaviour. Defaults to
|
|
159
|
+
* `"other"` for migrated rows.
|
|
160
|
+
*/
|
|
161
|
+
declare const SECRET_CATEGORIES: readonly ["login", "api_key", "database", "ssh_key", "certificate", "secure_note", "credit_card", "identity", "wifi", "other"];
|
|
162
|
+
type SecretCategory = (typeof SECRET_CATEGORIES)[number];
|
|
163
|
+
/**
|
|
164
|
+
* One field as exposed to readers. Encrypted fields have no `value` on the
|
|
165
|
+
* dashboard read path; the agent-side aggregate carries `envelope` instead.
|
|
166
|
+
*/
|
|
167
|
+
interface FieldView {
|
|
168
|
+
key: string;
|
|
169
|
+
format?: FieldFormat;
|
|
170
|
+
sensitivity: FieldSensitivity;
|
|
171
|
+
/** Present for `sensitivity: "plaintext"` only. */
|
|
172
|
+
value?: string;
|
|
173
|
+
/** Present for `sensitivity: "encrypted"` on agent-side reads only. */
|
|
174
|
+
envelope?: EncryptedEnvelopeV1;
|
|
175
|
+
/** Plaintext fields that opt into `format: "json"` are pre-parsed for callers. */
|
|
176
|
+
parsedValue?: unknown;
|
|
177
|
+
rotatedAt?: string;
|
|
178
|
+
createdAt: string;
|
|
179
|
+
updatedAt: string;
|
|
180
|
+
}
|
|
181
|
+
/** A secret as assembled from its multi-row aggregate. */
|
|
182
|
+
interface SecretAggregate {
|
|
183
|
+
secretId: string;
|
|
184
|
+
secretName: string;
|
|
185
|
+
description?: string;
|
|
186
|
+
tags: string[];
|
|
187
|
+
category: SecretCategory;
|
|
188
|
+
fields: FieldView[];
|
|
189
|
+
changelogVersion: number;
|
|
190
|
+
createdAt: string;
|
|
191
|
+
updatedAt: string;
|
|
192
|
+
}
|
|
193
|
+
/** Metadata-only projection — used by list endpoints. */
|
|
133
194
|
interface SecretMetadata {
|
|
134
195
|
secretId: string;
|
|
135
196
|
secretName: string;
|
|
136
197
|
description?: string;
|
|
137
|
-
tags
|
|
198
|
+
tags: string[];
|
|
199
|
+
category: SecretCategory;
|
|
200
|
+
fieldKeys: string[];
|
|
201
|
+
changelogVersion: number;
|
|
138
202
|
createdAt: string;
|
|
139
203
|
updatedAt: string;
|
|
140
|
-
rotatedAt?: string;
|
|
141
204
|
}
|
|
142
|
-
/**
|
|
143
|
-
|
|
205
|
+
/**
|
|
206
|
+
* Per-field encrypted envelope returned to agents on the agent-side aggregate.
|
|
207
|
+
* Agents decrypt locally using a data key fetched from `/decrypt-data-key`.
|
|
208
|
+
*/
|
|
209
|
+
interface FieldEnvelope {
|
|
210
|
+
key: string;
|
|
211
|
+
format?: FieldFormat;
|
|
144
212
|
envelope: EncryptedEnvelopeV1;
|
|
213
|
+
rotatedAt?: string;
|
|
214
|
+
createdAt: string;
|
|
215
|
+
updatedAt: string;
|
|
145
216
|
}
|
|
146
217
|
/** A scope the caller can read or write secrets in. */
|
|
147
218
|
interface ScopeInfo {
|
|
@@ -159,6 +230,30 @@ interface GeneratedDataKey {
|
|
|
159
230
|
plaintextKey: string;
|
|
160
231
|
dataKeyCiphertext: string;
|
|
161
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Action types recorded in the secret changelog. Append-only.
|
|
235
|
+
*/
|
|
236
|
+
declare const CHANGELOG_ACTIONS: readonly ["created", "deleted", "metadata_updated", "field_added", "field_rotated", "field_removed", "tag_added", "tag_removed"];
|
|
237
|
+
type ChangelogAction = (typeof CHANGELOG_ACTIONS)[number];
|
|
238
|
+
/** Who triggered a changelog entry. */
|
|
239
|
+
interface ChangelogActor {
|
|
240
|
+
kind: "user" | "agent" | "system";
|
|
241
|
+
id: string;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* One audit row from the secret's changelog. Metadata only — never carries
|
|
245
|
+
* field VALUES (old or new). Rolling back a rotated secret is intentionally
|
|
246
|
+
* not supported.
|
|
247
|
+
*/
|
|
248
|
+
interface ChangelogEntry {
|
|
249
|
+
changelogVersion: number;
|
|
250
|
+
action: ChangelogAction;
|
|
251
|
+
fieldKey?: string;
|
|
252
|
+
fieldSensitivity?: FieldSensitivity;
|
|
253
|
+
changedBy: ChangelogActor;
|
|
254
|
+
reason?: string;
|
|
255
|
+
timestamp: string;
|
|
256
|
+
}
|
|
162
257
|
//# sourceMappingURL=secrets.d.ts.map
|
|
163
258
|
//#endregion
|
|
164
259
|
//#region src/index.d.ts
|
|
@@ -166,11 +261,147 @@ interface AgentApiClientConfig {
|
|
|
166
261
|
apiKey: string;
|
|
167
262
|
apiUrl: string;
|
|
168
263
|
}
|
|
264
|
+
interface SyncAgentInfo {
|
|
265
|
+
agentId: string;
|
|
266
|
+
tenantId: string;
|
|
267
|
+
displayName: string;
|
|
268
|
+
s3Prefix: string;
|
|
269
|
+
status: "stale" | "syncing" | "synced";
|
|
270
|
+
fileCount?: number;
|
|
271
|
+
totalSize?: number;
|
|
272
|
+
lastSync?: string;
|
|
273
|
+
}
|
|
274
|
+
interface SyncManifestEntry {
|
|
275
|
+
hash: string;
|
|
276
|
+
size: number;
|
|
277
|
+
modified: string;
|
|
278
|
+
etag?: string;
|
|
279
|
+
storageClass?: string;
|
|
280
|
+
compressed?: boolean;
|
|
281
|
+
}
|
|
282
|
+
interface SyncManifest {
|
|
283
|
+
version: 1;
|
|
284
|
+
agentId: string;
|
|
285
|
+
lastSync: string;
|
|
286
|
+
files: Record<string, SyncManifestEntry>;
|
|
287
|
+
}
|
|
288
|
+
interface SyncPresignedUrl {
|
|
289
|
+
path: string;
|
|
290
|
+
url: string;
|
|
291
|
+
expiresAt: string;
|
|
292
|
+
}
|
|
293
|
+
interface SyncConfirmedUpload {
|
|
294
|
+
filePath: string;
|
|
295
|
+
hash: string;
|
|
296
|
+
size: number;
|
|
297
|
+
storageClass: "STANDARD" | "GLACIER_IR";
|
|
298
|
+
syncedAt: string;
|
|
299
|
+
}
|
|
300
|
+
interface SyncReconstructFile {
|
|
301
|
+
path: string;
|
|
302
|
+
size: number;
|
|
303
|
+
url: string;
|
|
304
|
+
storageClass?: string;
|
|
305
|
+
compressed?: boolean;
|
|
306
|
+
}
|
|
307
|
+
interface SyncReconstructBundle {
|
|
308
|
+
agentId: string;
|
|
309
|
+
mode: "full" | "active" | "memory";
|
|
310
|
+
fileCount: number;
|
|
311
|
+
totalSize: number;
|
|
312
|
+
files: SyncReconstructFile[];
|
|
313
|
+
expiresAt: string;
|
|
314
|
+
}
|
|
315
|
+
interface SyncAgentStats {
|
|
316
|
+
agentId: string;
|
|
317
|
+
standardBytes: number;
|
|
318
|
+
glacierBytes: number;
|
|
319
|
+
fileCount: number;
|
|
320
|
+
lastSyncAt: string | null;
|
|
321
|
+
}
|
|
322
|
+
interface SyncFileEntry {
|
|
323
|
+
filePath: string;
|
|
324
|
+
size: number;
|
|
325
|
+
modified: string;
|
|
326
|
+
contentHash: string;
|
|
327
|
+
storageClass?: string;
|
|
328
|
+
compressed?: boolean;
|
|
329
|
+
}
|
|
330
|
+
interface SyncSessionEntry {
|
|
331
|
+
sessionId: string;
|
|
332
|
+
size: number;
|
|
333
|
+
lastModified: string;
|
|
334
|
+
storageClass?: string;
|
|
335
|
+
isArchived: boolean;
|
|
336
|
+
}
|
|
337
|
+
interface SyncSessionContent {
|
|
338
|
+
sessionId: string;
|
|
339
|
+
content: string;
|
|
340
|
+
compressed: boolean;
|
|
341
|
+
}
|
|
342
|
+
interface SharedFileEntry {
|
|
343
|
+
filePath: string;
|
|
344
|
+
fileName: string;
|
|
345
|
+
size: number;
|
|
346
|
+
contentType?: string;
|
|
347
|
+
}
|
|
169
348
|
declare class AgentApiClient {
|
|
170
349
|
private readonly apiKey;
|
|
171
350
|
private readonly apiUrl;
|
|
172
351
|
constructor(config: AgentApiClientConfig);
|
|
173
352
|
private request;
|
|
353
|
+
syncRegister(args?: {
|
|
354
|
+
displayName?: string;
|
|
355
|
+
}): Promise<{
|
|
356
|
+
agent: SyncAgentInfo;
|
|
357
|
+
}>;
|
|
358
|
+
syncGetManifest(): Promise<SyncManifest>;
|
|
359
|
+
syncPresign(args: {
|
|
360
|
+
files: {
|
|
361
|
+
path: string;
|
|
362
|
+
operation: "put" | "get";
|
|
363
|
+
contentType?: string;
|
|
364
|
+
}[];
|
|
365
|
+
}): Promise<{
|
|
366
|
+
urls: SyncPresignedUrl[];
|
|
367
|
+
}>;
|
|
368
|
+
syncConfirmUpload(args: {
|
|
369
|
+
filePath: string;
|
|
370
|
+
hash: string;
|
|
371
|
+
size: number;
|
|
372
|
+
storageClass?: "STANDARD" | "GLACIER_IR";
|
|
373
|
+
}): Promise<SyncConfirmedUpload>;
|
|
374
|
+
syncReconstruct(args: {
|
|
375
|
+
mode: "full" | "active" | "memory";
|
|
376
|
+
}): Promise<SyncReconstructBundle>;
|
|
377
|
+
syncGetStats(): Promise<SyncAgentStats>;
|
|
378
|
+
syncListFiles(args?: {
|
|
379
|
+
prefix?: string;
|
|
380
|
+
}): Promise<{
|
|
381
|
+
files: SyncFileEntry[];
|
|
382
|
+
}>;
|
|
383
|
+
syncListSessions(): Promise<{
|
|
384
|
+
sessions: SyncSessionEntry[];
|
|
385
|
+
}>;
|
|
386
|
+
syncGetSession(sessionId: string): Promise<SyncSessionContent>;
|
|
387
|
+
syncDeleteFile(filePath: string): Promise<{
|
|
388
|
+
removed: boolean;
|
|
389
|
+
}>;
|
|
390
|
+
sharedListFiles(args: {
|
|
391
|
+
scope: "org" | "team" | "project";
|
|
392
|
+
scopeId: string;
|
|
393
|
+
}): Promise<{
|
|
394
|
+
files: SharedFileEntry[];
|
|
395
|
+
nextCursor: string | null;
|
|
396
|
+
}>;
|
|
397
|
+
sharedDownloadUrl(args: {
|
|
398
|
+
scope: "org" | "team" | "project";
|
|
399
|
+
scopeId: string;
|
|
400
|
+
filePath: string;
|
|
401
|
+
}): Promise<{
|
|
402
|
+
downloadUrl: string;
|
|
403
|
+
expiresIn: number;
|
|
404
|
+
}>;
|
|
174
405
|
listIntegrations(): Promise<IntegrationInstall[]>;
|
|
175
406
|
getIntegrationConfig(integrationId: string): Promise<IntegrationConfigResult>;
|
|
176
407
|
updateIntegrationConfig(integrationId: string, config: Record<string, unknown>): Promise<void>;
|
|
@@ -320,52 +551,135 @@ declare class AgentApiClient {
|
|
|
320
551
|
recorded: boolean;
|
|
321
552
|
}>;
|
|
322
553
|
/**
|
|
323
|
-
* Mint a fresh AES-256 data key for a
|
|
324
|
-
* context is rebuilt server-side from `auth.tenantId` + the body
|
|
325
|
-
* agent cannot forge context for a scope
|
|
554
|
+
* Mint a fresh AES-256 data key for a specific (secret, field) pair. The
|
|
555
|
+
* encryption context is rebuilt server-side from `auth.tenantId` + the body
|
|
556
|
+
* fields including `fieldKey`; the agent cannot forge context for a scope
|
|
557
|
+
* or field it doesn't own. Legacy single-envelope secrets are migrated to
|
|
558
|
+
* `field#value` rows by the data migration, so call with `fieldKey: "value"`
|
|
559
|
+
* to reach them.
|
|
326
560
|
*/
|
|
327
561
|
generateSecretDataKey(args: {
|
|
328
562
|
scope: SecretScope;
|
|
329
563
|
scopeId: string;
|
|
330
564
|
secretId: string;
|
|
565
|
+
fieldKey: string;
|
|
331
566
|
}): Promise<GeneratedDataKey>;
|
|
332
567
|
/**
|
|
333
568
|
* Unwrap a wrapped data key so the agent can decrypt the envelope locally.
|
|
334
|
-
*
|
|
335
|
-
*
|
|
569
|
+
* `fieldKey` MUST match the value supplied when the data key was generated
|
|
570
|
+
* (it's bound into KMS encryption context); mismatch fails with
|
|
571
|
+
* `InvalidCiphertextException`.
|
|
336
572
|
*/
|
|
337
573
|
decryptSecretDataKey(args: {
|
|
338
574
|
scope: SecretScope;
|
|
339
575
|
scopeId: string;
|
|
340
576
|
secretId: string;
|
|
577
|
+
fieldKey: string;
|
|
341
578
|
dataKeyCiphertext: string;
|
|
342
579
|
}): Promise<{
|
|
343
580
|
plaintextKey: string;
|
|
344
581
|
}>;
|
|
345
|
-
/**
|
|
346
|
-
|
|
582
|
+
/**
|
|
583
|
+
* Create a new secret with one or more fields. Encrypted fields must arrive
|
|
584
|
+
* pre-sealed (the agent has already obtained per-field data keys via
|
|
585
|
+
* `generateSecretDataKey({ ..., fieldKey })` and AES-encrypted locally).
|
|
586
|
+
* Plaintext fields ship the value inline.
|
|
587
|
+
*/
|
|
588
|
+
createSecret(args: {
|
|
347
589
|
scope: SecretScope;
|
|
348
590
|
scopeId: string;
|
|
349
591
|
secretId: string;
|
|
350
592
|
secretName: string;
|
|
351
|
-
|
|
593
|
+
category?: SecretCategory;
|
|
352
594
|
description?: string;
|
|
353
595
|
tags?: string[];
|
|
596
|
+
fields: {
|
|
597
|
+
key: string;
|
|
598
|
+
format?: FieldFormat;
|
|
599
|
+
sensitivity: FieldSensitivity;
|
|
600
|
+
value?: string;
|
|
601
|
+
envelope?: EncryptedEnvelopeV1;
|
|
602
|
+
}[];
|
|
603
|
+
reason?: string;
|
|
604
|
+
}): Promise<SecretAggregate>;
|
|
605
|
+
/** Fetch the secret aggregate plus per-field encrypted envelopes. */
|
|
606
|
+
getSecret(args: {
|
|
607
|
+
scope: SecretScope;
|
|
608
|
+
scopeId: string;
|
|
609
|
+
secretId: string;
|
|
354
610
|
}): Promise<{
|
|
611
|
+
aggregate: SecretAggregate;
|
|
612
|
+
envelopes: FieldEnvelope[];
|
|
613
|
+
}>;
|
|
614
|
+
/** Fetch one field. Plaintext: value inline. Encrypted: envelope. */
|
|
615
|
+
getSecretField(args: {
|
|
616
|
+
scope: SecretScope;
|
|
617
|
+
scopeId: string;
|
|
618
|
+
secretId: string;
|
|
619
|
+
fieldKey: string;
|
|
620
|
+
}): Promise<{
|
|
621
|
+
key: string;
|
|
622
|
+
sensitivity: FieldSensitivity;
|
|
623
|
+
format?: FieldFormat;
|
|
624
|
+
value?: string;
|
|
625
|
+
envelope?: EncryptedEnvelopeV1;
|
|
626
|
+
rotatedAt?: string;
|
|
627
|
+
createdAt: string;
|
|
628
|
+
updatedAt: string;
|
|
629
|
+
}>;
|
|
630
|
+
/** Add OR rotate one field. */
|
|
631
|
+
setSecretField(args: {
|
|
632
|
+
scope: SecretScope;
|
|
633
|
+
scopeId: string;
|
|
355
634
|
secretId: string;
|
|
635
|
+
fieldKey: string;
|
|
636
|
+
sensitivity: FieldSensitivity;
|
|
637
|
+
format?: FieldFormat;
|
|
638
|
+
value?: string;
|
|
639
|
+
envelope?: EncryptedEnvelopeV1;
|
|
640
|
+
reason?: string;
|
|
641
|
+
}): Promise<{
|
|
642
|
+
fieldKey: string;
|
|
643
|
+
rotated: boolean;
|
|
356
644
|
}>;
|
|
357
|
-
/**
|
|
358
|
-
|
|
645
|
+
/** Remove one field. */
|
|
646
|
+
removeSecretField(args: {
|
|
359
647
|
scope: SecretScope;
|
|
360
648
|
scopeId: string;
|
|
361
649
|
secretId: string;
|
|
362
|
-
|
|
363
|
-
|
|
650
|
+
fieldKey: string;
|
|
651
|
+
}): Promise<void>;
|
|
652
|
+
/** Update secret-level metadata (name/description/tags/category). */
|
|
653
|
+
updateSecretMetadata(args: {
|
|
654
|
+
scope: SecretScope;
|
|
655
|
+
scopeId: string;
|
|
656
|
+
secretId: string;
|
|
657
|
+
secretName?: string;
|
|
658
|
+
description?: string;
|
|
659
|
+
tags?: string[];
|
|
660
|
+
category?: SecretCategory;
|
|
661
|
+
reason?: string;
|
|
662
|
+
}): Promise<SecretAggregate>;
|
|
663
|
+
/** List metadata for secrets in a scope. Optional filters route through the byFacet GSI. */
|
|
364
664
|
listSecrets(args: {
|
|
365
665
|
scope: SecretScope;
|
|
366
666
|
scopeId: string;
|
|
667
|
+
category?: SecretCategory;
|
|
668
|
+
tag?: string;
|
|
669
|
+
fieldKey?: string;
|
|
367
670
|
}): Promise<SecretMetadata[]>;
|
|
368
|
-
/**
|
|
671
|
+
/** Bounded changelog read — metadata-only audit entries. */
|
|
672
|
+
getSecretHistory(args: {
|
|
673
|
+
scope: SecretScope;
|
|
674
|
+
scopeId: string;
|
|
675
|
+
secretId: string;
|
|
676
|
+
limit?: number;
|
|
677
|
+
cursor?: string;
|
|
678
|
+
}): Promise<{
|
|
679
|
+
entries: ChangelogEntry[];
|
|
680
|
+
nextCursor?: string;
|
|
681
|
+
}>;
|
|
682
|
+
/** Delete a secret (and all its field rows + tag rows + changelog rows). */
|
|
369
683
|
deleteSecret(args: {
|
|
370
684
|
scope: SecretScope;
|
|
371
685
|
scopeId: string;
|
|
@@ -374,8 +688,9 @@ declare class AgentApiClient {
|
|
|
374
688
|
/** Enumerate scopes (org/team/project/agent) this agent can access. */
|
|
375
689
|
listSecretScopes(): Promise<ScopeInfo[]>;
|
|
376
690
|
resolveIdentity(args: {
|
|
377
|
-
|
|
691
|
+
provider: string;
|
|
378
692
|
platformId: string;
|
|
693
|
+
kind?: "user" | "agent" | "service" | "bot" | "workspace";
|
|
379
694
|
displayName?: string;
|
|
380
695
|
}): Promise<{
|
|
381
696
|
identityId: string | null;
|
|
@@ -384,41 +699,15 @@ declare class AgentApiClient {
|
|
|
384
699
|
created?: boolean;
|
|
385
700
|
reason?: string;
|
|
386
701
|
}>;
|
|
387
|
-
enforcePolicy(args: {
|
|
388
|
-
platform: string;
|
|
389
|
-
senderId: string;
|
|
390
|
-
channelId?: string;
|
|
391
|
-
}): Promise<{
|
|
392
|
-
identityId: string | null;
|
|
393
|
-
orgId: string | null;
|
|
394
|
-
role: string | null;
|
|
395
|
-
allowedTools: string[];
|
|
396
|
-
deniedTools: string[];
|
|
397
|
-
identified: boolean;
|
|
398
|
-
}>;
|
|
399
|
-
checkToolPermission(args: {
|
|
400
|
-
platform: string;
|
|
401
|
-
senderId: string;
|
|
402
|
-
toolName: string;
|
|
403
|
-
toolArgs?: Record<string, unknown>;
|
|
404
|
-
channelId?: string;
|
|
405
|
-
}): Promise<{
|
|
406
|
-
allowed: boolean;
|
|
407
|
-
reason?: string;
|
|
408
|
-
}>;
|
|
409
702
|
searchIdentities(args?: {
|
|
410
703
|
q?: string;
|
|
411
704
|
status?: string;
|
|
412
|
-
tag?: string;
|
|
413
|
-
platform?: string;
|
|
414
705
|
limit?: number;
|
|
415
|
-
offset?: number;
|
|
416
706
|
}): Promise<{
|
|
417
707
|
identities: unknown[];
|
|
418
708
|
}>;
|
|
419
709
|
getIdentityContext(identityId: string): Promise<{
|
|
420
|
-
|
|
421
|
-
recentChanges: unknown[];
|
|
710
|
+
context: unknown;
|
|
422
711
|
}>;
|
|
423
712
|
mergeIdentities(survivorId: string, args: {
|
|
424
713
|
mergedId: string;
|
|
@@ -465,7 +754,6 @@ declare class AgentApiClient {
|
|
|
465
754
|
}>;
|
|
466
755
|
getIdentityChangelog(identityId: string, args?: {
|
|
467
756
|
limit?: number;
|
|
468
|
-
offset?: number;
|
|
469
757
|
}): Promise<{
|
|
470
758
|
entries: unknown[];
|
|
471
759
|
}>;
|
|
@@ -483,9 +771,17 @@ declare class AgentApiClient {
|
|
|
483
771
|
requestIdentityVerification(args: {
|
|
484
772
|
claimedIdentityId: string;
|
|
485
773
|
requestingIdentityId: string;
|
|
486
|
-
|
|
774
|
+
requestingProvider: string;
|
|
487
775
|
requestingPlatformId: string;
|
|
488
|
-
preferredChannel?: "
|
|
776
|
+
preferredChannel?: "mobile" | "email";
|
|
777
|
+
/**
|
|
778
|
+
* Phase 2: agent-supplied contact endpoint. When provided, the top-level
|
|
779
|
+
* `preferredChannel` is ignored — the contact's channel wins.
|
|
780
|
+
*/
|
|
781
|
+
contact?: {
|
|
782
|
+
channel: "email" | "mobile";
|
|
783
|
+
value: string;
|
|
784
|
+
};
|
|
489
785
|
}): Promise<{
|
|
490
786
|
verificationId: string;
|
|
491
787
|
channel: string;
|
|
@@ -499,13 +795,43 @@ declare class AgentApiClient {
|
|
|
499
795
|
error: string;
|
|
500
796
|
}>;
|
|
501
797
|
confirmIdentityVerification(args: {
|
|
798
|
+
claimedIdentityId: string;
|
|
502
799
|
verificationId: string;
|
|
503
800
|
phrase: string;
|
|
504
801
|
}): Promise<{
|
|
505
802
|
verified: boolean;
|
|
506
803
|
identityId?: string;
|
|
804
|
+
/** Phase 2: how the confirm resolved — Scenario A vs B. */
|
|
805
|
+
action?: "merged" | "contact_verified";
|
|
507
806
|
error?: string;
|
|
508
807
|
}>;
|
|
808
|
+
/**
|
|
809
|
+
* Update display-shape fields on an Identity. Body excludes `email` /
|
|
810
|
+
* `phone` / `title` / `company` / `metadata` per Section D4 — contacts go
|
|
811
|
+
* via the verify flow, title/company live on OrgMembership, metadata is
|
|
812
|
+
* not agent-writable.
|
|
813
|
+
*/
|
|
814
|
+
updateIdentity(identityId: string, args: {
|
|
815
|
+
name?: string;
|
|
816
|
+
avatarUrl?: string;
|
|
817
|
+
timezone?: string;
|
|
818
|
+
locale?: string;
|
|
819
|
+
}): Promise<{
|
|
820
|
+
ok: boolean;
|
|
821
|
+
}>;
|
|
822
|
+
/**
|
|
823
|
+
* Phase 2 (Section H): server-side verification of a Google Chat sender via
|
|
824
|
+
* the agent's existing Google OAuth credentials. Returns the resolved
|
|
825
|
+
* identity (created or matched via Scenario-B email enrichment).
|
|
826
|
+
*/
|
|
827
|
+
resolveGoogleChatSender(args: {
|
|
828
|
+
senderUserId: string;
|
|
829
|
+
spaceId?: string;
|
|
830
|
+
}): Promise<{
|
|
831
|
+
identityId: string | null;
|
|
832
|
+
status: string;
|
|
833
|
+
accessAllowed: boolean;
|
|
834
|
+
}>;
|
|
509
835
|
memorySearch(query: string, opts?: {
|
|
510
836
|
limit?: number;
|
|
511
837
|
topic?: string;
|
|
@@ -615,5 +941,5 @@ declare class AgentApiClient {
|
|
|
615
941
|
}
|
|
616
942
|
//# sourceMappingURL=index.d.ts.map
|
|
617
943
|
//#endregion
|
|
618
|
-
export { AgentApiClient, AgentApiClientConfig, type EncryptedEnvelopeV1, type GeneratedDataKey, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, type RegistryEntry, type ScopeInfo, type
|
|
944
|
+
export { AgentApiClient, AgentApiClientConfig, type ChangelogAction, type ChangelogActor, type ChangelogEntry, type EncryptedEnvelopeV1, type Field, type FieldEnvelope, type FieldFormat, type FieldSensitivity, type FieldView, type GeneratedDataKey, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, type RegistryEntry, type ScopeInfo, type SecretAggregate, type SecretCategory, type SecretMetadata, type SecretScope, SharedFileEntry, SyncAgentInfo, SyncAgentStats, SyncConfirmedUpload, SyncFileEntry, SyncManifest, SyncManifestEntry, SyncPresignedUrl, SyncReconstructBundle, SyncReconstructFile, SyncSessionContent, SyncSessionEntry };
|
|
619
945
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["ResourceScope","RESOURCE_SCOPES","AccessLevel","ScopedAccess","AllScopedAccess","ResourceScope","DEFAULT_INTEGRATIONS","IntegrationVisibility","INTEGRATION_VISIBILITIES","IntegrationScope","INTEGRATION_SCOPES","IntegrationDesiredStatus","INTEGRATION_DESIRED_STATUSES","IntegrationActualStatus","INTEGRATION_ACTUAL_STATUSES","IntegrationInstall","Record","AgentIntegration","OrgIntegration","IntegrationConfigSchemaField","IntegrationConfigResult","RegistryEntry","ResourceScope","SecretScope","SECRET_SCOPES","EncryptedEnvelopeV1","SecretMetadata","SecretEnvelopeResponse","ScopeInfo","GeneratedDataKey"],"sources":["../../../packages-internal/types/dist/access.d.ts","../../../packages-internal/types/dist/integration.d.ts","../../../packages-internal/types/dist/secrets.d.ts","../src/index.ts"],"sourcesContent":["/**\n * The four resource scopes at which a permission can apply.\n * Order is meaningful: broader scopes first (`org`) → narrower last (`agent`).\n *\n * `IntegrationScope` in integration.ts and `SecretScope` in secrets.ts are\n * intentional aliases of this same enum — there is only one concept of\n * \"scope\" in Alfe.\n */\nexport declare const ResourceScope: {\n readonly Org: \"org\";\n readonly Team: \"team\";\n readonly Project: \"project\";\n readonly Agent: \"agent\";\n};\nexport type ResourceScope = (typeof ResourceScope)[keyof typeof ResourceScope];\n/** Ordered tuple of resource scope string values (broad → narrow). */\nexport declare const RESOURCE_SCOPES: readonly [\"org\" | \"team\" | \"project\" | \"agent\", ...(\"org\" | \"team\" | \"project\" | \"agent\")[]];\nexport declare const AccessLevel: {\n readonly None: \"none\";\n readonly Read: \"read\";\n readonly Write: \"write\";\n readonly Manage: \"manage\";\n};\nexport type AccessLevel = (typeof AccessLevel)[keyof typeof AccessLevel];\nexport interface ScopedAccess {\n scope: ResourceScope;\n scopeId: string;\n accessLevel: AccessLevel;\n /** Resolved role label (e.g. \"org_admin\", \"team_member\") */\n role: string;\n}\nexport interface AllScopedAccess {\n orgAccess: ScopedAccess;\n teamAccess: ScopedAccess[];\n projectAccess: ScopedAccess[];\n}\n//# sourceMappingURL=access.d.ts.map","import { ResourceScope } from \"./access.js\";\n/** Integrations auto-installed for ALL agents regardless of hosting type. Cannot be removed. */\nexport declare const DEFAULT_INTEGRATIONS: readonly string[];\n/** Controls where an integration appears: public (everyone), hidden (nowhere) */\nexport declare const IntegrationVisibility: {\n readonly Public: \"public\";\n readonly Hidden: \"hidden\";\n};\nexport type IntegrationVisibility = (typeof IntegrationVisibility)[keyof typeof IntegrationVisibility];\nexport declare const INTEGRATION_VISIBILITIES: readonly [\"public\" | \"hidden\", ...(\"public\" | \"hidden\")[]];\n/** Scope at which an integration is installed */\nexport declare const IntegrationScope: {\n readonly Org: \"org\";\n readonly Team: \"team\";\n readonly Project: \"project\";\n readonly Agent: \"agent\";\n};\nexport type IntegrationScope = ResourceScope;\nexport declare const INTEGRATION_SCOPES: readonly [\"org\" | \"team\" | \"project\" | \"agent\", ...(\"org\" | \"team\" | \"project\" | \"agent\")[]];\nexport declare const IntegrationDesiredStatus: {\n readonly Active: \"active\";\n readonly Removed: \"removed\";\n};\nexport type IntegrationDesiredStatus = (typeof IntegrationDesiredStatus)[keyof typeof IntegrationDesiredStatus];\nexport declare const INTEGRATION_DESIRED_STATUSES: readonly [\"active\" | \"removed\", ...(\"active\" | \"removed\")[]];\nexport declare const IntegrationActualStatus: {\n readonly Installing: \"installing\";\n readonly Active: \"active\";\n readonly Error: \"error\";\n readonly Removing: \"removing\";\n readonly Inactive: \"inactive\";\n readonly Unknown: \"unknown\";\n};\nexport type IntegrationActualStatus = (typeof IntegrationActualStatus)[keyof typeof IntegrationActualStatus];\nexport declare const INTEGRATION_ACTUAL_STATUSES: readonly [\"active\" | \"error\" | \"installing\" | \"removing\" | \"inactive\" | \"unknown\", ...(\"active\" | \"error\" | \"installing\" | \"removing\" | \"inactive\" | \"unknown\")[]];\nexport interface IntegrationInstall {\n scope: IntegrationScope;\n scopeId: string;\n integrationId: string;\n tenantId: string;\n desiredStatus: IntegrationDesiredStatus;\n actualStatus: IntegrationActualStatus;\n version: string;\n config: Record<string, unknown>;\n errorMessage: string;\n installedAt: string;\n updatedAt: string;\n}\n/** @deprecated Use IntegrationInstall instead */\nexport type AgentIntegration = IntegrationInstall;\n/** Org-scoped integration install */\nexport type OrgIntegration = IntegrationInstall;\nexport interface IntegrationConfigSchemaField {\n key: string;\n label: string;\n type: string;\n description?: string;\n required?: boolean;\n default?: string | number | boolean;\n options?: string[];\n select_options?: {\n value: string;\n label: string;\n }[];\n oauth_provider?: string;\n oauth_scopes?: string[];\n oauth_integration_id?: string;\n editable?: string;\n hidden?: boolean;\n}\nexport interface IntegrationConfigResult {\n integrationId: string;\n config: Record<string, unknown>;\n configSchema: IntegrationConfigSchemaField[];\n}\nexport interface RegistryEntry {\n id: string;\n name: string;\n description: string;\n versions: string[];\n latest: string;\n repository: string;\n commit: string;\n icon?: string;\n author?: {\n name: string;\n url?: string;\n } | string;\n pricing?: {\n type: \"free\" | \"paid\" | \"usage\";\n price?: number;\n currency?: string;\n interval?: \"month\" | \"year\";\n description?: string;\n };\n features?: string[];\n preview_images?: string[];\n config_schema?: IntegrationConfigSchemaField[];\n supported_agents?: string[];\n /** Scopes where this integration can be installed */\n supported_scopes?: IntegrationScope[];\n /** Visibility status — controls where integration appears */\n visibility?: IntegrationVisibility;\n}\n//# sourceMappingURL=integration.d.ts.map","/**\n * Secrets types — shared between services/secrets, @alfe.ai/agent-api-client,\n * the openclaw-secrets plugin, and dashboard clients.\n *\n * Server-side crypto and KMS glue live in @alfe/secret-store (Node/AWS-only);\n * this module is a pure, dependency-free shape contract safe for every\n * environment the agent-api-client ships to.\n */\nimport type { ResourceScope } from \"./access.js\";\n/** Scope levels at which a secret can be owned. Aliased to ResourceScope. */\nexport type SecretScope = ResourceScope;\nexport declare const SECRET_SCOPES: readonly [\"org\" | \"team\" | \"project\" | \"agent\", ...(\"org\" | \"team\" | \"project\" | \"agent\")[]];\n/**\n * v1 encrypted envelope as persisted by services/secrets and exchanged with\n * agents. Values are AES-256-GCM ciphertext; iv/authTag/ciphertext/dataKeyCiphertext\n * are all base64-encoded.\n */\nexport interface EncryptedEnvelopeV1 {\n version: 1;\n iv: string;\n ciphertext: string;\n authTag: string;\n dataKeyCiphertext: string;\n}\n/** Opaque metadata about a secret row — never includes plaintext. */\nexport interface SecretMetadata {\n secretId: string;\n secretName: string;\n description?: string;\n tags?: string[];\n createdAt: string;\n updatedAt: string;\n rotatedAt?: string;\n}\n/** A single secret row including its encrypted envelope. */\nexport interface SecretEnvelopeResponse extends SecretMetadata {\n envelope: EncryptedEnvelopeV1;\n}\n/** A scope the caller can read or write secrets in. */\nexport interface ScopeInfo {\n scope: SecretScope;\n scopeId: string;\n name?: string;\n}\n/**\n * KMS-issued data key, returned by the secrets service's\n * `/secrets/generate-data-key` KMS proxy endpoint. The plaintext key is\n * returned base64-encoded; callers MUST decode it to a Buffer and zero the\n * Buffer after use — never keep the plaintext as a JS string.\n */\nexport interface GeneratedDataKey {\n plaintextKey: string;\n dataKeyCiphertext: string;\n}\n//# sourceMappingURL=secrets.d.ts.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["PERMISSION_CATALOG","Record","TENANT_ALLOWED_SUBJECTS","TenantAllowedSubject","ResourceScope","RESOURCE_SCOPES","AccessLevel","ScopedAccess","AllScopedAccess","ResourceScope","DEFAULT_INTEGRATIONS","IntegrationVisibility","INTEGRATION_VISIBILITIES","IntegrationScope","INTEGRATION_SCOPES","IntegrationDesiredStatus","INTEGRATION_DESIRED_STATUSES","IntegrationActualStatus","INTEGRATION_ACTUAL_STATUSES","IntegrationInstall","Record","AgentIntegration","OrgIntegration","IntegrationConfigSchemaField","IntegrationConfigResult","RegistryEntry","ResourceScope","SecretScope","SECRET_SCOPES","EncryptedEnvelopeV1","FIELD_FORMATS","FieldFormat","FIELD_SENSITIVITIES","FieldSensitivity","Field","SECRET_CATEGORIES","SecretCategory","FieldView","SecretAggregate","SecretMetadata","FieldEnvelope","ScopeInfo","GeneratedDataKey","CHANGELOG_ACTIONS","ChangelogAction","ChangelogActor","ChangelogEntry"],"sources":["../../../packages-internal/types/dist/access.d.ts","../../../packages-internal/types/dist/integration.d.ts","../../../packages-internal/types/dist/secrets.d.ts","../src/index.ts"],"sourcesContent":["/**\n * Runtime catalog of declared permission subjects + allowed actions.\n *\n * Mirrors the compile-time `PermissionDefinitions` augmentation in\n * `@alfe/api-core/auriclabs-roles.ts`. Kept here so browser code\n * (dashboard) can consume it without pulling in server-only deps\n * (`@middy/core`, `aws-lambda`, etc.).\n */\nexport declare const PERMISSION_CATALOG: Record<string, readonly string[]>;\n/**\n * Subjects a tenant may grant via a custom role.\n *\n * Excludes `all` (platform-admin escape hatch) and `admin_*` subjects.\n */\nexport declare const TENANT_ALLOWED_SUBJECTS: readonly [\"agent\", \"sync\", \"integration\", \"secret\", \"database\", \"template\", \"org_file\", \"team\", \"project\", \"model_policy\", \"role_management\", \"billing\", \"identity\", \"token\", \"user\", \"gateway\", \"voice\"];\nexport type TenantAllowedSubject = (typeof TENANT_ALLOWED_SUBJECTS)[number];\n/**\n * The four resource scopes at which a permission can apply.\n * Order is meaningful: broader scopes first (`org`) → narrower last (`agent`).\n *\n * `IntegrationScope` in integration.ts and `SecretScope` in secrets.ts are\n * intentional aliases of this same enum — there is only one concept of\n * \"scope\" in Alfe.\n */\nexport declare const ResourceScope: {\n readonly Org: \"org\";\n readonly Team: \"team\";\n readonly Project: \"project\";\n readonly Agent: \"agent\";\n};\nexport type ResourceScope = (typeof ResourceScope)[keyof typeof ResourceScope];\n/** Ordered tuple of resource scope string values (broad → narrow). */\nexport declare const RESOURCE_SCOPES: readonly [\"agent\" | \"team\" | \"project\" | \"org\", ...(\"agent\" | \"team\" | \"project\" | \"org\")[]];\nexport declare const AccessLevel: {\n readonly None: \"none\";\n readonly Read: \"read\";\n readonly Write: \"write\";\n readonly Manage: \"manage\";\n};\nexport type AccessLevel = (typeof AccessLevel)[keyof typeof AccessLevel];\nexport interface ScopedAccess {\n scope: ResourceScope;\n scopeId: string;\n accessLevel: AccessLevel;\n /** Resolved role label (e.g. \"org_admin\", \"team_member\") */\n role: string;\n}\nexport interface AllScopedAccess {\n orgAccess: ScopedAccess;\n teamAccess: ScopedAccess[];\n projectAccess: ScopedAccess[];\n}\n//# sourceMappingURL=access.d.ts.map","import { ResourceScope } from \"./access.js\";\n/** Integrations auto-installed for ALL agents regardless of hosting type. Cannot be removed. */\nexport declare const DEFAULT_INTEGRATIONS: readonly string[];\n/** Controls where an integration appears: public (everyone), hidden (nowhere) */\nexport declare const IntegrationVisibility: {\n readonly Public: \"public\";\n readonly Hidden: \"hidden\";\n};\nexport type IntegrationVisibility = (typeof IntegrationVisibility)[keyof typeof IntegrationVisibility];\nexport declare const INTEGRATION_VISIBILITIES: readonly [\"public\" | \"hidden\", ...(\"public\" | \"hidden\")[]];\n/** Scope at which an integration is installed */\nexport declare const IntegrationScope: {\n readonly Org: \"org\";\n readonly Team: \"team\";\n readonly Project: \"project\";\n readonly Agent: \"agent\";\n};\nexport type IntegrationScope = ResourceScope;\nexport declare const INTEGRATION_SCOPES: readonly [\"agent\" | \"team\" | \"project\" | \"org\", ...(\"agent\" | \"team\" | \"project\" | \"org\")[]];\nexport declare const IntegrationDesiredStatus: {\n readonly Active: \"active\";\n readonly Removed: \"removed\";\n};\nexport type IntegrationDesiredStatus = (typeof IntegrationDesiredStatus)[keyof typeof IntegrationDesiredStatus];\nexport declare const INTEGRATION_DESIRED_STATUSES: readonly [\"active\" | \"removed\", ...(\"active\" | \"removed\")[]];\nexport declare const IntegrationActualStatus: {\n readonly Installing: \"installing\";\n readonly Active: \"active\";\n readonly Error: \"error\";\n readonly Removing: \"removing\";\n readonly Inactive: \"inactive\";\n readonly Unknown: \"unknown\";\n};\nexport type IntegrationActualStatus = (typeof IntegrationActualStatus)[keyof typeof IntegrationActualStatus];\nexport declare const INTEGRATION_ACTUAL_STATUSES: readonly [\"active\" | \"error\" | \"installing\" | \"removing\" | \"inactive\" | \"unknown\", ...(\"active\" | \"error\" | \"installing\" | \"removing\" | \"inactive\" | \"unknown\")[]];\nexport interface IntegrationInstall {\n scope: IntegrationScope;\n scopeId: string;\n integrationId: string;\n tenantId: string;\n desiredStatus: IntegrationDesiredStatus;\n actualStatus: IntegrationActualStatus;\n version: string;\n config: Record<string, unknown>;\n errorMessage: string;\n installedAt: string;\n updatedAt: string;\n}\n/** @deprecated Use IntegrationInstall instead */\nexport type AgentIntegration = IntegrationInstall;\n/** Org-scoped integration install */\nexport type OrgIntegration = IntegrationInstall;\nexport interface IntegrationConfigSchemaField {\n key: string;\n label: string;\n type: string;\n description?: string;\n required?: boolean;\n default?: string | number | boolean;\n options?: string[];\n select_options?: {\n value: string;\n label: string;\n }[];\n oauth_provider?: string;\n oauth_scopes?: string[];\n oauth_integration_id?: string;\n editable?: string;\n hidden?: boolean;\n}\nexport interface IntegrationConfigResult {\n integrationId: string;\n config: Record<string, unknown>;\n configSchema: IntegrationConfigSchemaField[];\n}\nexport interface RegistryEntry {\n id: string;\n name: string;\n description: string;\n versions: string[];\n latest: string;\n repository: string;\n commit: string;\n icon?: string;\n author?: {\n name: string;\n url?: string;\n } | string;\n pricing?: {\n type: \"free\" | \"paid\" | \"usage\";\n price?: number;\n currency?: string;\n interval?: \"month\" | \"year\";\n description?: string;\n };\n features?: string[];\n preview_images?: string[];\n config_schema?: IntegrationConfigSchemaField[];\n supported_agents?: string[];\n /** Scopes where this integration can be installed */\n supported_scopes?: IntegrationScope[];\n /** Visibility status — controls where integration appears */\n visibility?: IntegrationVisibility;\n}\n//# sourceMappingURL=integration.d.ts.map","/**\n * Secrets types — shared between services/secrets, @alfe.ai/agent-api-client,\n * the openclaw-secrets plugin, and dashboard clients.\n *\n * Server-side crypto and KMS glue live in @alfe/secret-store (Node/AWS-only);\n * this module is a pure, dependency-free shape contract safe for every\n * environment the agent-api-client ships to.\n */\nimport type { ResourceScope } from \"./access.js\";\n/** Scope levels at which a secret can be owned. Aliased to ResourceScope. */\nexport type SecretScope = ResourceScope;\nexport declare const SECRET_SCOPES: readonly [\"agent\" | \"team\" | \"project\" | \"org\", ...(\"agent\" | \"team\" | \"project\" | \"org\")[]];\n/**\n * v1 encrypted envelope as persisted by services/secrets and exchanged with\n * agents. Values are AES-256-GCM ciphertext; iv/authTag/ciphertext/dataKeyCiphertext\n * are all base64-encoded.\n */\nexport interface EncryptedEnvelopeV1 {\n version: 1;\n iv: string;\n ciphertext: string;\n authTag: string;\n dataKeyCiphertext: string;\n}\n/**\n * Display/validation hint for a field's value. `\"json\"` signals that the\n * string is a JSON-stringified payload that consumers should `JSON.parse`.\n */\nexport declare const FIELD_FORMATS: readonly [\"text\", \"email\", \"url\", \"phone\", \"date\", \"number\", \"json\"];\nexport type FieldFormat = (typeof FIELD_FORMATS)[number];\n/**\n * Whether a field is stored in plaintext (visible to anyone with read access)\n * or encrypted (requires KMS + the right encryption context to read).\n */\nexport declare const FIELD_SENSITIVITIES: readonly [\"plaintext\", \"encrypted\"];\nexport type FieldSensitivity = (typeof FIELD_SENSITIVITIES)[number];\n/**\n * A field on a secret. `value` is always a string at the wire; for encrypted\n * fields it's the plaintext at the API edge (the service encrypts before\n * persistence). Reads from the dashboard omit `value` for encrypted fields;\n * agents get a `FieldEnvelope` instead and decrypt locally.\n */\nexport interface Field {\n key: string;\n format?: FieldFormat;\n sensitivity: FieldSensitivity;\n value: string;\n}\n/**\n * Secret category — drives icon/template/filter behaviour. Defaults to\n * `\"other\"` for migrated rows.\n */\nexport declare const SECRET_CATEGORIES: readonly [\"login\", \"api_key\", \"database\", \"ssh_key\", \"certificate\", \"secure_note\", \"credit_card\", \"identity\", \"wifi\", \"other\"];\nexport type SecretCategory = (typeof SECRET_CATEGORIES)[number];\n/**\n * One field as exposed to readers. Encrypted fields have no `value` on the\n * dashboard read path; the agent-side aggregate carries `envelope` instead.\n */\nexport interface FieldView {\n key: string;\n format?: FieldFormat;\n sensitivity: FieldSensitivity;\n /** Present for `sensitivity: \"plaintext\"` only. */\n value?: string;\n /** Present for `sensitivity: \"encrypted\"` on agent-side reads only. */\n envelope?: EncryptedEnvelopeV1;\n /** Plaintext fields that opt into `format: \"json\"` are pre-parsed for callers. */\n parsedValue?: unknown;\n rotatedAt?: string;\n createdAt: string;\n updatedAt: string;\n}\n/** A secret as assembled from its multi-row aggregate. */\nexport interface SecretAggregate {\n secretId: string;\n secretName: string;\n description?: string;\n tags: string[];\n category: SecretCategory;\n fields: FieldView[];\n changelogVersion: number;\n createdAt: string;\n updatedAt: string;\n}\n/** Metadata-only projection — used by list endpoints. */\nexport interface SecretMetadata {\n secretId: string;\n secretName: string;\n description?: string;\n tags: string[];\n category: SecretCategory;\n fieldKeys: string[];\n changelogVersion: number;\n createdAt: string;\n updatedAt: string;\n}\n/**\n * Per-field encrypted envelope returned to agents on the agent-side aggregate.\n * Agents decrypt locally using a data key fetched from `/decrypt-data-key`.\n */\nexport interface FieldEnvelope {\n key: string;\n format?: FieldFormat;\n envelope: EncryptedEnvelopeV1;\n rotatedAt?: string;\n createdAt: string;\n updatedAt: string;\n}\n/** A scope the caller can read or write secrets in. */\nexport interface ScopeInfo {\n scope: SecretScope;\n scopeId: string;\n name?: string;\n}\n/**\n * KMS-issued data key, returned by the secrets service's\n * `/secrets/generate-data-key` KMS proxy endpoint. The plaintext key is\n * returned base64-encoded; callers MUST decode it to a Buffer and zero the\n * Buffer after use — never keep the plaintext as a JS string.\n */\nexport interface GeneratedDataKey {\n plaintextKey: string;\n dataKeyCiphertext: string;\n}\n/**\n * Action types recorded in the secret changelog. Append-only.\n */\nexport declare const CHANGELOG_ACTIONS: readonly [\"created\", \"deleted\", \"metadata_updated\", \"field_added\", \"field_rotated\", \"field_removed\", \"tag_added\", \"tag_removed\"];\nexport type ChangelogAction = (typeof CHANGELOG_ACTIONS)[number];\n/** Who triggered a changelog entry. */\nexport interface ChangelogActor {\n kind: \"user\" | \"agent\" | \"system\";\n id: string;\n}\n/**\n * One audit row from the secret's changelog. Metadata only — never carries\n * field VALUES (old or new). Rolling back a rotated secret is intentionally\n * not supported.\n */\nexport interface ChangelogEntry {\n changelogVersion: number;\n action: ChangelogAction;\n fieldKey?: string;\n fieldSensitivity?: FieldSensitivity;\n changedBy: ChangelogActor;\n reason?: string;\n timestamp: string;\n}\n//# sourceMappingURL=secrets.d.ts.map"],"mappings":";;ACWA;AAMA;AAEA;AAIA;;;;;AAEqBiB,cDDAb,aCQpB,EAAA;EACWa,SAAAA,GAAAA,EAAAA,KAAAA;EAAuB,SAAA,IAAA,EAAA,MAAA;WAAWA,OAAAA,EAAAA,SAAAA;WAAsCA,KAAAA,EAAAA,OAAAA;CAAuB;AAE1FE,KDLLf,aAAAA,GCKuB,CAAA,ODLCA,aCKD,CAAA,CAAA,MAAA,ODL6BA,aCK7B,CAAA;;;;;ADLCA,cC1BfO,qBD0BeP,EAAAA;WAA4BA,MAAAA,EAAAA,QAAAA;EAAa,SAAA,MAAA,EAAA,QAAA;;KCtBjEO,qBAAAA,WAAgCA,oCAAoCA;AAJhF;AAIYA,cAGSE,gBAHY,EAAA;EAAA,SAAA,GAAA,EAAA,KAAA;WAAWF,IAAAA,EAAAA,MAAAA;WAAoCA,OAAAA,EAAAA,SAAAA;EAAqB,SAAA,KAAA,EAAA,OAAA;AAGrG,CAAA;AAMYE,KAAAA,gBAAAA,GAAmBJ,aAAAA;AAMnBM,cAJSA,wBAIe,EAAA;EAAA,SAAA,MAAA,EAAA,QAAA;WAAWA,OAAAA,EAAAA,SAAAA;;AAA+D,KAAlGA,wBAAAA,GAAkG,CAAA,OAA/DA,wBAA+D,CAAA,CAAA,MAAA,OAAxBA,wBAAwB,CAAA;AAUlGE,cARSA,uBAQc,EAAA;EAAA,SAAA,UAAA,EAAA,YAAA;WAAWA,MAAAA,EAAAA,QAAAA;WAAsCA,KAAAA,EAAAA,OAAAA;EAAuB,SAAA,QAAA,EAAA,UAAA;EAE1FE,SAAAA,QAAAA,EAAAA,UAAkB;EAAA,SAAA,OAAA,EAAA,SAAA;;AAKhBJ,KAPPE,uBAAAA,GAOOF,CAAAA,OAP2BE,uBAO3BF,CAAAA,CAAAA,MAAAA,OAPiEE,uBAOjEF,CAAAA;AAGPK,UARKD,kBAAAA,CAQLC;EAAM,KAAA,EAPPP,gBAOO;EASDU,OAAAA,EAAAA,MAAAA;EAkBAC,aAAAA,EAAAA,MAAAA;EAAuB,QAAA,EAAA,MAAA;eAE5BJ,EAhCOL,wBAgCPK;cACMG,EAhCAN,uBAgCAM;EAA4B,OAAA,EAAA,MAAA;EAE7BE,MAAAA,EAhCLL,MAgCKK,CAAAA,MAAa,EAAA,OAAA,CAAA;EAAA,YAAA,EAAA,MAAA;aAsBVF,EAAAA,MAAAA;WAGGV,EAAAA,MAAAA;;;;AC1FXc,UD0CKJ,4BAAAA,CC1CsB;EAOtBM,GAAAA,EAAAA,MAAAA;EAWIC,KAAAA,EAAAA,MAAAA;EACTC,IAAAA,EAAAA,MAAAA;EAKSC,WAAAA,CAAAA,EAAAA,MAAAA;EACTC,QAAAA,CAAAA,EAAAA,OAAAA;EAOKC,OAAAA,CAAK,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA;EAAA,OAAA,CAAA,EAAA,MAAA,EAAA;gBAETH,CAAAA,EAAAA;IACIE,KAAAA,EAAAA,MAAAA;IAAgB,KAAA,EAAA,MAAA;EAOZE,CAAAA,EAAAA;EACTC,cAAAA,CAAAA,EAAc,MAAA;EAKTC,YAAS,CAAA,EAAA,MAAA,EAAA;EAAA,oBAAA,CAAA,EAAA,MAAA;UAEbN,CAAAA,EAAAA,MAAAA;QACIE,CAAAA,EAAAA,OAAAA;;AAIiB,UDKjBT,uBAAAA,CCLiB;EAQjBc,aAAAA,EAAAA,MAAe;EAAA,MAAA,EDDpBlB,MCCoB,CAAA,MAAA,EAAA,OAAA,CAAA;cAKlBgB,EDLIb,4BCKJa,EAAAA;;AACO,UDJJX,aAAAA,CCII;EAMJc,EAAAA,EAAAA,MAAAA;EAeAC,IAAAA,EAAAA,MAAAA;EAAa,WAAA,EAAA,MAAA;UAEjBT,EAAAA,MAAAA,EAAAA;QACCF,EAAAA,MAAAA;EAAmB,UAAA,EAAA,MAAA;EAMhBY,MAAAA,EAAAA,MAAS;EAWTC,IAAAA,CAAAA,EAAAA,MAAAA;EAOIC,MAAAA,CAAAA,EAAAA;IACTC,IAAAA,EAAAA,MAAAA;IAEKC,GAAAA,CAAAA,EAAAA,MAAAA;EASAC,CAAAA,GAAAA,MAAAA;EAAc,OAAA,CAAA,EAAA;IAEnBF,IAAAA,EAAAA,MAAAA,GAAAA,MAAAA,GAAAA,OAAAA;IAEWX,KAAAA,CAAAA,EAAAA,MAAAA;IACRY,QAAAA,CAAAA,EAAAA,MAAAA;IAAc,QAAA,CAAA,EAAA,OAAA,GAAA,MAAA;;;;ECjGZ,cAAA,CAAA,EAAA,MAAoB,EAAA;EAOpB,aAAA,CAAA,EF2CGtB,4BE3CU,EAAA;EAWb,gBAAA,CAAA,EAAA,MAAiB,EAAA;EASjB;EAAY,gBAAA,CAAA,EF0BNV,gBE1BM,EAAA;;YAIpB,CAAA,EFwBQF,qBExBR;;AAGT;;;;AF7EqBA,KCMTgB,WAAAA,GAAcD,aDHzB;;;;;AAID;AAMYb,UCAKgB,mBAAAA,CDAcpB;EAEVM,OAAAA,EAAAA,CAAAA;EAITA,EAAAA,EAAAA,MAAAA;EAAwB,UAAA,EAAA,MAAA;SAAWA,EAAAA,MAAAA;mBAAuCA,EAAAA,MAAAA;;AAEtF;AAQA;;;AAAoFE,cCL/Da,aDK+Db,EAAAA,SAAAA,CAAAA,MAAAA,EAAAA,OAAAA,EAAAA,KAAAA,EAAAA,OAAAA,EAAAA,MAAAA,EAAAA,QAAAA,EAAAA,MAAAA,CAAAA;AAAuB,KCJ/Fc,WAAAA,GDI+F,CAAA,OCJzED,aDIyE,CAAA,CAAA,MAAA,CAAA;AAE3G;;;;AAMkBb,cCPGe,mBDOHf,EAAAA,SAAAA,CAAAA,WAAAA,EAAAA,WAAAA,CAAAA;AAENG,KCRAa,gBAAAA,GDQAb,CAAAA,OCR2BY,mBDQ3BZ,CAAAA,CAAAA,MAAAA,CAAAA;;AASZ;AAkBA;;;;AAG8C,UC/B7Bc,KAAAA,CD+B6B;EAE7BT,GAAAA,EAAAA,MAAAA;EAAa,MAAA,CAAA,EC/BjBM,WD+BiB;aAsBVR,ECpDHU,gBDoDGV;OAGGV,EAAAA,MAAAA;;;;;;AC1FXc,cA0CSQ,iBA1CKT,EAAAA,SAAa,CAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA;AAOtBG,KAoCLO,cAAAA,GApCwB,CAAA,OAoCCD,iBApCD,CAAA,CAAA,MAAA,CAAA;AAWpC;AACA;AAKA;AACA;AAOiBD,UAgBAG,SAAAA,CAhBK;EAAA,GAAA,EAAA,MAAA;QAETN,CAAAA,EAgBAA,WAhBAA;aACIE,EAgBAA,gBAhBAA;EAAgB;EAOZE,KAAAA,CAAAA,EAAAA,MAAAA;EACTC;EAKKC,QAAAA,CAAAA,EAOFR,mBAPW;EAAA;aAEbE,CAAAA,EAAAA,OAAAA;WACIE,CAAAA,EAAAA,MAAAA;WAIFJ,EAAAA,MAAAA;EAAmB,SAAA,EAAA,MAAA;AAQlC;;AAKcO,UALGE,eAAAA,CAKHF;UACFC,EAAAA,MAAAA;EAAS,UAAA,EAAA,MAAA;EAMJE,WAAAA,CAAAA,EAAAA,MAAc;EAedC,IAAAA,EAAAA,MAAAA,EAAAA;EAAa,QAAA,EAtBhBJ,cAsBgB;QAEjBL,EAvBDM,SAuBCN,EAAAA;kBACCF,EAAAA,MAAAA;EAAmB,SAAA,EAAA,MAAA;EAMhBY,SAAAA,EAAAA,MAAS;AAW1B;AAOA;AACYG,UA3CKL,cAAAA,CA2CU;EAEVM,QAAAA,EAAAA,MAAAA;EASAC,UAAAA,EAAAA,MAAc;EAAA,WAAA,CAAA,EAAA,MAAA;MAEnBF,EAAAA,MAAAA,EAAAA;UAEWX,EArDTG,cAqDSH;WACRY,EAAAA,MAAAA,EAAAA;EAAc,gBAAA,EAAA,MAAA;;;;ACjG7B;AAOA;AAWA;AASA;AAA6B,UD0BZL,aAAAA,CC1BY;KAIL,EAAA,MAAA;QAAf,CAAA,EDwBIT,WCxBJ;EAAM,QAAA,EDyBDF,mBCzBC;EAGE,SAAA,CAAA,EAAA,MAAA;EAMA,SAAA,EAAA,MAAA;EAQA,SAAA,EAAA,MAAA;AAQjB;AASA;AAQiB,UDXAY,SAAAA,CCWa;EASb,KAAA,EDnBNd,WCmBM;EAQA,OAAA,EAAA,MAAA;EAMA,IAAA,CAAA,EAAA,MAAA;AAejB;;;;;;;AA8CsB,UDpFLe,gBAAAA,CCoFK;cAAhB,EAAA,MAAA;mBAYQ,EAAA,MAAA;;;;;AAgBU,cDzGHC,iBCyGG,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,CAAA;AAI4C,KD5GxDC,eAAAA,GC4GwD,CAAA,OD5G9BD,iBC4G8B,CAAA,CAAA,MAAA,CAAA;;AAOpB,UDjH/BE,cAAAA,CCiH+B;MAApB,EAAA,MAAA,GAAA,OAAA,GAAA,QAAA;MAIuB,MAAA;;;;;;;AAkCvB,UD9IXC,cAAAA,CC8IW;kBAIiC,EAAA,MAAA;QAAR,EDhJzCF,eCgJyC;UAQzC,CAAA,EAAA,MAAA;kBACP,CAAA,EDvJkBX,gBCuJlB;WAYsC,EDlK5BY,cCkK4B;QAC9B,CAAA,EAAA,MAAA;WAAR,EAAA,MAAA;;;;;UApQY,oBAAA;EF3CIlC,MAAAA,EAAAA,MAAAA;EAITA,MAAAA,EAAAA,MAAAA;;AAAgCA,UE8C3B,aAAA,CF9C2BA;SAAoCA,EAAAA,MAAAA;EAAqB,QAAA,EAAA,MAAA;EAGhFE,WAAAA,EAAAA,MAKpB;EACWA,QAAAA,EAAAA,MAAAA;EAESE,MAAAA,EAAAA,OAAAA,GAAAA,SAGpB,GAAA,QAAA;EACWA,SAAAA,CAAAA,EAAAA,MAAAA;EAAwB,SAAA,CAAA,EAAA,MAAA;UAAWA,CAAAA,EAAAA,MAAAA;;AAA+D,UE0C7F,iBAAA,CF1C6F;EAEzFE,IAAAA,EAAAA,MAAAA;EAQTA,IAAAA,EAAAA,MAAAA;EAAuB,QAAA,EAAA,MAAA;MAAWA,CAAAA,EAAAA,MAAAA;cAAsCA,CAAAA,EAAAA,MAAAA;EAAuB,UAAA,CAAA,EAAA,OAAA;AAE3G;AAAmC,UEuClB,YAAA,CFvCkB;SACxBJ,EAAAA,CAAAA;SAIQE,EAAAA,MAAAA;UACDE,EAAAA,MAAAA;OAENG,EEmCH,MFnCGA,CAAAA,MAAAA,EEmCY,iBFnCZA,CAAAA;;AASKG,UE6BA,gBAAA,CF7BAA;EAkBAC,IAAAA,EAAAA,MAAAA;EAAuB,GAAA,EAAA,MAAA;WAE5BJ,EAAAA,MAAAA;;AACkC,UEc7B,mBAAA,CFd6B;EAE7BK,QAAAA,EAAAA,MAAa;EAAA,IAAA,EAAA,MAAA;MAsBVF,EAAAA,MAAAA;cAGGV,EAAAA,UAAAA,GAAAA,YAAAA;UAENF,EAAAA,MAAAA;;UEPA,mBAAA;;;EDrFLgB,GAAAA,EAAAA,MAAAA;EAOKE,YAAAA,CAAAA,EAAAA,MAAAA;EAWIC,UAAAA,CAAAA,EAAAA,OAAmF;AACxG;AAKqBE,UCqEJ,qBAAA,CDrE4D;EACjEC,OAAAA,EAAAA,MAAAA;EAOKC,IAAAA,EAAAA,MAAK,GAAA,QAAA,GAAA,QAAA;EAAA,SAAA,EAAA,MAAA;WAETH,EAAAA,MAAAA;OACIE,EC+DR,mBD/DQA,EAAAA;EAAgB,SAAA,EAAA,MAAA;AAOjC;AACYG,UC2DK,cAAA,CD3DoBD;EAKpBE,OAAAA,EAAAA,MAAS;EAAA,aAAA,EAAA,MAAA;cAEbN,EAAAA,MAAAA;WACIE,EAAAA,MAAAA;YAIFJ,EAAAA,MAAAA,GAAAA,IAAAA;;AAQES,UC+CA,aAAA,CD/Ce;EAAA,QAAA,EAAA,MAAA;MAKlBF,EAAAA,MAAAA;UACFC,EAAAA,MAAAA;EAAS,WAAA,EAAA,MAAA;EAMJE,YAAAA,CAAAA,EAAAA,MAAc;EAedC,UAAAA,CAAAA,EAAAA,OAAa;;AAEjBT,UC2BI,gBAAA,CD3BJA;WACCF,EAAAA,MAAAA;EAAmB,IAAA,EAAA,MAAA;EAMhBY,YAAS,EAAA,MAAA;EAWTC,YAAAA,CAAAA,EAAAA,MAAgB;EAOZC,UAAAA,EAAAA,OAAAA;AACrB;AAEiBE,UCOA,kBAAA,CDPc;EASdC,SAAAA,EAAAA,MAAc;EAAA,OAAA,EAAA,MAAA;YAEnBF,EAAAA,OAAAA;;AAGGC,UCDE,eAAA,CDCFA;EAAc,QAAA,EAAA,MAAA;;;;ACjG7B;AAOiB,cAwGJ,cAAA,CAxGiB;EAWb,iBAAA,MAAiB;EASjB,iBAAY,MAAA;EAAA,WAAA,CAAA,MAAA,EAwFP,oBAxFO;UAIL,OAAA;cAAf,CAAA,IAGQ,CAHR,EAAA;IAAM,WAAA,CAAA,EAAA,MAAA;EAGE,CAAA,CAAA,EA8GsC,OA9GtC,CAAA;IAMA,KAAA,EAwGuD,aAxGpC;EAQnB,CAAA,CAAA;EAQA,eAAA,CAAA,CAAA,EA+FU,OA/FW,CA+FH,YA1F1B,CAAA;EAIQ,WAAA,CAAA,IAAA,EAAc;IAQd,KAAA,EAAA;MASA,IAAA,EAAA,MAAgB;MAQhB,SAAA,EAAA,KAAkB,GAAA,KAAA;MAMlB,WAAe,CAAA,EAAA,MAAA;IAenB,CAAA,EAAA;EAAc,CAAA,CAAA,EA8CrB,OA9CqB,CAAA;IAIL,IAAA,EA0CA,gBA1CA,EAAA;;mBA6BiC,CAAA,IAAA,EAAA;IAOpB,QAAA,EAAA,MAAA;IAAR,IAAA,EAAA,MAAA;IAML,IAAA,EAAA,MAAA;IAAhB,YAAA,CAAA,EAAA,UAAA,GAAA,YAAA;MAYA,OAAQ,CAAA,mBAAA,CAAA;iBAAR,CAAA,IAAA,EAAA;IASQ,IAAA,EAAA,MAAA,GAAA,QAAA,GAAA,QAAA;MAAR,OAAA,CAAQ,qBAAR,CAAA;cAO0B,CAAA,CAAA,EAAR,OAAQ,CAAA,cAAA,CAAA;eAAR,CAAA,KAAA,EAAA;IAI4C,MAAA,CAAA,EAAA,MAAA;MAAjB,OAAA,CAAA;IAOH,KAAA,EAPoB,aAOpB,EAAA;;kBAIG,CAAA,CAAA,EAJvB,OAIuB,CAAA;IAAR,QAAA,EAJK,gBAIL,EAAA;;gBAkBpB,CAAA,SAAA,EAAA,MAAA,CAAA,EAlBoB,OAkBpB,CAlB4B,kBAkB5B,CAAA;gBAAjB,CAAA,QAAA,EAAA,MAAA,CAAA,EAdoC,OAcpC,CAAA;IAUA,OAAA,EAAA,OAAA;;iBAMsB,CAAA,IAAA,EAAA;IAIiC,KAAA,EAAA,KAAA,GAAA,MAAA,GAAA,SAAA;IAAR,OAAA,EAAA,MAAA;MApB/C,OA4BM,CAAA;IACP,KAAA,EA7BkB,eA6BlB,EAAA;IAYsC,UAAA,EAAA,MAAA,GAAA,IAAA;;mBACtC,CAAA,IAAA,EAAA;IAWqD,KAAA,EAAA,KAAA,GAAA,MAAA,GAAA,SAAA;IAAR,OAAA,EAAA,MAAA;IAU7C,QAAA,EAAA,MAAA;MArDC,OA6DwD,CAAA;IAAzD,WAAA,EAAA,MAAA;IAM0C,SAAA,EAAA,MAAA;;kBAIf,CAAA,CAAA,EAjEJ,OAiEI,CAjEI,kBAiEJ,EAAA,CAAA;sBAoBgB,CAAA,aAAA,EAAA,MAAA,CAAA,EAjFK,OAiFL,CAjFa,uBAiFb,CAAA;yBAQA,CAAA,aAAA,EAAA,MAAA,EAAA,MAAA,EAjFpC,MAiFoC,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EAhF3C,OAgF2C,CAAA,IAAA,CAAA;oBAQZ,CAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA;IAUJ,OAAA,CAAA,EAAA,MAAA;IAOF,MAAA,CAAA,EA7Fa,MA6Fb,CAAA,MAAA,EAAA,OAAA,CAAA;MA5FzB,OAoGuB,CApGf,kBAoGe,CAAA;mBAOI,CAAA,aAAA,EAAA,MAAA,CAAA,EAhGkB,OAgGlB,CAhG0B,kBAgG1B,CAAA;aAQG,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EA9F9B,OA8F8B,CAAA;IAeF,GAAA,EAAA,MAAA;IAOH,QAAA,EAAA,MAAA;IASF,SAAA,EAAA,MAAA;;gBAuBT,CAAA,QAAA,EAAA,MAAA,CAAA,EA5Id,OA4Ic,CAAA;IACb,QAAA,EAAA,MAAA;IAOuB,SAAA,EAAA,OAAA;IAM8D,MAAA,CAAA,EA1J7B,MA0J6B,CAAA,MAAA,EAAA,MAAA,CAAA;;aAgDhF,CAAA,CAAA,EApMY,OAoMZ,CAAA;IAIG,YAAA,EAxMiC,aAwMjC,EAAA;;sBAcH,CAAA,CAAA,EAlNqB,OAkNrB,CAAA;IAKL,QAAA,CAAA,EAAA;MAcK,KAAA,EAAA,MAAA;MAII,YAAA,EAAA,MAAA;MAKA,QAAA,EAAA,MAAA;MACI,YAAA,EAAA,MAAA;MAEF,eAAA,CAAA,EAAA,MAAA,EAAA;MAGH,SAAA,EAAA,OAAA;MAAR,WAAA,CAAA,EAAA,MAAA;IAaK,CAAA,EAAA;IAGgB,KAAA,EAAA,MAAA;IAA4B,YAAA,EAAA,MAAA;IAAjD,QAAA,EAAA,MAAA;IAQK,YAAA,EAAA,MAAA;IAMM,SAAA,EAAA,MAAA;IACJ,eAAA,CAAA,EAAA,MAAA,EAAA;;yBAHP,CAAA,KAAA,EAAA,MAAA,CAAA,EA5P0C,OA4P1C,CAAA;IAiBK,QAAA,EAAA;MAIM,KAAA,EAAA,MAAA;MACJ,WAAA,CAAA,EAAA,MAAA;MAEE,SAAA,EAAA,OAAA;IAET,CAAA,EAAA;;yBAcA,CAAA,KAAA,EAAA,MAAA,CAAA,EA5R0C,OA4R1C,CAAA;IASK,QAAA,EAAA;MAMI,KAAA,EAAA,MAAA;MAED,WAAA,CAAA,EAAA,MAAA;MAAR,SAAA,EAAA,OAAA;IAUK,CAAA,EAAA;;0BAKG,CAAA,CAAA,EApTsB,OAoTtB,CAAA;IAAR,KAAA,EAAA,MAAA;IAcK,YAAA,EAAA,MAAA;IAKc,QAAA,EAAA,MAAA;IAAnB,YAAA,EAAA,MAAA;IAYK,WAAA,CAAA,EAAA,MAAA;;sBAWyB,CAAA,CAAA,EApVJ,OAoVI,CAAA;IAAR,KAAA,EAAA,MAAA;IAetB,WAAA,EAAA,MAAA;;oBA0B0C,CAAA,CAAA,EAtXlB,OAsXkB,CAAA;IAS1C,WAAA,EAAA,MAAA;IASA,oBAAA,EAAA,MAAA;IAWA,YAAA,EAAA,MAAA;;kBAoBA,CAAA,CAAA,EA/ZsB,OA+ZtB,CAAA;IAUA,WAAA,EAAA,MAAA;IAkBA,SAAA,EAAA,MAAA;;sBA4CD,CAAA,CAAA,EAhe2B,OAge3B,CAAA;IAeC,WAAA,EAAA,MAAA;IAsBA,WAAA,EAAA,MAAA;IAsBA,aAAA,EAAA,MAAA;;yBAkCwD,CAAA,CAAA,EArjB3B,OAqjB2B,CAAA;IAWjB,WAAA,EAAA,MAAA;IAOnB,YAAA,EAAA,MAAA;IAOc,oBAAA,EAAA,MAAA;IAMjB,OAAA,EAAA,MAAA;IAiBjB,QAAA,EAAA,MAAA;IAUA,OAAA,EAAA,MAAA;IAWA,KAAA,EAAA,MAAA;IASiC,eAAA,EAAA,MAAA,EAAA;IAcjC,QAAA,EAAA,MAAA;IAAO,YAAA,EAAA,MAAA;;2BAloBoB;;;;wBAOH;;;;;;sBASF;;;;yBAOG;;;;;;;;;;;;;mBAgBZ;MACb;;;;uBAOuB;;;;;;;;;;;QAM8D;;;;;;;;;;;;;MAarF;;;;;;;;;;;;WAmCK;;;;MAIL,QAAQ;;;;;;;;WAcH;;;;;MAKL;;;;;;;;;;WAcK;;;;eAII;;;;;eAKA;mBACI;;iBAEF;;;MAGX,QAAQ;;;WAaH;;;MAGL;eAAqB;eAA4B;;;;WAQ5C;;;;MAIL;;iBAEW;aACJ;;eAEE;;;;;;;WAYJ;;;;iBAIM;aACJ;;eAEE;;MAET;;;;;;WAUK;;;;MAIL;;;WASK;;;;;;eAMI;;MAET,QAAQ;;;WAUH;;eAEI;;;MAGT,QAAQ;;;WAcH;;;;;MAKL;aAAmB;;;;;WAYd;;;MAGL;;sBAQsB,QAAQ;;;;;;MAe9B;;;;;;;;;;;MAiBA;;;0CAS0C;;;;;;;;;;MAS1C;;;;;;;;;;MASA;;;;;;;;;;;;MAWA;;;;;;;;;;;MAWA;;;;;MASA;;;;;;;;;;MAUA;;;;;;;;;;;;;;;;;;MAkBA;;;;;;;;;;;;;;;;MAiBA;;;;;;;;;;;;;;;;;;MA2BD;;;;;;;;;;;MAeC;;;;;;;;;;;MAsBA;;;;;;;;;;;;;;;;;;;;;;;;MAsBA;;;;;;;;;;;;MAsBA;;;;wDAYwD;;;;uCAWjB;;;;;;;;;;;oBAOnB;;;;;;;;kCAOc;;;iBAMjB;;;;;;;;;;;;MAiBjB;;;;MAUA;;;;;MAWA;iCASiC;;;;;;;;;;;MAcjC"}
|