@cloudbitmaps/core 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/{chunk-RSLVTRJY.js → chunk-YSC7NJWV.js} +314 -216
  2. package/dist/chunk-YSC7NJWV.js.map +7 -0
  3. package/dist/core/audit.d.ts +56 -3
  4. package/dist/core/combine-many.d.ts +9 -6
  5. package/dist/core/consistency.d.ts +10 -4
  6. package/dist/core/crbm/fingerprint.d.ts +18 -0
  7. package/dist/core/crbm/format.d.ts +2 -4
  8. package/dist/core/crbm/frame.d.ts +10 -0
  9. package/dist/core/crbm/reader.d.ts +1 -8
  10. package/dist/core/crbm-storage-source.d.ts +229 -89
  11. package/dist/core/engine.d.ts +17 -14
  12. package/dist/core/erase-id.d.ts +62 -27
  13. package/dist/core/generation-gc.d.ts +2 -1
  14. package/dist/core/leases.d.ts +7 -0
  15. package/dist/core/load.d.ts +5 -3
  16. package/dist/core/metrics.d.ts +5 -5
  17. package/dist/core/pinned-storage-source.d.ts +3 -3
  18. package/dist/core/pointer-id.d.ts +19 -0
  19. package/dist/core/ports.d.ts +127 -35
  20. package/dist/core/reader-defaults.d.ts +14 -3
  21. package/dist/core/rollback.d.ts +2 -1
  22. package/dist/core/summary.d.ts +38 -21
  23. package/dist/core/token.d.ts +13 -8
  24. package/dist/driver-kit.d.ts +2 -1
  25. package/dist/driver-kit.js +11 -4
  26. package/dist/driver-kit.js.map +2 -2
  27. package/dist/drivers/_shared/object-registry.d.ts +1 -1
  28. package/dist/drivers/_shared/registry.d.ts +26 -17
  29. package/dist/drivers/localfs/storage.d.ts +7 -6
  30. package/dist/drivers/memory.d.ts +8 -6
  31. package/dist/drivers/retry/retrying-chunk-source.d.ts +1 -5
  32. package/dist/export/index.d.ts +16 -0
  33. package/dist/index.d.ts +2 -5
  34. package/dist/index.js +1169 -1041
  35. package/dist/index.js.map +4 -4
  36. package/package.json +1 -1
  37. package/dist/chunk-RSLVTRJY.js.map +0 -7
  38. package/dist/core/cost.d.ts +0 -351
@@ -50,6 +50,15 @@ export interface ExportFailure {
50
50
  /** Why it failed (an error message) — e.g. a corrupt storage object, or an encrypted segment with no keystore. */
51
51
  readonly error: string;
52
52
  }
53
+ /**
54
+ * A registered segment the export did not read, and why. `'destroyed'` is a tombstone: the segment was crypto-shredded
55
+ * or dropped, so it resolves no generation and has nothing to export.
56
+ */
57
+ export interface ExportSkipped {
58
+ readonly segment: string;
59
+ readonly namespace?: string;
60
+ readonly reason: 'destroyed';
61
+ }
53
62
  /** What {@link runExport} produced — a self-describing summary the CLI persists as `manifest.json`. */
54
63
  export interface ExportManifest {
55
64
  /** Schema version of this manifest shape (currently `1`) — insurance for evolving the format post-1.0. */
@@ -63,6 +72,13 @@ export interface ExportManifest {
63
72
  * "a manifest exists" ⇒ the run finished, **not** that every segment succeeded — always check this list.
64
73
  */
65
74
  readonly failed: readonly ExportFailure[];
75
+ /**
76
+ * Registered segments the export did not read, each with its reason (empty when there were none). With `segments`
77
+ * and `failed` it accounts for every segment row the registry listed, so a `totalSegments` below the registry's
78
+ * segment count is explained rather than silent. The registry's internal due-index rows are not segments, and are in
79
+ * none of the three.
80
+ */
81
+ readonly skipped: readonly ExportSkipped[];
66
82
  }
67
83
  /**
68
84
  * The minimal read surface the export needs from a store — a `CloudRoaring` satisfies this structurally: `segment(name,
package/dist/index.d.ts CHANGED
@@ -19,7 +19,6 @@ export { SegmentEngine } from './core/engine.js';
19
19
  export type { EngineDeps, CombineOptions as EngineCombineOptions, IdRange } from './core/engine.js';
20
20
  export { BoundedLru } from './core/lru.js';
21
21
  export { safeMetrics } from './core/metrics.js';
22
- export { groundedReport } from './core/cost.js';
23
22
  export { runExport } from './export/index.js';
24
23
  export type { SegmentReader } from './export/index.js';
25
24
  export { splitId } from './core/bit-route.js';
@@ -50,7 +49,7 @@ export { eraseIdFromSegment } from './core/erase-id.js';
50
49
  export type { EraseIdDeps, EraseIdResult } from './core/erase-id.js';
51
50
  export type { CodecInterface, CodecBitmap, EncodedChunk } from './core/codec.js';
52
51
  export type { Clock, Entropy, Rng } from './core/determinism.js';
53
- export type { StorageChunkSource, IStorageDriver, StorageCaps, ChunkRef, ChunkRead, ReadChunksOptions, SegmentRef, GenKey, IRegistryDriver, StorageBackend, RegistryRecord, NewRegistryRecord, RegistryPatch, RegistryStatus, RegistrySummary, RegistryWriteOptions, LeaseEntry, ClearRegistrySummary, SealedRegistrySummary, GenerationMetadata, GenerationSummary, RegCaps, GovernanceMeta, SegmentSize, } from './core/ports.js';
52
+ export type { StorageChunkSource, IStorageDriver, StorageCaps, StorageDeleteOptions, TailRead, ChunkRef, ChunkRead, ReadChunksOptions, SegmentRef, GenKey, IRegistryDriver, StorageBackend, RegistryRecord, NewRegistryRecord, RegistryPatch, RegistryStatus, RegistrySummary, RegistryWriteOptions, LeaseEntry, ClearRegistrySummary, SealedRegistrySummary, GenerationMetadata, GenerationSummary, RegCaps, GovernanceMeta, SegmentSize, } from './core/ports.js';
54
53
  export { CloudRoaringError, ValidationError, WriteConflictError, IntegrityError, NotFoundError, UnsupportedError, CapabilityError, TransientError, KeyUnavailableError, BudgetExceededError, LeaseExpiredError, LeaseLimitError, StaleOperandError, isCloudRoaringError, isWriteConflictError, isTransientError, isNotFoundError, isIntegrityError, isValidationError, isLeaseExpiredError, isLeaseLimitError, isStaleOperandError, isUnsupportedError, isCapabilityError, isBudgetExceededError, isKeyUnavailableError, } from './core/errors.js';
55
54
  export type { Aead, AeadSealed, IKeystore, WrappedDek, CrbmCrypto } from './core/crypto.js';
56
55
  export { aadFor } from './core/crypto.js';
@@ -67,7 +66,7 @@ export { DEFAULT_BUDGET } from './core/budget.js';
67
66
  export type { Budget, BudgetOption } from './core/budget.js';
68
67
  export { runConsistencyCheck } from './core/consistency.js';
69
68
  export type { ConsistencyReport, ConsistencyIssue, ConsistencyErrorEntry, } from './core/consistency.js';
70
- export type { ExportFormat, ExportSink, ExportWriter, ExportOptions, ExportedSegment, ExportFailure, ExportManifest, } from './export/index.js';
69
+ export type { ExportFormat, ExportSink, ExportWriter, ExportOptions, ExportedSegment, ExportFailure, ExportManifest, ExportSkipped, } from './export/index.js';
71
70
  export { withRetry, DEFAULT_RETRY_POLICY } from './core/retry.js';
72
71
  export type { RetryPolicy, RetryDeps } from './core/retry.js';
73
72
  export { RetryingStorageChunkSource } from './drivers/retry/retrying-chunk-source.js';
@@ -78,7 +77,5 @@ export { BufferReader } from './core/blob.js';
78
77
  export type { BlobReader, BlobSink } from './core/blob.js';
79
78
  export { NOOP_METRICS, CountingMetricsSink } from './core/metrics.js';
80
79
  export type { IMetricsSink, MetricEvent, MetricOpName, MetricsSnapshot } from './core/metrics.js';
81
- export { estimateCost, AWS_US_EAST_1_ONDEMAND, ELASTICACHE_REDIS_US_EAST_1_ONDEMAND, ONE_REDIS_HA_CLUSTER, } from './core/cost.js';
82
- export type { PricingProfile, RedisNodeType, RedisSizing, CostReport, Workload, SegmentSizing, EstimateInput, } from './core/cost.js';
83
80
  export { RecordingAuditSink } from './core/audit.js';
84
81
  export type { IAuditSink, AuditEvent } from './core/audit.js';