@takboo/dsh-session-bin 0.0.0-stage → 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.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -2
  3. package/cordis.patch.yml +4 -0
  4. package/dist/client-model.js +1673 -0
  5. package/dist/client.js +17043 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/host/archive.d.ts +766 -0
  8. package/dist/host/lease.d.ts +4 -0
  9. package/dist/host/module.d.ts +705 -0
  10. package/dist/host/native-jsonl-files.d.ts +198 -0
  11. package/dist/host/native-retirement-admission.d.ts +33 -0
  12. package/dist/host/native-retirement-metadata.d.ts +116 -0
  13. package/dist/host/native-retirement-owner.d.ts +305 -0
  14. package/dist/host/native-retirement-persistence.d.ts +24 -0
  15. package/dist/host/native-retirement-sdk.d.ts +80 -0
  16. package/dist/host/native.d.ts +12 -0
  17. package/dist/host/platform-files.d.ts +19 -0
  18. package/dist/host/remote.d.ts +32 -0
  19. package/dist/host/retirement-owner-store.d.ts +124 -0
  20. package/dist/host/retirement-owner.d.ts +124 -0
  21. package/dist/host/retirement-store.d.ts +311 -0
  22. package/dist/host/retirement.d.ts +76 -0
  23. package/dist/host/store.d.ts +215 -0
  24. package/dist/index.d.ts +912 -0
  25. package/dist/index.js +5008 -0
  26. package/dist/index.js.map +7 -0
  27. package/dist/operations/archive.d.ts +82 -0
  28. package/dist/operations/index.d.ts +2 -0
  29. package/dist/operations/retirement-owner.d.ts +129 -0
  30. package/dist/operations/retirement.d.ts +821 -0
  31. package/dist/operations/schema.d.ts +115 -0
  32. package/dist/operations.js +130 -0
  33. package/dist/operations.js.map +7 -0
  34. package/dist/remote/contracts.d.ts +891 -0
  35. package/dist/remote.js +442 -0
  36. package/dist/remote.js.map +7 -0
  37. package/dist/types/client/components.d.ts +17 -0
  38. package/dist/types/client/index.d.ts +10 -0
  39. package/dist/types/client/locales.d.ts +116 -0
  40. package/dist/types/client/model.d.ts +137 -0
  41. package/dist/types/client/purge-batch.d.ts +45 -0
  42. package/dist/types/client/retirement-digest.d.ts +3 -0
  43. package/dist/types/operations/archive.d.ts +82 -0
  44. package/dist/types/operations/retirement.d.ts +821 -0
  45. package/dist/types/operations/schema.d.ts +115 -0
  46. package/dist/types/remote/contracts.d.ts +891 -0
  47. package/docs/client-interface.md +79 -0
  48. package/docs/host-lifecycle.md +160 -0
  49. package/locale/en.json +6 -0
  50. package/locale/zh.json +6 -0
  51. package/package.json +163 -4
@@ -0,0 +1,705 @@
1
+ import type { BinEntry, BinOperation, BinPlan, BinResult, PrepareRequest } from '../operations/schema.js';
2
+ import type { BinStore } from './store.js';
3
+ import type { RetirementOptions } from './retirement.js';
4
+ import type { PreparePurgeRequest, PurgePlan } from '../operations/retirement.js';
5
+ export declare class SessionBinError extends Error {
6
+ readonly code: string;
7
+ constructor(code: string, message: string, options?: ErrorOptions);
8
+ }
9
+ /** Internal marker: external failures using the same public Error class remain unknown. */
10
+ export declare function sessionBinRefusal(code: string, message: string): SessionBinError;
11
+ export declare function isSessionBinRefusal(error: unknown): boolean;
12
+ export interface NativeSessionState {
13
+ archived: boolean;
14
+ known: boolean;
15
+ workspaceId: string | null;
16
+ }
17
+ export interface NativeBinPort {
18
+ inspect(sessionId: string): Promise<NativeSessionState>;
19
+ activity(sessionId: string): Promise<string[]>;
20
+ archive(sessionId: string): Promise<void>;
21
+ unarchive(sessionId: string): Promise<void>;
22
+ }
23
+ export interface ReconcileReport {
24
+ completed: BinResult[];
25
+ retryRequired: string[];
26
+ releasedEntries: string[];
27
+ }
28
+ /** One Host owns this Module; its caller holds the lifetime lease before open. */
29
+ export declare class SessionBinModule {
30
+ private readonly store;
31
+ private readonly native;
32
+ private readonly options;
33
+ private tail;
34
+ private closing;
35
+ private failed;
36
+ private failure;
37
+ private closePromise;
38
+ private readonly invalidated;
39
+ private readonly observedArchived;
40
+ private readonly purge;
41
+ constructor(store: BinStore, native: NativeBinPort, options?: {
42
+ retirement?: RetirementOptions;
43
+ legacyReadOnly?: boolean;
44
+ });
45
+ preparePurge(request: PreparePurgeRequest): Promise<{
46
+ schemaVersion: 1 | 2;
47
+ action: "purge";
48
+ operationId: string;
49
+ sessionId: string;
50
+ expectedEntryId: string | null;
51
+ binding: {
52
+ schemaVersion: 1;
53
+ entryId: string;
54
+ entryVersion: 1;
55
+ lifecycle: {
56
+ storeId: string;
57
+ sessionId: string;
58
+ lifecycleId: string;
59
+ };
60
+ capabilities: {
61
+ protocolVersion: 1;
62
+ ownerId: string;
63
+ hostVersion: string;
64
+ providerId: string;
65
+ storeId: string;
66
+ participants: {
67
+ id: string;
68
+ version: string;
69
+ }[];
70
+ };
71
+ } | {
72
+ schemaVersion: 2;
73
+ target: "native-archive";
74
+ entryId: string;
75
+ entryVersion: 2;
76
+ lifecycle: {
77
+ storeId: string;
78
+ sessionId: string;
79
+ lifecycleId: string;
80
+ };
81
+ capabilities: {
82
+ protocolVersion: 1;
83
+ ownerId: string;
84
+ hostVersion: string;
85
+ providerId: string;
86
+ storeId: string;
87
+ participants: {
88
+ id: string;
89
+ version: string;
90
+ }[];
91
+ };
92
+ } | null;
93
+ manifest: {
94
+ schemaVersion: 1;
95
+ lifecycle: {
96
+ storeId: string;
97
+ sessionId: string;
98
+ lifecycleId: string;
99
+ };
100
+ capabilities: {
101
+ protocolVersion: 1;
102
+ ownerId: string;
103
+ hostVersion: string;
104
+ providerId: string;
105
+ storeId: string;
106
+ participants: {
107
+ id: string;
108
+ version: string;
109
+ }[];
110
+ };
111
+ resources: {
112
+ ownerId: string;
113
+ resourceId: string;
114
+ revision: string;
115
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
116
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
117
+ retention: {
118
+ reason: "shared-reference" | "coordination-identity";
119
+ retainedBy: {
120
+ storeId: string;
121
+ sessionId: string;
122
+ lifecycleId: string;
123
+ }[];
124
+ } | null;
125
+ }[];
126
+ } | null;
127
+ blockers: {
128
+ code: string;
129
+ activity?: string[] | undefined;
130
+ }[];
131
+ }>;
132
+ executePurge(input: PurgePlan): Promise<{
133
+ action: "purge";
134
+ operationId: string;
135
+ sessionId: string;
136
+ entryId: string | null;
137
+ status: "success" | "rejected" | "conflict" | "pending-recovery" | "partial-failure";
138
+ reason: string | null;
139
+ ownerState: {
140
+ schemaVersion: 1;
141
+ request: {
142
+ operationId: string;
143
+ expected: {
144
+ storeId: string;
145
+ sessionId: string;
146
+ lifecycleId: string;
147
+ };
148
+ bin: {
149
+ entryId: string;
150
+ entryVersion: 1;
151
+ } | {
152
+ kind: "native-archive";
153
+ entryId: string;
154
+ entryVersion: 2;
155
+ };
156
+ manifestDigest: string;
157
+ };
158
+ manifest: {
159
+ schemaVersion: 1;
160
+ lifecycle: {
161
+ storeId: string;
162
+ sessionId: string;
163
+ lifecycleId: string;
164
+ };
165
+ capabilities: {
166
+ protocolVersion: 1;
167
+ ownerId: string;
168
+ hostVersion: string;
169
+ providerId: string;
170
+ storeId: string;
171
+ participants: {
172
+ id: string;
173
+ version: string;
174
+ }[];
175
+ };
176
+ resources: {
177
+ ownerId: string;
178
+ resourceId: string;
179
+ revision: string;
180
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
181
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
182
+ retention: {
183
+ reason: "shared-reference" | "coordination-identity";
184
+ retainedBy: {
185
+ storeId: string;
186
+ sessionId: string;
187
+ lifecycleId: string;
188
+ }[];
189
+ } | null;
190
+ }[];
191
+ };
192
+ authorizationId: string | null;
193
+ phase: "rejected" | "conflict" | "done" | "fenced" | "quiesced" | "erasing" | "converging";
194
+ reason: string | null;
195
+ resources: {
196
+ ownerId: string;
197
+ resourceId: string;
198
+ status: "erased" | "reference-released" | "retained" | "failed";
199
+ reason: string | null;
200
+ }[];
201
+ } | null;
202
+ }>;
203
+ getPurgeOperation(operationId: string): Promise<{
204
+ schemaVersion: 1 | 2;
205
+ plan: {
206
+ schemaVersion: 1 | 2;
207
+ action: "purge";
208
+ operationId: string;
209
+ sessionId: string;
210
+ expectedEntryId: string | null;
211
+ binding: {
212
+ schemaVersion: 1;
213
+ entryId: string;
214
+ entryVersion: 1;
215
+ lifecycle: {
216
+ storeId: string;
217
+ sessionId: string;
218
+ lifecycleId: string;
219
+ };
220
+ capabilities: {
221
+ protocolVersion: 1;
222
+ ownerId: string;
223
+ hostVersion: string;
224
+ providerId: string;
225
+ storeId: string;
226
+ participants: {
227
+ id: string;
228
+ version: string;
229
+ }[];
230
+ };
231
+ } | {
232
+ schemaVersion: 2;
233
+ target: "native-archive";
234
+ entryId: string;
235
+ entryVersion: 2;
236
+ lifecycle: {
237
+ storeId: string;
238
+ sessionId: string;
239
+ lifecycleId: string;
240
+ };
241
+ capabilities: {
242
+ protocolVersion: 1;
243
+ ownerId: string;
244
+ hostVersion: string;
245
+ providerId: string;
246
+ storeId: string;
247
+ participants: {
248
+ id: string;
249
+ version: string;
250
+ }[];
251
+ };
252
+ } | null;
253
+ manifest: {
254
+ schemaVersion: 1;
255
+ lifecycle: {
256
+ storeId: string;
257
+ sessionId: string;
258
+ lifecycleId: string;
259
+ };
260
+ capabilities: {
261
+ protocolVersion: 1;
262
+ ownerId: string;
263
+ hostVersion: string;
264
+ providerId: string;
265
+ storeId: string;
266
+ participants: {
267
+ id: string;
268
+ version: string;
269
+ }[];
270
+ };
271
+ resources: {
272
+ ownerId: string;
273
+ resourceId: string;
274
+ revision: string;
275
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
276
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
277
+ retention: {
278
+ reason: "shared-reference" | "coordination-identity";
279
+ retainedBy: {
280
+ storeId: string;
281
+ sessionId: string;
282
+ lifecycleId: string;
283
+ }[];
284
+ } | null;
285
+ }[];
286
+ } | null;
287
+ blockers: {
288
+ code: string;
289
+ activity?: string[] | undefined;
290
+ }[];
291
+ };
292
+ createdAt: string;
293
+ phase: "intent" | "done" | "authorizing" | "owner-pending";
294
+ entry: {
295
+ schemaVersion: 1;
296
+ sessionId: string;
297
+ entryId: string;
298
+ operationId: string;
299
+ binnedAt: string;
300
+ workspaceIdAtBin: string | null;
301
+ wasArchived: boolean;
302
+ } | {
303
+ schemaVersion: 2;
304
+ sessionId: string;
305
+ entryId: string;
306
+ } | null;
307
+ authorizationId: string | null;
308
+ ownerState: {
309
+ schemaVersion: 1;
310
+ request: {
311
+ operationId: string;
312
+ expected: {
313
+ storeId: string;
314
+ sessionId: string;
315
+ lifecycleId: string;
316
+ };
317
+ bin: {
318
+ entryId: string;
319
+ entryVersion: 1;
320
+ } | {
321
+ kind: "native-archive";
322
+ entryId: string;
323
+ entryVersion: 2;
324
+ };
325
+ manifestDigest: string;
326
+ };
327
+ manifest: {
328
+ schemaVersion: 1;
329
+ lifecycle: {
330
+ storeId: string;
331
+ sessionId: string;
332
+ lifecycleId: string;
333
+ };
334
+ capabilities: {
335
+ protocolVersion: 1;
336
+ ownerId: string;
337
+ hostVersion: string;
338
+ providerId: string;
339
+ storeId: string;
340
+ participants: {
341
+ id: string;
342
+ version: string;
343
+ }[];
344
+ };
345
+ resources: {
346
+ ownerId: string;
347
+ resourceId: string;
348
+ revision: string;
349
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
350
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
351
+ retention: {
352
+ reason: "shared-reference" | "coordination-identity";
353
+ retainedBy: {
354
+ storeId: string;
355
+ sessionId: string;
356
+ lifecycleId: string;
357
+ }[];
358
+ } | null;
359
+ }[];
360
+ };
361
+ authorizationId: string | null;
362
+ phase: "rejected" | "conflict" | "done" | "fenced" | "quiesced" | "erasing" | "converging";
363
+ reason: string | null;
364
+ resources: {
365
+ ownerId: string;
366
+ resourceId: string;
367
+ status: "erased" | "reference-released" | "retained" | "failed";
368
+ reason: string | null;
369
+ }[];
370
+ } | null;
371
+ result: {
372
+ action: "purge";
373
+ operationId: string;
374
+ sessionId: string;
375
+ entryId: string | null;
376
+ status: "success" | "rejected" | "conflict" | "pending-recovery" | "partial-failure";
377
+ reason: string | null;
378
+ ownerState: {
379
+ schemaVersion: 1;
380
+ request: {
381
+ operationId: string;
382
+ expected: {
383
+ storeId: string;
384
+ sessionId: string;
385
+ lifecycleId: string;
386
+ };
387
+ bin: {
388
+ entryId: string;
389
+ entryVersion: 1;
390
+ } | {
391
+ kind: "native-archive";
392
+ entryId: string;
393
+ entryVersion: 2;
394
+ };
395
+ manifestDigest: string;
396
+ };
397
+ manifest: {
398
+ schemaVersion: 1;
399
+ lifecycle: {
400
+ storeId: string;
401
+ sessionId: string;
402
+ lifecycleId: string;
403
+ };
404
+ capabilities: {
405
+ protocolVersion: 1;
406
+ ownerId: string;
407
+ hostVersion: string;
408
+ providerId: string;
409
+ storeId: string;
410
+ participants: {
411
+ id: string;
412
+ version: string;
413
+ }[];
414
+ };
415
+ resources: {
416
+ ownerId: string;
417
+ resourceId: string;
418
+ revision: string;
419
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
420
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
421
+ retention: {
422
+ reason: "shared-reference" | "coordination-identity";
423
+ retainedBy: {
424
+ storeId: string;
425
+ sessionId: string;
426
+ lifecycleId: string;
427
+ }[];
428
+ } | null;
429
+ }[];
430
+ };
431
+ authorizationId: string | null;
432
+ phase: "rejected" | "conflict" | "done" | "fenced" | "quiesced" | "erasing" | "converging";
433
+ reason: string | null;
434
+ resources: {
435
+ ownerId: string;
436
+ resourceId: string;
437
+ status: "erased" | "reference-released" | "retained" | "failed";
438
+ reason: string | null;
439
+ }[];
440
+ } | null;
441
+ } | null;
442
+ } | undefined>;
443
+ purgeOperations(): Promise<{
444
+ schemaVersion: 1 | 2;
445
+ plan: {
446
+ schemaVersion: 1 | 2;
447
+ action: "purge";
448
+ operationId: string;
449
+ sessionId: string;
450
+ expectedEntryId: string | null;
451
+ binding: {
452
+ schemaVersion: 1;
453
+ entryId: string;
454
+ entryVersion: 1;
455
+ lifecycle: {
456
+ storeId: string;
457
+ sessionId: string;
458
+ lifecycleId: string;
459
+ };
460
+ capabilities: {
461
+ protocolVersion: 1;
462
+ ownerId: string;
463
+ hostVersion: string;
464
+ providerId: string;
465
+ storeId: string;
466
+ participants: {
467
+ id: string;
468
+ version: string;
469
+ }[];
470
+ };
471
+ } | {
472
+ schemaVersion: 2;
473
+ target: "native-archive";
474
+ entryId: string;
475
+ entryVersion: 2;
476
+ lifecycle: {
477
+ storeId: string;
478
+ sessionId: string;
479
+ lifecycleId: string;
480
+ };
481
+ capabilities: {
482
+ protocolVersion: 1;
483
+ ownerId: string;
484
+ hostVersion: string;
485
+ providerId: string;
486
+ storeId: string;
487
+ participants: {
488
+ id: string;
489
+ version: string;
490
+ }[];
491
+ };
492
+ } | null;
493
+ manifest: {
494
+ schemaVersion: 1;
495
+ lifecycle: {
496
+ storeId: string;
497
+ sessionId: string;
498
+ lifecycleId: string;
499
+ };
500
+ capabilities: {
501
+ protocolVersion: 1;
502
+ ownerId: string;
503
+ hostVersion: string;
504
+ providerId: string;
505
+ storeId: string;
506
+ participants: {
507
+ id: string;
508
+ version: string;
509
+ }[];
510
+ };
511
+ resources: {
512
+ ownerId: string;
513
+ resourceId: string;
514
+ revision: string;
515
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
516
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
517
+ retention: {
518
+ reason: "shared-reference" | "coordination-identity";
519
+ retainedBy: {
520
+ storeId: string;
521
+ sessionId: string;
522
+ lifecycleId: string;
523
+ }[];
524
+ } | null;
525
+ }[];
526
+ } | null;
527
+ blockers: {
528
+ code: string;
529
+ activity?: string[] | undefined;
530
+ }[];
531
+ };
532
+ createdAt: string;
533
+ phase: "intent" | "done" | "authorizing" | "owner-pending";
534
+ entry: {
535
+ schemaVersion: 1;
536
+ sessionId: string;
537
+ entryId: string;
538
+ operationId: string;
539
+ binnedAt: string;
540
+ workspaceIdAtBin: string | null;
541
+ wasArchived: boolean;
542
+ } | {
543
+ schemaVersion: 2;
544
+ sessionId: string;
545
+ entryId: string;
546
+ } | null;
547
+ authorizationId: string | null;
548
+ ownerState: {
549
+ schemaVersion: 1;
550
+ request: {
551
+ operationId: string;
552
+ expected: {
553
+ storeId: string;
554
+ sessionId: string;
555
+ lifecycleId: string;
556
+ };
557
+ bin: {
558
+ entryId: string;
559
+ entryVersion: 1;
560
+ } | {
561
+ kind: "native-archive";
562
+ entryId: string;
563
+ entryVersion: 2;
564
+ };
565
+ manifestDigest: string;
566
+ };
567
+ manifest: {
568
+ schemaVersion: 1;
569
+ lifecycle: {
570
+ storeId: string;
571
+ sessionId: string;
572
+ lifecycleId: string;
573
+ };
574
+ capabilities: {
575
+ protocolVersion: 1;
576
+ ownerId: string;
577
+ hostVersion: string;
578
+ providerId: string;
579
+ storeId: string;
580
+ participants: {
581
+ id: string;
582
+ version: string;
583
+ }[];
584
+ };
585
+ resources: {
586
+ ownerId: string;
587
+ resourceId: string;
588
+ revision: string;
589
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
590
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
591
+ retention: {
592
+ reason: "shared-reference" | "coordination-identity";
593
+ retainedBy: {
594
+ storeId: string;
595
+ sessionId: string;
596
+ lifecycleId: string;
597
+ }[];
598
+ } | null;
599
+ }[];
600
+ };
601
+ authorizationId: string | null;
602
+ phase: "rejected" | "conflict" | "done" | "fenced" | "quiesced" | "erasing" | "converging";
603
+ reason: string | null;
604
+ resources: {
605
+ ownerId: string;
606
+ resourceId: string;
607
+ status: "erased" | "reference-released" | "retained" | "failed";
608
+ reason: string | null;
609
+ }[];
610
+ } | null;
611
+ result: {
612
+ action: "purge";
613
+ operationId: string;
614
+ sessionId: string;
615
+ entryId: string | null;
616
+ status: "success" | "rejected" | "conflict" | "pending-recovery" | "partial-failure";
617
+ reason: string | null;
618
+ ownerState: {
619
+ schemaVersion: 1;
620
+ request: {
621
+ operationId: string;
622
+ expected: {
623
+ storeId: string;
624
+ sessionId: string;
625
+ lifecycleId: string;
626
+ };
627
+ bin: {
628
+ entryId: string;
629
+ entryVersion: 1;
630
+ } | {
631
+ kind: "native-archive";
632
+ entryId: string;
633
+ entryVersion: 2;
634
+ };
635
+ manifestDigest: string;
636
+ };
637
+ manifest: {
638
+ schemaVersion: 1;
639
+ lifecycle: {
640
+ storeId: string;
641
+ sessionId: string;
642
+ lifecycleId: string;
643
+ };
644
+ capabilities: {
645
+ protocolVersion: 1;
646
+ ownerId: string;
647
+ hostVersion: string;
648
+ providerId: string;
649
+ storeId: string;
650
+ participants: {
651
+ id: string;
652
+ version: string;
653
+ }[];
654
+ };
655
+ resources: {
656
+ ownerId: string;
657
+ resourceId: string;
658
+ revision: string;
659
+ kind: "transcript" | "workspace" | "index" | "cache" | "attachment" | "spill" | "coordination";
660
+ disposition: "erase" | "release-reference" | "retain-shared" | "retain-coordination";
661
+ retention: {
662
+ reason: "shared-reference" | "coordination-identity";
663
+ retainedBy: {
664
+ storeId: string;
665
+ sessionId: string;
666
+ lifecycleId: string;
667
+ }[];
668
+ } | null;
669
+ }[];
670
+ };
671
+ authorizationId: string | null;
672
+ phase: "rejected" | "conflict" | "done" | "fenced" | "quiesced" | "erasing" | "converging";
673
+ reason: string | null;
674
+ resources: {
675
+ ownerId: string;
676
+ resourceId: string;
677
+ status: "erased" | "reference-released" | "retained" | "failed";
678
+ reason: string | null;
679
+ }[];
680
+ } | null;
681
+ } | null;
682
+ }[]>;
683
+ reconcilePurge(): Promise<import("./retirement.js").PurgeReconcileReport>;
684
+ private requirePurge;
685
+ prepare(request: PrepareRequest): Promise<BinPlan>;
686
+ execute(input: BinPlan): Promise<BinResult>;
687
+ list(): Promise<BinEntry[]>;
688
+ operations(): Promise<BinOperation[]>;
689
+ getOperation(operationId: string): Promise<BinOperation | undefined>;
690
+ reconcile(): Promise<ReconcileReport>;
691
+ /** Capture each native archive frame NOW, before queued reconciliation yields.
692
+ * An observed unarchive/rearchive must not restore an old entry's ownership.
693
+ * No archive-generation token exists in the SDK for an unobserved restart ABA.
694
+ */
695
+ observeArchives(archivedSessionIds: readonly string[]): Promise<ReconcileReport>;
696
+ close(): Promise<void>;
697
+ private emptyOperation;
698
+ private sameRequest;
699
+ private blockers;
700
+ private finish;
701
+ private finalize;
702
+ private reconcileInner;
703
+ private unavailable;
704
+ private enqueue;
705
+ }