@lossless.org/client 1.2.0 → 1.3.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.
@@ -112,7 +112,7 @@ export const inspectSmartdataNamespace = async (dbArg, opts = {}) => {
112
112
  });
113
113
  }
114
114
  const topology = inspectCollectionTopologySnapshot({
115
- collectionName: namespace.name, indexes: [],
115
+ collectionName: namespace.name, indexes: [], toleratedIndexNames: [],
116
116
  }, { namespace: namespace, indexes });
117
117
  collections.push(Object.freeze({
118
118
  collectionName: namespace.name, namespaceType, documentCount,
@@ -135,4 +135,4 @@ export const inspectSmartdataNamespace = async (dbArg, opts = {}) => {
135
135
  clearTimeout(timer);
136
136
  }
137
137
  };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5uYW1lc3BhY2VpbnNwZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLm5hbWVzcGFjZWluc3BlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQywrQkFBK0IsRUFDL0IsaUNBQWlDLEdBR2xDLE1BQU0saUNBQWlDLENBQUM7QUFrQ3pDLE1BQU0sWUFBWSxHQUFHLENBQ25CLFFBQTRCLEVBQzVCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ1IsRUFBRTtJQUNWLE1BQU0sS0FBSyxHQUFHLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxVQUFVLElBQUksS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFDcEQsR0FBRyxRQUFRLDRCQUE0QixVQUFVLFlBQVksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRiw0RUFBNEU7QUFDNUUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxFQUM5QyxTQUE0QyxFQUM1QyxVQUFrQixFQUNs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
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5uYW1lc3BhY2VpbnNwZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLm5hbWVzcGFjZWluc3BlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQywrQkFBK0IsRUFDL0IsaUNBQWlDLEdBR2xDLE1BQU0saUNBQWlDLENBQUM7QUFrQ3pDLE1BQU0sWUFBWSxHQUFHLENBQ25CLFFBQTRCLEVBQzVCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ1IsRUFBRTtJQUNWLE1BQU0sS0FBSyxHQUFHLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxVQUFVLElBQUksS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFDcEQsR0FBRyxRQUFRLDRCQUE0QixVQUFVLFlBQVksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRiw0RUFBNEU7QUFDNUUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxFQUM5QyxTQUE0QyxFQUM1QyxVQUFrQixFQUNs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
@@ -6,7 +6,8 @@ interface ISmartdataSessionAcquireOptions {
6
6
  interface IOrdinarySessionOperationOptions {
7
7
  ordinaryWrite?: boolean;
8
8
  prepared?: boolean;
9
- preparationMessage?: string;
9
+ /** Names the collection whose preparation a refusal must ask for. */
10
+ collectionName?: string;
10
11
  }
11
12
  export declare class SmartdataSession {
12
13
  withTransaction<TResult>(callbackArg: (sessionArg: SmartdataSession) => Promise<TResult>): Promise<TResult | undefined>;
@@ -22,6 +23,19 @@ export declare const failSmartdataTransaction: (sessionArg: SmartdataSession, ow
22
23
  export type TSmartdataOrdinarySession = plugins.mongodb.ClientSession | SmartdataSession;
23
24
  export declare const isSmartdataSession: (sessionArg: TSmartdataOrdinarySession | undefined) => sessionArg is SmartdataSession;
24
25
  export declare const isOrdinarySessionInTransaction: (sessionArg: TSmartdataOrdinarySession | undefined) => boolean;
26
+ /**
27
+ * Takes the same lease `runWithOrdinarySmartdataSession` takes, but hands it to
28
+ * the caller instead of releasing it at the end of one operation. Resources
29
+ * that outlive their creating call — a cursor the caller iterates itself — hold
30
+ * the owned session until they are closed, so a second operation on that
31
+ * session is refused while the cursor is open, exactly as the driver requires.
32
+ * A raw `ClientSession` or no session keeps its pass-through behavior and gets
33
+ * an inert release. `release()` is idempotent.
34
+ */
35
+ export declare const leaseOrdinarySmartdataSession: (sessionArg: TSmartdataOrdinarySession | undefined, ownerArg: SmartdataDb, optionsArg: IOrdinarySessionOperationOptions) => {
36
+ rawSession: plugins.mongodb.ClientSession | undefined;
37
+ release: () => void;
38
+ };
25
39
  export declare const runWithOrdinarySmartdataSession: <TResult>(sessionArg: TSmartdataOrdinarySession | undefined, ownerArg: SmartdataDb, optionsArg: IOrdinarySessionOperationOptions, operationArg: (rawSessionArg: plugins.mongodb.ClientSession | undefined) => Promise<TResult>) => Promise<TResult>;
26
40
  export declare const invalidateSmartdataSessions: (ownerArg: SmartdataDb) => Promise<void>;
27
41
  export declare const unwrapSmartdataSessionInvalidationErrors: (errorArg: unknown) => readonly unknown[] | undefined;
@@ -186,17 +186,43 @@ export const isOrdinarySessionInTransaction = (sessionArg) => {
186
186
  }
187
187
  return sessionArg.inTransaction();
188
188
  };
189
- export const runWithOrdinarySmartdataSession = async (sessionArg, ownerArg, optionsArg, operationArg) => {
189
+ /**
190
+ * A SmartData model initializes its collection lazily, and that initialization
191
+ * issues index DDL outside any session. Under an open transaction on the same
192
+ * collection the DDL waits for the transaction while the transaction waits for
193
+ * this operation, so the caller would only learn about it when the client
194
+ * deadline expires. Naming the missing preparation is the whole remedy.
195
+ */
196
+ const refuseUnpreparedCollection = (optionsArg, reasonArg) => {
197
+ throw new SmartdataPersistenceError('unsupported_operation', optionsArg.collectionName
198
+ ? `Initialize collection "${optionsArg.collectionName}" before using it ${reasonArg}.`
199
+ : `Initialize every participating SmartData model before using it ${reasonArg}.`);
200
+ };
201
+ /**
202
+ * Takes the same lease `runWithOrdinarySmartdataSession` takes, but hands it to
203
+ * the caller instead of releasing it at the end of one operation. Resources
204
+ * that outlive their creating call — a cursor the caller iterates itself — hold
205
+ * the owned session until they are closed, so a second operation on that
206
+ * session is refused while the cursor is open, exactly as the driver requires.
207
+ * A raw `ClientSession` or no session keeps its pass-through behavior and gets
208
+ * an inert release. `release()` is idempotent.
209
+ */
210
+ export const leaseOrdinarySmartdataSession = (sessionArg, ownerArg, optionsArg) => {
190
211
  if (!isSmartdataSession(sessionArg)) {
191
- return operationArg(sessionArg);
212
+ if (!optionsArg.prepared && sessionArg?.inTransaction()) {
213
+ refuseUnpreparedCollection(optionsArg, 'inside a transaction');
214
+ }
215
+ return { rawSession: sessionArg, release: () => { } };
192
216
  }
193
217
  if (!optionsArg.prepared) {
194
- throw new SmartdataPersistenceError('unsupported_operation', optionsArg.preparationMessage ||
195
- 'Initialize every participating SmartData model before using an owned session.');
218
+ refuseUnpreparedCollection(optionsArg, 'with an owned SmartData session');
196
219
  }
197
- const lease = acquireSmartdataSession(sessionArg, ownerArg, {
220
+ return acquireSmartdataSession(sessionArg, ownerArg, {
198
221
  ordinaryWrite: optionsArg.ordinaryWrite,
199
222
  });
223
+ };
224
+ export const runWithOrdinarySmartdataSession = async (sessionArg, ownerArg, optionsArg, operationArg) => {
225
+ const lease = leaseOrdinarySmartdataSession(sessionArg, ownerArg, optionsArg);
200
226
  try {
201
227
  return await operationArg(lease.rawSession);
202
228
  }
@@ -243,4 +269,4 @@ const closeSessionBinding = async (bindingArg) => {
243
269
  export const unwrapSmartdataSessionInvalidationErrors = (errorArg) => errorArg instanceof SmartdataSessionInvalidationAggregateError
244
270
  ? errorArg.errors
245
271
  : undefined;
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLnNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSwwQkFBMEIsQ0FBQztBQW9CbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7QUFDM0UsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7QUFDbEYsTUFBTSwwQ0FBMEMsR0FBRyxNQUFNLENBQ3ZELHVDQUF1QyxDQUN4QyxDQUFDO0FBRUYsTUFBTSwwQ0FBMkMsU0FBUSxjQUFjO0lBQ3JELENBQUMsMENBQTBDLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDckU7QUFnQkQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBRXBFLENBQUM7QUFFSixNQUFNLGNBQWMsR0FBRyxDQUNyQixVQUE0QixFQUM1QixRQUFzQixFQUNJLEVBQUU7SUFDNUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRSxNQUFNLElBQUkseUJBQXlCLENBQ2pDLHVCQUF1QixFQUN2Qix3REFBd0QsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSx5QkFBeUIsQ0FDakMsa0JBQWtCLEVBQ2xCLG9EQUFvRCxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUNELElBQ0UsT0FBTyxD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
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLnNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSwwQkFBMEIsQ0FBQztBQW9CbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7QUFDM0UsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7QUFDbEYsTUFBTSwwQ0FBMEMsR0FBRyxNQUFNLENBQ3ZELHVDQUF1QyxDQUN4QyxDQUFDO0FBRUYsTUFBTSwwQ0FBMkMsU0FBUSxjQUFjO0lBQ3JELENBQUMsMENBQTBDLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDckU7QUFpQkQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBRXBFLENBQUM7QUFFSixNQUFNLGNBQWMsR0FBRyxDQUNyQixVQUE0QixFQUM1QixRQUFzQixFQUNJLEVBQUU7SUFDNUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRSxNQUFNLElBQUkseUJBQXlCLENBQ2pDLHVCQUF1QixFQUN2Qix3REFBd0QsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSx5QkFBeUIsQ0FDakMsa0JBQWtCLEVBQ2xCLG9EQUFvRCxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUNELElBQ0UsT0FBTyxD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lossless.org/client",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.",
6
6
  "exports": {
@@ -77,6 +77,7 @@
77
77
  "@git.zone/tsrun": "2.0.6",
78
78
  "@git.zone/tstest": "6.1.1",
79
79
  "@lossless.org/nosqldb": "8.0.2",
80
+ "@lossless.org/nosqldb-qualified": "npm:@lossless.org/nosqldb@10.2.0",
80
81
  "@lossless.org/objectstorage": "10.1.0",
81
82
  "@lossless.org/sqldb": "0.2.3",
82
83
  "@push.rocks/qenv": "^6.1.3",
@@ -108,7 +109,9 @@
108
109
  "build": "tsbuild tsfolders",
109
110
  "test": "tstest test/client/ --verbose --logfile --timeout 120",
110
111
  "test:nosqldb": "tstest test/nosqldb/smartdb/ --verbose --logfile --timeout 120",
112
+ "test:nosqldb:qualified": "NOSQLDB_ENGINE=qualified tstest test/nosqldb/smartdb/ --verbose --logfile --timeout 120",
111
113
  "test:mongodb": "node test/helpers/run.mongodb.mjs",
114
+ "test:qualification": "pnpm run test && pnpm run test:nosqldb && pnpm run test:nosqldb:qualified && pnpm run test:mongodb",
112
115
  "test:objectstorage": "node test/helpers/run.objectstorage.mjs",
113
116
  "test:minio": "node test/helpers/run.minio.mjs",
114
117
  "test:install": "node test/helpers/check.install.mjs",
package/readme.md CHANGED
@@ -85,9 +85,33 @@ Family imports preserve the established SmartData and SmartBucket names and cons
85
85
  | Bounded plural upsert | `Model.atomicUpsertMany(operations, opts?)` — 1..1000 per-document filter/update pairs in one unordered round trip |
86
86
  | Content-addressed primary keys | model option `identityAsDocumentId` on `defineCollectionModel()` and `@Collection()` |
87
87
  | Identities on a migrated unique index | `@unI({ indexName })` names the index that backs the identity instead of `<field>_1` |
88
+ | Typed `null` predicates | read and atomic filters accept `null` for a field declared optional, so a value stored as an explicit null stays addressable |
89
+ | Owned sessions on cursors | `getCursor()` takes the handle from `db.createSession()` and keeps it leased until the cursor is closed |
90
+ | Named plural selectors | a non-empty `$in` anchors `atomicUpdateMany()`, `atomicDeleteMany()` and `atomicUpsertMany()`; singular operations are unchanged |
91
+ | Fields only atomic writes may update | `@svDb({ atomicOnly: true })` and `atomicOnlyFields` — seeded by every write that creates the document, never overwritten by a later `save()` |
92
+ | Defaults inside `$expr` | `{ $ifNull: ['$field', literal] }` operands, so a guard covers rows written before the field existed |
93
+ | Fenced instance saves | `instance.saveIf(fence, opts?)` — one non-upserting `updateOne`; `matchedCount === 0` means another writer moved the document first |
94
+ | Identity rotation | `Model.atomicFindOneAndReplace(filter, replacement, opts?)` — the one write that moves an `@unI()` identity, under the matched document's `_id` |
95
+ | Fail-fast on unprepared collections | a session-carrying call inside a transaction refuses instead of stalling on lazy index DDL until the client deadline |
96
+ | Migration-owned indexes | `toleratedIndexNames` on the model — named undeclared indexes are observed, never created, dropped or verified, and no longer make the topology divergent |
88
97
 
89
98
  `docs/source/smartdata/readme.md` documents each one with its refusals.
90
99
 
100
+ ### Document APIs that need a MongoDB backend
101
+
102
+ The document model runs on both NoSQLDB and MongoDB, but four APIs do not mean the same thing on both. The NoSQLDB engine is qualified at 8.0.2 and 10.2.0 (see [Verification](#verification)); both behave identically on every row below.
103
+
104
+ | Document API | On the NoSQLDB engine | On MongoDB |
105
+ | --- | --- | --- |
106
+ | `getGroupedTotals()` / `getGroupedTotalsPage()` with one `groupBy` field | exact, including `sums` | exact |
107
+ | the same with **two** `groupBy` fields | **returns a wrong answer without raising** — the engine leaves the composite group key unresolved and answers with a single row whose group values are the literal field paths (`'$owner'`) and whose count is the whole filtered collection. Do not call the two-field form against NoSQLDB | exact |
108
+ | guarded `$expr` atomic filters (`$add`, `$lte`, `$ifNull`) | refused by the engine: the fail-closed compilation uses `$cond`, which the engine rejects with `invalid argument: $cond`. The document is left untouched | exact |
109
+ | `watch()` change streams | unsupported. `NoSqlConnection` refuses with `unsupported_capability`; a plain `SmartdataDb` carries no backend declaration, so the refusal instead arrives from the engine as `CommandNotFound` once the change stream is read | supported on replica sets |
110
+ | model-declared partial indexes (`partialFilterExpression`) | not expressible: the index-option type rejects it and the runtime refuses it with `invalid_configuration`; the engine cannot create one either. Migration-owned partial indexes stay reachable through `toleratedIndexNames` | not expressible, but a migration may own one |
111
+ | aggregation-pipeline (array) updates | refused by the client with `invalid_argument` before any backend is contacted | same client refusal |
112
+
113
+ `test/nosqldb/smartdb/test.engine-capability-boundary.node.ts` asserts the grouped-totals, guarded-`$expr`, partial-index and pipeline-update rows against both qualified engines, so a boundary that moves shows up as a failing suite rather than as a changed number in a consumer. The `watch()` row is the contract refusal `ts/nosqldb/classes.collection.ts` states; the engine suite opens no change stream.
114
+
91
115
  ## Relational SQL
92
116
 
93
117
  `SqlConnection` uses the official MariaDB connector for parameters, protocol, TLS and decoding. This client owns cancellable admission and TCP sockets from authentication onward. A transaction holds one physical session; releasing a session resets its state before reuse.
@@ -160,9 +184,20 @@ Fixes land here. @push.rocks/smartdata is no longer a release channel for this i
160
184
 
161
185
  ## Verification
162
186
 
163
- `pnpm build` builds production declarations. `pnpm test` checks aggregate lifecycle and writers. `pnpm run test:nosqldb`, `test:mongodb`, `test:objectstorage` and `test:sqldb` exercise isolated backends. `pnpm run test:package` packs the package and resolves every entry point; `pnpm run test:install` installs the packed tarball into a scratch project and proves that a document-only consumer receives no relational or object driver, and that the aggregate client refuses a missing one by name. Wrappers own and remove their disposable servers, containers and data directories. Never supply a production database or bucket to these destructive suites.
187
+ `pnpm build` builds production declarations. `pnpm test` checks aggregate lifecycle and writers. `pnpm run test:nosqldb`, `test:nosqldb:qualified`, `test:mongodb`, `test:objectstorage` and `test:sqldb` exercise isolated backends. `pnpm run test:qualification` runs the aggregate, both engine suites and the MongoDB suite in one sequence; it is what the release preflight runs. `pnpm run test:package` packs the package and resolves every entry point; `pnpm run test:install` installs the packed tarball into a scratch project and proves that a document-only consumer receives no relational or object driver, and that the aggregate client refuses a missing one by name. Wrappers own and remove their disposable servers, containers and data directories. Never supply a production database or bucket to these destructive suites.
188
+
189
+ Qualified engines:
164
190
 
165
- Qualification includes NoSQLDB 8.0.2, MongoDB 8.0.26 replica sets, ObjectStorage 10.1.0, SQLDB 0.2.3, MariaDB 11.8 and ClickHouse 25.8. `pnpm run test:minio` uses a digest-pinned MinIO image: `sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e`. That MinIO version enforces the tested conditional uploads but does not enforce conditional deletion; its exact-purge capability is correctly unavailable. ObjectStorage passes both live probes. AWS S3 has not been qualified against a live account in this migration; no universal S3 exact-operation guarantee is inferred from the SDK.
191
+ | Component | Qualified versions |
192
+ | --- | --- |
193
+ | NoSQLDB engine | **8.0.2 and 10.2.0** — the same `test/nosqldb/smartdb/` suite runs against both, through the single engine seam in `test/nosqldb/helpers/smartdb.ts`; `NOSQLDB_ENGINE=qualified` selects 10.2.0 |
194
+ | MongoDB | 8.0.26 replica sets |
195
+ | ObjectStorage | 10.1.0 |
196
+ | SQLDB | 0.2.3 |
197
+ | MariaDB | 11.8 |
198
+ | ClickHouse | 25.8 |
199
+
200
+ Both engine versions answer every assertion in the document suite identically, including the asserted boundaries in [Document APIs that need a MongoDB backend](#document-apis-that-need-a-mongodb-backend). Text search, the Lucene adapter and the broad read-filter surface are exercised against MongoDB only. `pnpm run test:minio` uses a digest-pinned MinIO image: `sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e`. That MinIO version enforces the tested conditional uploads but does not enforce conditional deletion; its exact-purge capability is correctly unavailable. ObjectStorage passes both live probes. AWS S3 has not been qualified against a live account in this migration; no universal S3 exact-operation guarantee is inferred from the SDK.
166
201
 
167
202
  ## License and Legal Information
168
203
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/client',
6
- version: '1.2.0',
6
+ version: '1.3.0',
7
7
  description: 'One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.'
8
8
  }
@@ -26,8 +26,7 @@ export const executeAtomicDelete = async <T>(
26
26
  {
27
27
  ordinaryWrite: true,
28
28
  prepared: collectionArg.isInitializedForCurrentDatabase(),
29
- preparationMessage:
30
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
29
+ collectionName: collectionArg.collectionName,
31
30
  },
32
31
  async (rawSessionArg) => {
33
32
  await collectionArg.init();
@@ -64,8 +63,7 @@ export const executeAtomicDeleteMany = async <T>(
64
63
  {
65
64
  ordinaryWrite: true,
66
65
  prepared: collectionArg.isInitializedForCurrentDatabase(),
67
- preparationMessage:
68
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
66
+ collectionName: collectionArg.collectionName,
69
67
  },
70
68
  async (rawSessionArg) => {
71
69
  await collectionArg.init();
@@ -20,6 +20,10 @@ export type TAtomicFindOneAndUpdateExecutionResult =
20
20
  | { status: 'upserted'; document: TRawDocument | null }
21
21
  | { status: 'not_matched'; document: null };
22
22
 
23
+ export type TAtomicFindOneAndReplaceExecutionResult =
24
+ | { status: 'matched'; document: TRawDocument }
25
+ | { status: 'not_matched'; document: null };
26
+
23
27
  const unsupportedResult = (): never => {
24
28
  throw new SmartdataPersistenceError(
25
29
  'unsupported_operation',
@@ -104,8 +108,7 @@ export const executeAtomicFindOneAndUpdate = async <T>(
104
108
  {
105
109
  ordinaryWrite: true,
106
110
  prepared: collectionArg.isInitializedForCurrentDatabase(),
107
- preparationMessage:
108
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
111
+ collectionName: collectionArg.collectionName,
109
112
  },
110
113
  async (rawSessionArg) => {
111
114
  if (policy && !rawSessionArg?.inTransaction()) {
@@ -150,3 +153,67 @@ export const executeAtomicFindOneAndUpdate = async <T>(
150
153
  },
151
154
  );
152
155
  };
156
+
157
+ /**
158
+ * Executes a model-validated atomic find-one-and-replace against MongoDB.
159
+ *
160
+ * This helper is package-internal. `SmartDataDbDoc.atomicFindOneAndReplace()`
161
+ * owns the public API and must validate the filter and the replacement body
162
+ * before calling this raw persistence boundary. The replacement never carries
163
+ * a stored `_id`, so the matched document keeps its own primary key while its
164
+ * declared identity changes.
165
+ */
166
+ export const executeAtomicFindOneAndReplace = async <T>(
167
+ collectionArg: SmartdataCollection<T>,
168
+ filterArg: plugins.mongodb.Filter<plugins.mongodb.Document>,
169
+ replacementArg: plugins.mongodb.WithoutId<plugins.mongodb.Document>,
170
+ optionsArg: {
171
+ returnDocument: 'before' | 'after';
172
+ session?: TSmartdataOrdinarySession;
173
+ },
174
+ ): Promise<TAtomicFindOneAndReplaceExecutionResult> => {
175
+ if (collectionArg.getBoundModelSchema()?.ordinaryPersistence) {
176
+ // A validated ordinary document owns its stored shape and primary key, so
177
+ // it is written through its own postimage path, never replaced wholesale.
178
+ throw new SmartdataPersistenceError('unsupported_operation',
179
+ 'Validated ordinary models require transactional postimage updates.');
180
+ }
181
+ return runWithOrdinarySmartdataSession(
182
+ optionsArg.session,
183
+ collectionArg.smartdataDb,
184
+ {
185
+ ordinaryWrite: true,
186
+ prepared: collectionArg.isInitializedForCurrentDatabase(),
187
+ collectionName: collectionArg.collectionName,
188
+ },
189
+ async (rawSessionArg) => {
190
+ await collectionArg.init();
191
+ try {
192
+ const result = await collectionArg.mongoDbCollection.findOneAndReplace(
193
+ filterArg,
194
+ replacementArg,
195
+ {
196
+ includeResultMetadata: true,
197
+ returnDocument: optionsArg.returnDocument,
198
+ upsert: false,
199
+ session: rawSessionArg,
200
+ },
201
+ );
202
+ const classified = classifyResult(result, {
203
+ returnDocument: optionsArg.returnDocument,
204
+ upsert: false,
205
+ });
206
+ if (classified.status === 'upserted') {
207
+ // Unreachable: this operation never requests an upsert.
208
+ return unsupportedResult();
209
+ }
210
+ return classified;
211
+ } catch (errorArg) {
212
+ return normalizeOrdinaryPersistenceError(
213
+ errorArg,
214
+ `Atomic find-one-and-replace conflicts with a unique index in collection "${collectionArg.collectionName}".`,
215
+ );
216
+ }
217
+ },
218
+ );
219
+ };
@@ -28,8 +28,7 @@ export const executeAtomicUpdate = async <T>(
28
28
  {
29
29
  ordinaryWrite: true,
30
30
  prepared: collectionArg.isInitializedForCurrentDatabase(),
31
- preparationMessage:
32
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
31
+ collectionName: collectionArg.collectionName,
33
32
  },
34
33
  async (rawSessionArg) => {
35
34
  await collectionArg.init();
@@ -83,8 +82,7 @@ export const executeAtomicUpsertMany = async <T>(
83
82
  {
84
83
  ordinaryWrite: true,
85
84
  prepared: collectionArg.isInitializedForCurrentDatabase(),
86
- preparationMessage:
87
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
85
+ collectionName: collectionArg.collectionName,
88
86
  },
89
87
  async (rawSessionArg) => {
90
88
  await collectionArg.init();
@@ -142,8 +140,7 @@ export const executeAtomicUpdateMany = async <T>(
142
140
  {
143
141
  ordinaryWrite: true,
144
142
  prepared: collectionArg.isInitializedForCurrentDatabase(),
145
- preparationMessage:
146
- `Initialize collection "${collectionArg.collectionName}" before using an owned SmartData session.`,
143
+ collectionName: collectionArg.collectionName,
147
144
  },
148
145
  async (rawSessionArg) => {
149
146
  await collectionArg.init();