@axtary/approvals 0.0.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.
@@ -0,0 +1,699 @@
1
+ import { type ApprovalArtifact, type LedgerProviderEvidence } from "@axtary/actionpass";
2
+ import { z } from "zod";
3
+ export declare const APPROVAL_QUEUE_SCHEMA_VERSION = "axtary.approval_queue.v0";
4
+ export declare const APPROVAL_QUEUE_STORE_VERSION = "axtary.approval_queue_store.v0";
5
+ export declare const APPROVAL_REVIEW_PACKET_SCHEMA_VERSION = "axtary.approval_review_packet.v0";
6
+ export declare const APPROVAL_REVIEW_PACKET_DIFF_LIMITS: {
7
+ readonly files: 6;
8
+ readonly hunksPerFile: 3;
9
+ readonly linesPerHunk: 18;
10
+ };
11
+ export declare const ApprovalQueueStatusSchema: z.ZodEnum<{
12
+ pending: "pending";
13
+ approved: "approved";
14
+ denied: "denied";
15
+ expired: "expired";
16
+ }>;
17
+ export type ApprovalQueueStatus = z.infer<typeof ApprovalQueueStatusSchema>;
18
+ export declare const ApprovalQueueSourceSchema: z.ZodEnum<{
19
+ proxy: "proxy";
20
+ sdk: "sdk";
21
+ api: "api";
22
+ dashboard: "dashboard";
23
+ policy_review: "policy_review";
24
+ demo: "demo";
25
+ }>;
26
+ export type ApprovalQueueSource = z.infer<typeof ApprovalQueueSourceSchema>;
27
+ export declare const ApprovalQueueProvenanceSchema: z.ZodDefault<z.ZodObject<{
28
+ source: z.ZodDefault<z.ZodEnum<{
29
+ proxy: "proxy";
30
+ sdk: "sdk";
31
+ api: "api";
32
+ dashboard: "dashboard";
33
+ policy_review: "policy_review";
34
+ demo: "demo";
35
+ }>>;
36
+ createdBy: z.ZodOptional<z.ZodString>;
37
+ sourceId: z.ZodOptional<z.ZodString>;
38
+ createdFrom: z.ZodOptional<z.ZodString>;
39
+ note: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>>;
41
+ export type ApprovalQueueProvenance = z.infer<typeof ApprovalQueueProvenanceSchema>;
42
+ export declare const ApprovalQueueDiffLineSchema: z.ZodObject<{
43
+ type: z.ZodEnum<{
44
+ context: "context";
45
+ addition: "addition";
46
+ deletion: "deletion";
47
+ }>;
48
+ content: z.ZodString;
49
+ oldLine: z.ZodOptional<z.ZodNumber>;
50
+ newLine: z.ZodOptional<z.ZodNumber>;
51
+ }, z.core.$strip>;
52
+ export type ApprovalQueueDiffLine = z.infer<typeof ApprovalQueueDiffLineSchema>;
53
+ export declare const ApprovalQueueDiffFileSchema: z.ZodObject<{
54
+ path: z.ZodString;
55
+ oldPath: z.ZodOptional<z.ZodString>;
56
+ status: z.ZodEnum<{
57
+ added: "added";
58
+ modified: "modified";
59
+ deleted: "deleted";
60
+ renamed: "renamed";
61
+ }>;
62
+ additions: z.ZodDefault<z.ZodNumber>;
63
+ deletions: z.ZodDefault<z.ZodNumber>;
64
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
65
+ header: z.ZodString;
66
+ lines: z.ZodArray<z.ZodObject<{
67
+ type: z.ZodEnum<{
68
+ context: "context";
69
+ addition: "addition";
70
+ deletion: "deletion";
71
+ }>;
72
+ content: z.ZodString;
73
+ oldLine: z.ZodOptional<z.ZodNumber>;
74
+ newLine: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strip>>;
76
+ }, z.core.$strip>>>;
77
+ }, z.core.$strip>;
78
+ export type ApprovalQueueDiffFile = z.infer<typeof ApprovalQueueDiffFileSchema>;
79
+ export declare const ApprovalQueueDiffSchema: z.ZodObject<{
80
+ provider: z.ZodString;
81
+ summary: z.ZodOptional<z.ZodString>;
82
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
83
+ path: z.ZodString;
84
+ oldPath: z.ZodOptional<z.ZodString>;
85
+ status: z.ZodEnum<{
86
+ added: "added";
87
+ modified: "modified";
88
+ deleted: "deleted";
89
+ renamed: "renamed";
90
+ }>;
91
+ additions: z.ZodDefault<z.ZodNumber>;
92
+ deletions: z.ZodDefault<z.ZodNumber>;
93
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
94
+ header: z.ZodString;
95
+ lines: z.ZodArray<z.ZodObject<{
96
+ type: z.ZodEnum<{
97
+ context: "context";
98
+ addition: "addition";
99
+ deletion: "deletion";
100
+ }>;
101
+ content: z.ZodString;
102
+ oldLine: z.ZodOptional<z.ZodNumber>;
103
+ newLine: z.ZodOptional<z.ZodNumber>;
104
+ }, z.core.$strip>>;
105
+ }, z.core.$strip>>>;
106
+ }, z.core.$strip>>>;
107
+ }, z.core.$strip>;
108
+ export type ApprovalQueueDiff = z.infer<typeof ApprovalQueueDiffSchema>;
109
+ export declare const ApprovalQueueItemSchema: z.ZodObject<{
110
+ schemaVersion: z.ZodLiteral<"axtary.approval_queue.v0">;
111
+ id: z.ZodString;
112
+ tenant: z.ZodString;
113
+ status: z.ZodEnum<{
114
+ pending: "pending";
115
+ approved: "approved";
116
+ denied: "denied";
117
+ expired: "expired";
118
+ }>;
119
+ action: z.ZodObject<{
120
+ schemaVersion: z.ZodDefault<z.ZodLiteral<"axtary.action.v0">>;
121
+ actor: z.ZodObject<{
122
+ agentId: z.ZodString;
123
+ humanOwner: z.ZodString;
124
+ runtime: z.ZodString;
125
+ tenant: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>;
127
+ intent: z.ZodObject<{
128
+ taskId: z.ZodString;
129
+ declaredGoal: z.ZodString;
130
+ maxDelegationDepth: z.ZodOptional<z.ZodNumber>;
131
+ }, z.core.$strip>;
132
+ capability: z.ZodObject<{
133
+ tool: z.ZodString;
134
+ resource: z.ZodString;
135
+ payload: z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
136
+ constraints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
137
+ }, z.core.$strip>;
138
+ toolDefinition: z.ZodOptional<z.ZodObject<{
139
+ serverIdentity: z.ZodString;
140
+ schemaVersion: z.ZodString;
141
+ definitionHash: z.ZodString;
142
+ }, z.core.$strip>>;
143
+ budget: z.ZodOptional<z.ZodObject<{
144
+ reservationId: z.ZodOptional<z.ZodString>;
145
+ limit: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
146
+ commitStatus: z.ZodOptional<z.ZodEnum<{
147
+ pending: "pending";
148
+ committed: "committed";
149
+ rolled_back: "rolled_back";
150
+ }>>;
151
+ }, z.core.$strip>>;
152
+ }, z.core.$strip>;
153
+ decision: z.ZodObject<{
154
+ decision: z.ZodEnum<{
155
+ allow: "allow";
156
+ deny: "deny";
157
+ step_up: "step_up";
158
+ }>;
159
+ reasons: z.ZodArray<z.ZodString>;
160
+ policy: z.ZodObject<{
161
+ nativeRule: z.ZodString;
162
+ version: z.ZodString;
163
+ cedarCompatible: z.ZodBoolean;
164
+ opaCompatible: z.ZodBoolean;
165
+ }, z.core.$strip>;
166
+ constraints: z.ZodObject<{
167
+ expiresInSeconds: z.ZodNumber;
168
+ maxFilesChanged: z.ZodNumber;
169
+ blockedPaths: z.ZodArray<z.ZodString>;
170
+ }, z.core.$strip>;
171
+ }, z.core.$strip>;
172
+ actionHash: z.ZodString;
173
+ payloadHash: z.ZodString;
174
+ requestedBy: z.ZodOptional<z.ZodString>;
175
+ requestedAt: z.ZodString;
176
+ provenance: z.ZodDefault<z.ZodObject<{
177
+ source: z.ZodDefault<z.ZodEnum<{
178
+ proxy: "proxy";
179
+ sdk: "sdk";
180
+ api: "api";
181
+ dashboard: "dashboard";
182
+ policy_review: "policy_review";
183
+ demo: "demo";
184
+ }>>;
185
+ createdBy: z.ZodOptional<z.ZodString>;
186
+ sourceId: z.ZodOptional<z.ZodString>;
187
+ createdFrom: z.ZodOptional<z.ZodString>;
188
+ note: z.ZodOptional<z.ZodString>;
189
+ }, z.core.$strip>>;
190
+ diff: z.ZodOptional<z.ZodObject<{
191
+ provider: z.ZodString;
192
+ summary: z.ZodOptional<z.ZodString>;
193
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
+ path: z.ZodString;
195
+ oldPath: z.ZodOptional<z.ZodString>;
196
+ status: z.ZodEnum<{
197
+ added: "added";
198
+ modified: "modified";
199
+ deleted: "deleted";
200
+ renamed: "renamed";
201
+ }>;
202
+ additions: z.ZodDefault<z.ZodNumber>;
203
+ deletions: z.ZodDefault<z.ZodNumber>;
204
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
205
+ header: z.ZodString;
206
+ lines: z.ZodArray<z.ZodObject<{
207
+ type: z.ZodEnum<{
208
+ context: "context";
209
+ addition: "addition";
210
+ deletion: "deletion";
211
+ }>;
212
+ content: z.ZodString;
213
+ oldLine: z.ZodOptional<z.ZodNumber>;
214
+ newLine: z.ZodOptional<z.ZodNumber>;
215
+ }, z.core.$strip>>;
216
+ }, z.core.$strip>>>;
217
+ }, z.core.$strip>>>;
218
+ }, z.core.$strip>>;
219
+ reviewEvidence: z.ZodOptional<z.ZodObject<{
220
+ schemaVersion: z.ZodLiteral<"axtary.ledger_provider_evidence.v0">;
221
+ provider: z.ZodEnum<{
222
+ github: "github";
223
+ slack: "slack";
224
+ linear: "linear";
225
+ }>;
226
+ tool: z.ZodString;
227
+ operation: z.ZodString;
228
+ resource: z.ZodObject<{
229
+ provider: z.ZodEnum<{
230
+ github: "github";
231
+ slack: "slack";
232
+ linear: "linear";
233
+ }>;
234
+ kind: z.ZodString;
235
+ id: z.ZodString;
236
+ label: z.ZodOptional<z.ZodString>;
237
+ url: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strict>;
239
+ normalized: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
240
+ fieldChanges: z.ZodDefault<z.ZodArray<z.ZodObject<{
241
+ field: z.ZodString;
242
+ before: z.ZodOptional<z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
243
+ after: z.ZodOptional<z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
244
+ }, z.core.$strip>>>;
245
+ diff: z.ZodOptional<z.ZodObject<{
246
+ provider: z.ZodEnum<{
247
+ github: "github";
248
+ slack: "slack";
249
+ linear: "linear";
250
+ }>;
251
+ summary: z.ZodOptional<z.ZodString>;
252
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
253
+ path: z.ZodString;
254
+ oldPath: z.ZodOptional<z.ZodString>;
255
+ status: z.ZodEnum<{
256
+ added: "added";
257
+ modified: "modified";
258
+ deleted: "deleted";
259
+ renamed: "renamed";
260
+ }>;
261
+ additions: z.ZodDefault<z.ZodNumber>;
262
+ deletions: z.ZodDefault<z.ZodNumber>;
263
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
264
+ header: z.ZodString;
265
+ lines: z.ZodArray<z.ZodObject<{
266
+ type: z.ZodEnum<{
267
+ context: "context";
268
+ addition: "addition";
269
+ deletion: "deletion";
270
+ }>;
271
+ content: z.ZodString;
272
+ oldLine: z.ZodOptional<z.ZodNumber>;
273
+ newLine: z.ZodOptional<z.ZodNumber>;
274
+ }, z.core.$strip>>;
275
+ }, z.core.$strip>>>;
276
+ }, z.core.$strip>>>;
277
+ }, z.core.$strip>>;
278
+ }, z.core.$strip>>;
279
+ expiresAt: z.ZodOptional<z.ZodString>;
280
+ resolvedBy: z.ZodOptional<z.ZodString>;
281
+ resolvedAt: z.ZodOptional<z.ZodString>;
282
+ approvalArtifact: z.ZodOptional<z.ZodObject<{
283
+ schemaVersion: z.ZodLiteral<"axtary.approval.v0">;
284
+ id: z.ZodString;
285
+ mode: z.ZodEnum<{
286
+ human: "human";
287
+ policy_override: "policy_override";
288
+ }>;
289
+ approvedBy: z.ZodString;
290
+ approvedAt: z.ZodString;
291
+ actionHash: z.ZodString;
292
+ payloadHash: z.ZodString;
293
+ taskId: z.ZodString;
294
+ tool: z.ZodString;
295
+ resource: z.ZodString;
296
+ reason: z.ZodOptional<z.ZodString>;
297
+ expiresAt: z.ZodOptional<z.ZodString>;
298
+ }, z.core.$strip>>;
299
+ denialReason: z.ZodOptional<z.ZodString>;
300
+ }, z.core.$strip>;
301
+ export type ApprovalQueueItem = z.infer<typeof ApprovalQueueItemSchema>;
302
+ export declare const ApprovalQueueStoreDataSchema: z.ZodObject<{
303
+ schemaVersion: z.ZodLiteral<"axtary.approval_queue_store.v0">;
304
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
305
+ schemaVersion: z.ZodLiteral<"axtary.approval_queue.v0">;
306
+ id: z.ZodString;
307
+ tenant: z.ZodString;
308
+ status: z.ZodEnum<{
309
+ pending: "pending";
310
+ approved: "approved";
311
+ denied: "denied";
312
+ expired: "expired";
313
+ }>;
314
+ action: z.ZodObject<{
315
+ schemaVersion: z.ZodDefault<z.ZodLiteral<"axtary.action.v0">>;
316
+ actor: z.ZodObject<{
317
+ agentId: z.ZodString;
318
+ humanOwner: z.ZodString;
319
+ runtime: z.ZodString;
320
+ tenant: z.ZodOptional<z.ZodString>;
321
+ }, z.core.$strip>;
322
+ intent: z.ZodObject<{
323
+ taskId: z.ZodString;
324
+ declaredGoal: z.ZodString;
325
+ maxDelegationDepth: z.ZodOptional<z.ZodNumber>;
326
+ }, z.core.$strip>;
327
+ capability: z.ZodObject<{
328
+ tool: z.ZodString;
329
+ resource: z.ZodString;
330
+ payload: z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
331
+ constraints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
332
+ }, z.core.$strip>;
333
+ toolDefinition: z.ZodOptional<z.ZodObject<{
334
+ serverIdentity: z.ZodString;
335
+ schemaVersion: z.ZodString;
336
+ definitionHash: z.ZodString;
337
+ }, z.core.$strip>>;
338
+ budget: z.ZodOptional<z.ZodObject<{
339
+ reservationId: z.ZodOptional<z.ZodString>;
340
+ limit: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
341
+ commitStatus: z.ZodOptional<z.ZodEnum<{
342
+ pending: "pending";
343
+ committed: "committed";
344
+ rolled_back: "rolled_back";
345
+ }>>;
346
+ }, z.core.$strip>>;
347
+ }, z.core.$strip>;
348
+ decision: z.ZodObject<{
349
+ decision: z.ZodEnum<{
350
+ allow: "allow";
351
+ deny: "deny";
352
+ step_up: "step_up";
353
+ }>;
354
+ reasons: z.ZodArray<z.ZodString>;
355
+ policy: z.ZodObject<{
356
+ nativeRule: z.ZodString;
357
+ version: z.ZodString;
358
+ cedarCompatible: z.ZodBoolean;
359
+ opaCompatible: z.ZodBoolean;
360
+ }, z.core.$strip>;
361
+ constraints: z.ZodObject<{
362
+ expiresInSeconds: z.ZodNumber;
363
+ maxFilesChanged: z.ZodNumber;
364
+ blockedPaths: z.ZodArray<z.ZodString>;
365
+ }, z.core.$strip>;
366
+ }, z.core.$strip>;
367
+ actionHash: z.ZodString;
368
+ payloadHash: z.ZodString;
369
+ requestedBy: z.ZodOptional<z.ZodString>;
370
+ requestedAt: z.ZodString;
371
+ provenance: z.ZodDefault<z.ZodObject<{
372
+ source: z.ZodDefault<z.ZodEnum<{
373
+ proxy: "proxy";
374
+ sdk: "sdk";
375
+ api: "api";
376
+ dashboard: "dashboard";
377
+ policy_review: "policy_review";
378
+ demo: "demo";
379
+ }>>;
380
+ createdBy: z.ZodOptional<z.ZodString>;
381
+ sourceId: z.ZodOptional<z.ZodString>;
382
+ createdFrom: z.ZodOptional<z.ZodString>;
383
+ note: z.ZodOptional<z.ZodString>;
384
+ }, z.core.$strip>>;
385
+ diff: z.ZodOptional<z.ZodObject<{
386
+ provider: z.ZodString;
387
+ summary: z.ZodOptional<z.ZodString>;
388
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
389
+ path: z.ZodString;
390
+ oldPath: z.ZodOptional<z.ZodString>;
391
+ status: z.ZodEnum<{
392
+ added: "added";
393
+ modified: "modified";
394
+ deleted: "deleted";
395
+ renamed: "renamed";
396
+ }>;
397
+ additions: z.ZodDefault<z.ZodNumber>;
398
+ deletions: z.ZodDefault<z.ZodNumber>;
399
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
400
+ header: z.ZodString;
401
+ lines: z.ZodArray<z.ZodObject<{
402
+ type: z.ZodEnum<{
403
+ context: "context";
404
+ addition: "addition";
405
+ deletion: "deletion";
406
+ }>;
407
+ content: z.ZodString;
408
+ oldLine: z.ZodOptional<z.ZodNumber>;
409
+ newLine: z.ZodOptional<z.ZodNumber>;
410
+ }, z.core.$strip>>;
411
+ }, z.core.$strip>>>;
412
+ }, z.core.$strip>>>;
413
+ }, z.core.$strip>>;
414
+ reviewEvidence: z.ZodOptional<z.ZodObject<{
415
+ schemaVersion: z.ZodLiteral<"axtary.ledger_provider_evidence.v0">;
416
+ provider: z.ZodEnum<{
417
+ github: "github";
418
+ slack: "slack";
419
+ linear: "linear";
420
+ }>;
421
+ tool: z.ZodString;
422
+ operation: z.ZodString;
423
+ resource: z.ZodObject<{
424
+ provider: z.ZodEnum<{
425
+ github: "github";
426
+ slack: "slack";
427
+ linear: "linear";
428
+ }>;
429
+ kind: z.ZodString;
430
+ id: z.ZodString;
431
+ label: z.ZodOptional<z.ZodString>;
432
+ url: z.ZodOptional<z.ZodString>;
433
+ }, z.core.$strict>;
434
+ normalized: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>>;
435
+ fieldChanges: z.ZodDefault<z.ZodArray<z.ZodObject<{
436
+ field: z.ZodString;
437
+ before: z.ZodOptional<z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
438
+ after: z.ZodOptional<z.ZodType<import("@axtary/actionpass").JsonValue, unknown, z.core.$ZodTypeInternals<import("@axtary/actionpass").JsonValue, unknown>>>;
439
+ }, z.core.$strip>>>;
440
+ diff: z.ZodOptional<z.ZodObject<{
441
+ provider: z.ZodEnum<{
442
+ github: "github";
443
+ slack: "slack";
444
+ linear: "linear";
445
+ }>;
446
+ summary: z.ZodOptional<z.ZodString>;
447
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
448
+ path: z.ZodString;
449
+ oldPath: z.ZodOptional<z.ZodString>;
450
+ status: z.ZodEnum<{
451
+ added: "added";
452
+ modified: "modified";
453
+ deleted: "deleted";
454
+ renamed: "renamed";
455
+ }>;
456
+ additions: z.ZodDefault<z.ZodNumber>;
457
+ deletions: z.ZodDefault<z.ZodNumber>;
458
+ hunks: z.ZodDefault<z.ZodArray<z.ZodObject<{
459
+ header: z.ZodString;
460
+ lines: z.ZodArray<z.ZodObject<{
461
+ type: z.ZodEnum<{
462
+ context: "context";
463
+ addition: "addition";
464
+ deletion: "deletion";
465
+ }>;
466
+ content: z.ZodString;
467
+ oldLine: z.ZodOptional<z.ZodNumber>;
468
+ newLine: z.ZodOptional<z.ZodNumber>;
469
+ }, z.core.$strip>>;
470
+ }, z.core.$strip>>>;
471
+ }, z.core.$strip>>>;
472
+ }, z.core.$strip>>;
473
+ }, z.core.$strip>>;
474
+ expiresAt: z.ZodOptional<z.ZodString>;
475
+ resolvedBy: z.ZodOptional<z.ZodString>;
476
+ resolvedAt: z.ZodOptional<z.ZodString>;
477
+ approvalArtifact: z.ZodOptional<z.ZodObject<{
478
+ schemaVersion: z.ZodLiteral<"axtary.approval.v0">;
479
+ id: z.ZodString;
480
+ mode: z.ZodEnum<{
481
+ human: "human";
482
+ policy_override: "policy_override";
483
+ }>;
484
+ approvedBy: z.ZodString;
485
+ approvedAt: z.ZodString;
486
+ actionHash: z.ZodString;
487
+ payloadHash: z.ZodString;
488
+ taskId: z.ZodString;
489
+ tool: z.ZodString;
490
+ resource: z.ZodString;
491
+ reason: z.ZodOptional<z.ZodString>;
492
+ expiresAt: z.ZodOptional<z.ZodString>;
493
+ }, z.core.$strip>>;
494
+ denialReason: z.ZodOptional<z.ZodString>;
495
+ }, z.core.$strip>>>;
496
+ }, z.core.$strip>;
497
+ export type ApprovalQueueStoreData = z.infer<typeof ApprovalQueueStoreDataSchema>;
498
+ export type CreateApprovalQueueItemInput = {
499
+ action: unknown;
500
+ decision: unknown;
501
+ tenant?: string;
502
+ requestedBy?: string;
503
+ requestedAt?: Date;
504
+ expiresAt?: Date;
505
+ id?: string;
506
+ provenance?: unknown;
507
+ source?: ApprovalQueueSource;
508
+ diff?: unknown;
509
+ reviewEvidence?: unknown;
510
+ };
511
+ export type ApproveApprovalQueueItemInput = {
512
+ id: string;
513
+ approvedBy: string;
514
+ approvedAt?: Date;
515
+ reason?: string;
516
+ expiresAt?: Date;
517
+ };
518
+ export type DenyApprovalQueueItemInput = {
519
+ id: string;
520
+ deniedBy: string;
521
+ deniedAt?: Date;
522
+ reason: string;
523
+ };
524
+ export type ListApprovalQueueItemsInput = {
525
+ status?: ApprovalQueueStatus;
526
+ tenant?: string;
527
+ };
528
+ export type ApprovalQueueCreateResult = {
529
+ item: ApprovalQueueItem;
530
+ };
531
+ export type ApprovalQueueApprovalResult = {
532
+ item: ApprovalQueueItem;
533
+ artifact: ApprovalArtifact;
534
+ };
535
+ export type ApprovalQueueDenialResult = {
536
+ item: ApprovalQueueItem;
537
+ };
538
+ export type ApprovalReviewPacket = {
539
+ schemaVersion: typeof APPROVAL_REVIEW_PACKET_SCHEMA_VERSION;
540
+ kind: "approval_review_evidence";
541
+ compatibility: {
542
+ hasReviewEvidence: boolean;
543
+ legacyDiffOnly: boolean;
544
+ localDemoRequest: boolean;
545
+ omittedProviderDiffFiles: number;
546
+ omittedProviderDiffHunks: number;
547
+ omittedProviderDiffLines: number;
548
+ };
549
+ request: {
550
+ id: string;
551
+ tenant: string;
552
+ status: ApprovalQueueStatus;
553
+ requestedAt: string;
554
+ requestedBy: string | null;
555
+ expiresAt: string | null;
556
+ resolvedBy: string | null;
557
+ resolvedAt: string | null;
558
+ denialReason: string | null;
559
+ };
560
+ action: {
561
+ schemaVersion: string;
562
+ actor: ApprovalQueueItem["action"]["actor"];
563
+ intent: ApprovalQueueItem["action"]["intent"];
564
+ capability: {
565
+ tool: string;
566
+ resource: string;
567
+ constraints?: ApprovalQueueItem["action"]["capability"]["constraints"];
568
+ };
569
+ toolDefinition?: ApprovalQueueItem["action"]["toolDefinition"];
570
+ budget?: ApprovalQueueItem["action"]["budget"];
571
+ };
572
+ decision: ApprovalQueueItem["decision"];
573
+ provenance: ApprovalQueueItem["provenance"];
574
+ hashes: {
575
+ action: string;
576
+ payload: string;
577
+ approvalArtifact: string | null;
578
+ };
579
+ reviewEvidence: RedactedApprovalReviewEvidence | null;
580
+ legacyDiff: RedactedApprovalDiff | null;
581
+ approvalArtifact: ApprovalArtifact | null;
582
+ };
583
+ type RedactedApprovalReviewEvidence = {
584
+ schemaVersion: LedgerProviderEvidence["schemaVersion"];
585
+ provider: LedgerProviderEvidence["provider"];
586
+ tool: string;
587
+ operation: string;
588
+ resource: LedgerProviderEvidence["resource"];
589
+ normalized: unknown;
590
+ fieldChanges: Array<{
591
+ field: string;
592
+ before?: unknown;
593
+ after?: unknown;
594
+ }>;
595
+ diff: RedactedApprovalDiff | null;
596
+ };
597
+ type RedactedApprovalDiff = {
598
+ provider: string;
599
+ summary?: string;
600
+ totals: {
601
+ files: number;
602
+ additions: number;
603
+ deletions: number;
604
+ };
605
+ files: Array<{
606
+ path: string;
607
+ oldPath?: string;
608
+ status: string;
609
+ additions: number;
610
+ deletions: number;
611
+ hunks: Array<{
612
+ header: string;
613
+ lines: Array<{
614
+ type: "context" | "addition" | "deletion";
615
+ content: string;
616
+ oldLine?: number;
617
+ newLine?: number;
618
+ }>;
619
+ omittedLines: number;
620
+ }>;
621
+ omittedHunks: number;
622
+ }>;
623
+ omittedFiles: number;
624
+ omittedHunks: number;
625
+ omittedLines: number;
626
+ };
627
+ export type ApprovalQueueStore = {
628
+ create(input: CreateApprovalQueueItemInput): Promise<ApprovalQueueItem>;
629
+ get(id: string): Promise<ApprovalQueueItem | null>;
630
+ list(input?: ListApprovalQueueItemsInput): Promise<ApprovalQueueItem[]>;
631
+ approve(input: ApproveApprovalQueueItemInput): Promise<ApprovalQueueApprovalResult>;
632
+ deny(input: DenyApprovalQueueItemInput): Promise<ApprovalQueueDenialResult>;
633
+ };
634
+ export type ApprovalQueueFetch = (url: string, init?: {
635
+ method?: string;
636
+ headers?: Record<string, string>;
637
+ body?: string;
638
+ }) => Promise<{
639
+ ok: boolean;
640
+ status: number;
641
+ json: () => Promise<unknown>;
642
+ }>;
643
+ export type ApprovalQueueClientConfig = {
644
+ baseUrl: string;
645
+ fetch?: ApprovalQueueFetch;
646
+ headers?: Record<string, string>;
647
+ };
648
+ export type HostedApprovalResolverInput = {
649
+ action: unknown;
650
+ decision: unknown;
651
+ tenant?: string;
652
+ requestedBy?: string;
653
+ expiresAt?: Date;
654
+ provenance?: unknown;
655
+ diff?: unknown;
656
+ reviewEvidence?: unknown;
657
+ };
658
+ export type HostedApprovalResolver = (input: HostedApprovalResolverInput) => Promise<ApprovalArtifact | null>;
659
+ export declare class InMemoryApprovalQueueStore implements ApprovalQueueStore {
660
+ private readonly items;
661
+ create(input: CreateApprovalQueueItemInput): Promise<ApprovalQueueItem>;
662
+ get(id: string): Promise<ApprovalQueueItem | null>;
663
+ list(input?: ListApprovalQueueItemsInput): Promise<ApprovalQueueItem[]>;
664
+ approve(input: ApproveApprovalQueueItemInput): Promise<ApprovalQueueApprovalResult>;
665
+ deny(input: DenyApprovalQueueItemInput): Promise<ApprovalQueueDenialResult>;
666
+ }
667
+ export declare class LocalJsonApprovalQueueStore implements ApprovalQueueStore {
668
+ readonly filePath: string;
669
+ constructor(filePath: string);
670
+ read(): Promise<ApprovalQueueStoreData>;
671
+ write(dataInput: Partial<ApprovalQueueStoreData>): Promise<ApprovalQueueStoreData>;
672
+ create(input: CreateApprovalQueueItemInput): Promise<ApprovalQueueItem>;
673
+ get(id: string): Promise<ApprovalQueueItem | null>;
674
+ list(input?: ListApprovalQueueItemsInput): Promise<ApprovalQueueItem[]>;
675
+ approve(input: ApproveApprovalQueueItemInput): Promise<ApprovalQueueApprovalResult>;
676
+ deny(input: DenyApprovalQueueItemInput): Promise<ApprovalQueueDenialResult>;
677
+ }
678
+ export declare function createApprovalQueueItem(input: CreateApprovalQueueItemInput): ApprovalQueueItem;
679
+ export declare function serializeApprovalQueueItem(item: ApprovalQueueItem): ApprovalQueueItem;
680
+ export declare class ApprovalQueueHttpClient {
681
+ private readonly baseUrl;
682
+ private readonly fetchImpl;
683
+ private readonly headers;
684
+ constructor(config: ApprovalQueueClientConfig);
685
+ requestApproval(input: HostedApprovalResolverInput): Promise<ApprovalQueueItem>;
686
+ get(id: string): Promise<ApprovalQueueItem | null>;
687
+ resolveApprovedArtifact(input: HostedApprovalResolverInput): Promise<ApprovalArtifact | null>;
688
+ }
689
+ export declare function createApprovalQueueClient(config: ApprovalQueueClientConfig): ApprovalQueueHttpClient;
690
+ export declare function createHostedApprovalResolver(config: ApprovalQueueClientConfig & {
691
+ tenant?: string;
692
+ requestedBy?: string;
693
+ expiresAt?: Date;
694
+ }): HostedApprovalResolver;
695
+ export declare function approvalRequestIdForAction(actionInput: unknown): string;
696
+ export declare function createApprovalReviewPacket(itemInput: unknown): ApprovalReviewPacket;
697
+ export declare function formatApprovalReviewPacket(itemInput: unknown): string;
698
+ export {};
699
+ //# sourceMappingURL=index.d.ts.map