@cloudbitmaps/core 0.21.0 → 0.23.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 (98) hide show
  1. package/README.md +23 -8
  2. package/dist/chunk-7GT632UF.js +641 -0
  3. package/dist/chunk-7GT632UF.js.map +7 -0
  4. package/dist/chunk-CGILDXGP.js +73 -0
  5. package/dist/chunk-CGILDXGP.js.map +7 -0
  6. package/dist/chunk-GKHERVVQ.js +121 -0
  7. package/dist/chunk-GKHERVVQ.js.map +7 -0
  8. package/dist/{chunk-IGLIZBR7.js → chunk-MVUD4R72.js} +253 -765
  9. package/dist/chunk-MVUD4R72.js.map +7 -0
  10. package/dist/core/audit.d.ts +53 -15
  11. package/dist/core/bit-route.d.ts +9 -0
  12. package/dist/core/blob.d.ts +4 -0
  13. package/dist/core/budget.d.ts +8 -3
  14. package/dist/core/check.d.ts +27 -0
  15. package/dist/core/codec.d.ts +1 -1
  16. package/dist/core/combine-expr.d.ts +9 -5
  17. package/dist/core/combine-feed.d.ts +11 -3
  18. package/dist/core/combine-many.d.ts +28 -13
  19. package/dist/core/consistency.d.ts +11 -2
  20. package/dist/core/cooperative.d.ts +7 -0
  21. package/dist/core/crbm-storage-source.d.ts +7 -4
  22. package/dist/core/crypto.d.ts +5 -0
  23. package/dist/core/determinism.d.ts +2 -1
  24. package/dist/core/discover.d.ts +5 -3
  25. package/dist/core/engine.d.ts +4 -4
  26. package/dist/core/erase-id.d.ts +52 -19
  27. package/dist/core/erasure.d.ts +62 -28
  28. package/dist/core/errors.d.ts +83 -9
  29. package/dist/core/leases.d.ts +2 -0
  30. package/dist/core/load-input.d.ts +48 -0
  31. package/dist/core/load.d.ts +71 -16
  32. package/dist/core/metrics.d.ts +22 -1
  33. package/dist/core/pinned-storage-source.d.ts +27 -8
  34. package/dist/core/pointer-id.d.ts +9 -0
  35. package/dist/core/ports.d.ts +107 -13
  36. package/dist/core/preflight.d.ts +80 -0
  37. package/dist/core/registry-scan.d.ts +0 -5
  38. package/dist/core/retention-sweep.d.ts +61 -16
  39. package/dist/core/retention.d.ts +18 -7
  40. package/dist/core/retry.d.ts +5 -2
  41. package/dist/core/rollback.d.ts +23 -12
  42. package/dist/core/validate.d.ts +33 -2
  43. package/dist/driver-kit.d.ts +9 -4
  44. package/dist/driver-kit.js +63 -27
  45. package/dist/driver-kit.js.map +2 -2
  46. package/dist/drivers/_shared/object-registry.d.ts +24 -1
  47. package/dist/drivers/_shared/options.d.ts +15 -7
  48. package/dist/drivers/backends.d.ts +19 -2
  49. package/dist/drivers/crypto.d.ts +18 -3
  50. package/dist/export/index.d.ts +25 -10
  51. package/dist/index.d.ts +19 -17
  52. package/dist/index.js +2457 -2283
  53. package/dist/index.js.map +4 -4
  54. package/dist/node.d.ts +14 -0
  55. package/dist/node.js +1064 -0
  56. package/dist/node.js.map +7 -0
  57. package/package.json +16 -2
  58. package/dist/chunk-IGLIZBR7.js.map +0 -7
  59. package/dist/core/absent-operands.d.ts +0 -8
  60. package/dist/core/bulk-load.d.ts +0 -148
  61. package/dist/core/cas-retry.d.ts +0 -27
  62. package/dist/core/chunk-checks.d.ts +0 -39
  63. package/dist/core/chunk-stream.d.ts +0 -22
  64. package/dist/core/chunk-window.d.ts +0 -37
  65. package/dist/core/combine-ledger.d.ts +0 -43
  66. package/dist/core/crbm/crc32c.d.ts +0 -10
  67. package/dist/core/crbm/fingerprint.d.ts +0 -23
  68. package/dist/core/crbm/format.d.ts +0 -150
  69. package/dist/core/crbm/frame.d.ts +0 -10
  70. package/dist/core/crbm/plan-reads.d.ts +0 -50
  71. package/dist/core/crbm/varint.d.ts +0 -14
  72. package/dist/core/crbm/writer.d.ts +0 -72
  73. package/dist/core/crbm-open.d.ts +0 -154
  74. package/dist/core/crbm-write.d.ts +0 -75
  75. package/dist/core/due-index.d.ts +0 -53
  76. package/dist/core/generation-gc.d.ts +0 -293
  77. package/dist/core/generation-list.d.ts +0 -11
  78. package/dist/core/id-window.d.ts +0 -46
  79. package/dist/core/invalidation-scope.d.ts +0 -77
  80. package/dist/core/item-pull.d.ts +0 -29
  81. package/dist/core/known-generations-shape.d.ts +0 -13
  82. package/dist/core/known-generations.d.ts +0 -147
  83. package/dist/core/ledger-seed.d.ts +0 -17
  84. package/dist/core/metadata.d.ts +0 -42
  85. package/dist/core/order.d.ts +0 -2
  86. package/dist/core/publish.d.ts +0 -207
  87. package/dist/core/reader-defaults.d.ts +0 -29
  88. package/dist/core/summary.d.ts +0 -110
  89. package/dist/core/token.d.ts +0 -41
  90. package/dist/drivers/_shared/entropy.d.ts +0 -5
  91. package/dist/drivers/_shared/registry.d.ts +0 -107
  92. package/dist/drivers/localfs/exact-case.d.ts +0 -34
  93. package/dist/drivers/localfs/fs-util.d.ts +0 -55
  94. package/dist/drivers/localfs/paths.d.ts +0 -40
  95. package/dist/drivers/localfs/registry.d.ts +0 -50
  96. package/dist/drivers/localfs/storage.d.ts +0 -28
  97. package/dist/drivers/memory.d.ts +0 -64
  98. package/dist/testing/fuzz-core.d.ts +0 -15
package/dist/index.d.ts CHANGED
@@ -1,16 +1,19 @@
1
1
  /**
2
2
  * `@cloudbitmaps/core` — the codec-agnostic cloud engine behind the @cloudbitmaps family.
3
3
  *
4
- * Everything here is **independent of any bitmap codec**: the read engine, the SDK-free storage backends, the `.crbm`
4
+ * Everything here is **independent of any bitmap codec**: the read engine, the `.crbm`
5
5
  * format, the loaded store's write path (`loadSegment`: write, guard, publish, collect), encryption/crypto-shred, the registry,
6
6
  * the budget/consistency/eject machinery. Bitmaps are only ever constructed and combined through the
7
7
  * {@link CodecInterface} seam, so a *flavor* package (`@cloudbitmaps/roaring` today) supplies the codec and a
8
8
  * facade on top.
9
9
  *
10
- * **You normally install a flavor, not this package** — `pnpm add @cloudbitmaps/roaring` pulls this in
11
- * transitively and re-exports, by name, what an application uses, so `@cloudbitmaps/roaring` is the one name to
12
- * know. The engine, the standalone forms of the store's methods and the retry and budget internals stay here:
13
- * depend on `core` directly only when authoring a new flavor or a driver.
10
+ * **This entry is internal.** It is the engine `@cloudbitmaps/roaring` and the storage-driver packages import, and it is
11
+ * outside the stability promise: it can change in any release, and a change to it gets no CHANGELOG Breaking
12
+ * entry. Install `@cloudbitmaps/roaring` and a driver; `@cloudbitmaps/roaring` re-exports, by name, what an application
13
+ * uses. The public entry of this package is `@cloudbitmaps/core/driver-kit`, the contract for writing a driver.
14
+ *
15
+ * The drivers that need a Node builtin (the in-memory and local-filesystem backends, the in-process cipher and
16
+ * keystore) are exported by `@cloudbitmaps/core/node`, so nothing this entry reaches imports a `node:*` builtin.
14
17
  *
15
18
  * Nothing in here may import a flavor package — the dependency arrow is one-way (flavor → core), so core stays
16
19
  * publishable on its own and every codec reuses one driver set with zero duplication.
@@ -25,12 +28,10 @@ export { splitId } from './core/bit-route.js';
25
28
  export { mapWithConcurrency } from './core/concurrency.js';
26
29
  export { resolveBudget, resolvePerOpBudget, checkBudget, collectWithinBudget } from './core/budget.js';
27
30
  export { segmentExists, listSegments } from './core/discover.js';
31
+ export { refuseUnknownRefKeys } from './core/validate.js';
28
32
  export type { SegmentInfo } from './core/discover.js';
29
- export type { Token } from './core/ports.js';
30
33
  export { segmentKey } from './core/keys.js';
31
34
  export { isStorageBackend } from './core/ports.js';
32
- export { LocalFsStorage, MemoryStorage } from './drivers/backends.js';
33
- export type { LocalFsStorageOptions, MemoryStorageOptions } from './drivers/backends.js';
34
35
  export { CrbmStorageChunkSource } from './core/crbm-storage-source.js';
35
36
  export type { CrbmStorageChunkSourceOptions, PinLease, PinnedObject, } from './core/crbm-storage-source.js';
36
37
  export { LEASE_SKEW_MS, MAX_LEASE_MS, MAX_LEASES_PER_SEGMENT, releaseLease, takeLease, } from './core/leases.js';
@@ -39,31 +40,32 @@ export { PinnedStorageChunkSource } from './core/pinned-storage-source.js';
39
40
  export type { PinnedAt } from './core/pinned-storage-source.js';
40
41
  export { judgeLoad, loadSegment, loadSegmentChunks } from './core/load.js';
41
42
  export { compileCombineMany, rebindCombineMany, runCombineMany } from './core/combine-many.js';
42
- export type { CombineExpr, CombineManyDeps, CombineManyFeed, CombineManyFeedRecord, CombineManyOperand, CombineManyOperandStats, CombineManyOutcome, CombineManyOutput, CombineManyOutputStats, CombineManyRequest, CombineManyRun, CombineManyStats, CombineManyWrite, CompiledCombineMany, } from './core/combine-many.js';
43
+ export type { CombineManyDeps, CombineManyFeed, CombineManyOperand, CombineManyOutcome, CombineManyOutput, CombineManyRequest, CombineManyRun, CombineManyWrite, CompiledCombineMany, Expr, MaterializeManyFeedRecord, MaterializeManyOperandStats, MaterializeManyOutputStats, MaterializeManyStats, } from './core/combine-many.js';
43
44
  export type { LoadDeps, LoadOptions, LoadGuard, GuardRefusal, LoadJudgement, LoadResult, LoadRefusal, } from './core/load.js';
44
45
  export type { LoadInput, PortableBitmap } from './core/load-input.js';
45
46
  export { decodeSerialized } from './core/load-input.js';
46
47
  export { listGenerations, rollbackSegment } from './core/rollback.js';
47
48
  export type { GenerationListDeps, GenerationEntry, RollbackResult } from './core/rollback.js';
48
- export { eraseIdFromSegment } from './core/erase-id.js';
49
- export type { EraseIdDeps, EraseIdResult } from './core/erase-id.js';
49
+ export { eraseIdFromSegment, findIdUnderTombstone } from './core/erase-id.js';
50
+ export type { EraseIdDeps, EraseIdResult, SearchDeps } from './core/erase-id.js';
50
51
  export type { CodecInterface, CodecBitmap, EncodedChunk } from './core/codec.js';
51
52
  export type { Clock, Entropy, Rng } from './core/determinism.js';
52
- export type { StorageChunkSource, IStorageDriver, StorageCaps, StorageDeleteOptions, TailRead, ChunkRef, ChunkRead, ReadChunksOptions, SegmentRef, GenKey, IRegistryDriver, StorageBackend, RegistryRecord, NewRegistryRecord, RegistryPatch, RegistryStatus, RegistrySummary, RegistryWriteOptions, LeaseEntry, KnownGeneration, ClearRegistrySummary, SealedRegistrySummary, GenerationMetadata, GenerationSummary, RegCaps, GovernanceMeta, SegmentSize, } from './core/ports.js';
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';
54
- export type { Aead, AeadSealed, IKeystore, WrappedDek, CrbmCrypto } from './core/crypto.js';
53
+ export type { SegmentRef, GenerationMetadata } from './core/ports.js';
54
+ export { CloudRoaringError, ValidationError, WriteConflictError, IntegrityError, NotFoundError, UnsupportedError, CapabilityError, TransientError, KeyUnavailableError, BudgetExceededError, LeaseExpiredError, LeaseLimitError, StaleOperandError, errorKind, } from './core/errors.js';
55
+ export type { CrbmCrypto } from './core/crypto.js';
55
56
  export { aadFor } from './core/crypto.js';
56
- export { NodeAead, InProcessKeystore } from './drivers/crypto.js';
57
- export type { InProcessKeystoreOptions } from './drivers/crypto.js';
58
57
  export { destroySegment, dropSegment, eraseNamespace } from './core/erasure.js';
59
58
  export type { DropDeps, DropResult, EraseDeps, DestroyResult } from './core/erasure.js';
60
59
  export { setSegmentRetention, clearSegmentRetention, getSegmentRetention, readRetentionPolicy, MIN_EXPIRES_AT_MS, } from './core/retention.js';
61
60
  export type { RetentionPolicy, RetentionDeps, SetRetentionResult } from './core/retention.js';
62
61
  export { retireExpired } from './core/retention-sweep.js';
62
+ export { runPreflight } from './core/preflight.js';
63
+ export type { PreflightCheck, PreflightDeps, PreflightResult } from './core/preflight.js';
63
64
  export { excludingReservedRows } from './core/registry-scan.js';
64
65
  export type { RetireExpiredOptions, RetireExpiredResult, RetireEntry, } from './core/retention-sweep.js';
65
66
  export { DEFAULT_BUDGET } from './core/budget.js';
66
67
  export type { Budget, BudgetOption } from './core/budget.js';
68
+ export type { ErrorKind } from './core/errors.js';
67
69
  export { runConsistencyCheck } from './core/consistency.js';
68
70
  export type { ConsistencyReport, ConsistencyIssue, ConsistencyErrorEntry, } from './core/consistency.js';
69
71
  export type { ExportFormat, ExportSink, ExportWriter, ExportOptions, ExportedSegment, ExportFailure, ExportManifest, ExportSkipped, } from './export/index.js';
@@ -74,7 +76,7 @@ export type { RetryingOptions } from './drivers/retry/retrying-chunk-source.js';
74
76
  export { CrbmReader } from './core/crbm/reader.js';
75
77
  export type { CrbmReaderOptions } from './core/crbm/reader.js';
76
78
  export { BufferReader } from './core/blob.js';
77
- export type { BlobReader, BlobSink } from './core/blob.js';
79
+ export type { BlobReader } from './core/blob.js';
78
80
  export { NOOP_METRICS, CountingMetricsSink } from './core/metrics.js';
79
81
  export type { IMetricsSink, MetricEvent, MetricOpName, MetricsSnapshot } from './core/metrics.js';
80
82
  export { RecordingAuditSink } from './core/audit.js';