callman-core 1.11.5 → 1.11.7

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 (70) hide show
  1. package/ai-packs/db-queries.md +46 -0
  2. package/ai-packs/feature-policy.md +1 -0
  3. package/ai-packs/pm-api.md +3 -2
  4. package/dist/host/db/connectionMapping.d.ts +20 -0
  5. package/dist/host/db/connectionMapping.d.ts.map +1 -0
  6. package/dist/host/db/connectionMapping.js +27 -0
  7. package/dist/host/db/connectionMapping.js.map +1 -0
  8. package/dist/host/db/db-query-reference.d.ts +2 -0
  9. package/dist/host/db/db-query-reference.d.ts.map +1 -0
  10. package/dist/host/db/db-query-reference.js +64 -0
  11. package/dist/host/db/db-query-reference.js.map +1 -0
  12. package/dist/host/db/mongoAdapter.d.ts +1 -0
  13. package/dist/host/db/mongoAdapter.d.ts.map +1 -1
  14. package/dist/host/db/mongoAdapter.js +79 -9
  15. package/dist/host/db/mongoAdapter.js.map +1 -1
  16. package/dist/host/db/mysqlAdapter.d.ts +1 -0
  17. package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
  18. package/dist/host/db/mysqlAdapter.js +8 -0
  19. package/dist/host/db/mysqlAdapter.js.map +1 -1
  20. package/dist/host/db/oracleAdapter.d.ts +1 -0
  21. package/dist/host/db/oracleAdapter.d.ts.map +1 -1
  22. package/dist/host/db/oracleAdapter.js +9 -0
  23. package/dist/host/db/oracleAdapter.js.map +1 -1
  24. package/dist/host/db/postgresAdapter.d.ts +1 -0
  25. package/dist/host/db/postgresAdapter.d.ts.map +1 -1
  26. package/dist/host/db/postgresAdapter.js +8 -0
  27. package/dist/host/db/postgresAdapter.js.map +1 -1
  28. package/dist/host/db/queryExecutor.d.ts +10 -1
  29. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  30. package/dist/host/db/queryExecutor.js +40 -4
  31. package/dist/host/db/queryExecutor.js.map +1 -1
  32. package/dist/host/db/types.d.ts +5 -0
  33. package/dist/host/db/types.d.ts.map +1 -1
  34. package/dist/host/index.d.ts +10 -2
  35. package/dist/host/index.d.ts.map +1 -1
  36. package/dist/host/index.js +11 -1
  37. package/dist/host/index.js.map +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/script/pm-api-metadata.js +1 -1
  43. package/dist/script/pm-api-metadata.js.map +1 -1
  44. package/dist/script/pm-api-reference.d.ts +11 -0
  45. package/dist/script/pm-api-reference.d.ts.map +1 -0
  46. package/dist/script/pm-api-reference.js +48 -0
  47. package/dist/script/pm-api-reference.js.map +1 -0
  48. package/dist-cjs/host/db/connectionMapping.js +31 -0
  49. package/dist-cjs/host/db/connectionMapping.js.map +1 -0
  50. package/dist-cjs/host/db/db-query-reference.js +68 -0
  51. package/dist-cjs/host/db/db-query-reference.js.map +1 -0
  52. package/dist-cjs/host/db/mongoAdapter.js +81 -10
  53. package/dist-cjs/host/db/mongoAdapter.js.map +1 -1
  54. package/dist-cjs/host/db/mysqlAdapter.js +10 -1
  55. package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
  56. package/dist-cjs/host/db/oracleAdapter.js +11 -1
  57. package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
  58. package/dist-cjs/host/db/postgresAdapter.js +10 -1
  59. package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
  60. package/dist-cjs/host/db/queryExecutor.js +39 -1
  61. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  62. package/dist-cjs/host/index.js +30 -1
  63. package/dist-cjs/host/index.js.map +1 -1
  64. package/dist-cjs/index.js +3 -1
  65. package/dist-cjs/index.js.map +1 -1
  66. package/dist-cjs/script/pm-api-metadata.js +1 -1
  67. package/dist-cjs/script/pm-api-metadata.js.map +1 -1
  68. package/dist-cjs/script/pm-api-reference.js +52 -0
  69. package/dist-cjs/script/pm-api-reference.js.map +1 -0
  70. package/package.json +1 -1
@@ -0,0 +1,46 @@
1
+ <!-- GENERATED FILE — do not edit by hand. Source: callman_core (npm run ai:packs). -->
2
+
3
+ # Callman data access from scripts (`pm.db.query` / `pm.redis.command`)
4
+
5
+ `pm.db.query({ connectionId, query })` — ALWAYS `await`. `query` is coerced to a string, `{{tokens}}` are resolved, then dispatched by the connection's type. `connectionId` may be omitted to use the request's configured DB connection. IMPORTANT: `pm.db.query` does NOT accept a `params`/bind array — inline values (quote strings) or use `{{env.X}}` tokens; SQL placeholders like `$1` or `?` are NOT bound.
6
+
7
+ ## MongoDB
8
+ `query` MUST be a JSON STRING of a command object (use `JSON.stringify`), NOT a `db.coll.find(...)` shell string. The match key is `filter` (a top-level `query` key is rejected).
9
+
10
+ ```js
11
+ const body = pm.response.json();
12
+ const res = await pm.db.query({
13
+ connectionId: "…",
14
+ query: JSON.stringify({
15
+ collection: "users",
16
+ operation: "findOne", // find | findOne | aggregate | countDocuments | insertOne | insertMany | updateOne | updateMany | deleteOne | deleteMany | findOneAndUpdate | findOneAndReplace | findOneAndDelete
17
+ filter: { email: body.data.user.email },
18
+ }),
19
+ });
20
+ pm.expect(res.rowCount).to.be.above(0); // existence check
21
+ ```
22
+
23
+ Per-operation fields: `find`/`findOne` use `filter` (+ optional `projection`,`sort`,`limit`,`skip`); `aggregate` uses `pipeline` (array); `insertOne` uses `document`, `insertMany` uses `documents`; `updateOne`/`updateMany`/`findOneAndUpdate` use `filter`+`update` (Mongo update operators, e.g. `{ $set: { … } }`); `deleteOne`/`deleteMany` use `filter`; `findOneAndUpdate`/`findOneAndReplace` accept `returnDocument: "before"|"after"`. A 24-hex string in a filter is auto-coerced to ObjectId (or use `{ "$oid": "…" }`). Rows are in `res.rows`; write ops surface counts in `res.rowCount`.
24
+
25
+ ## PostgreSQL / MySQL / Oracle (SQL)
26
+ `query` is plain SQL text. Because `pm.db.query` binds no params, inline the value and quote strings yourself (or use a `{{token}}`):
27
+
28
+ ```js
29
+ const email = pm.response.json().data.user.email;
30
+ const res = await pm.db.query({
31
+ connectionId: "…",
32
+ query: `SELECT id FROM users WHERE email = '${email}'`,
33
+ });
34
+ pm.expect(res.rowCount).to.be.above(0);
35
+ ```
36
+
37
+ Notes: a trailing `;` is stripped (except Oracle PL/SQL blocks, which keep it). **Oracle** returns column names UPPERCASE — read `res.rows[0].EMAIL`, not `.email`. `res.rowCount` is the row count for SELECT and the affected-row count for INSERT/UPDATE/DELETE.
38
+
39
+ ## Redis (`pm.redis.command`)
40
+ `command` is a single string. Only **GET, SET, DEL, EXISTS, TTL** are supported. Quote a value that contains spaces.
41
+
42
+ ```js
43
+ const res = await pm.redis.command({ connectionId: "…", command: `GET session:${id}` });
44
+ pm.expect(res.success).to.be.true;
45
+ // res.result / res.resultText hold the value; res.commandName, res.key are set.
46
+ ```
@@ -19,6 +19,7 @@ Capability-gated members:
19
19
 
20
20
  ## redis
21
21
 
22
+ - `pm.redis.command({ connectionId, command })`
22
23
  - `pm.redis.get(key)`
23
24
  - `pm.redis.results.pre`
24
25
  - `pm.redis.results.post`
@@ -110,7 +110,7 @@ Fire an ad-hoc HTTP request from inside a script.
110
110
 
111
111
  Database access (Oracle / MongoDB / PostgreSQL / MySQL). Disabled by feature policy in some contexts — tests then report SKIP.
112
112
 
113
- - `pm.db.query({ connectionId, query })` — Run an ad-hoc query — ALWAYS await it. Resolves to { success, error, rowCount, rows, firstRow(), connectionId, connectionName, connectionType, durationMs, executedAt }. firstRow is a FUNCTION: res.firstRow()?.STATUS (Oracle columns are UPPERCASE). _(requires the database capability — may be disabled by feature policy)_
113
+ - `pm.db.query({ connectionId, query })` — Run an ad-hoc query — ALWAYS await it. SQL connections (Oracle/Postgres/MySQL): `query` is the SQL text. MongoDB: `query` is a JSON STRING of a command object, e.g. `JSON.stringify({ collection: 'users', operation: 'findOne', filter: { email } })` — operation is find|findOne|aggregate|countDocuments|insertOne|updateOne|deleteOne|…, the match key is `filter` (NOT a `db.coll.find(...)` shell string and NOT `query`), and aggregate uses `pipeline`. Resolves to { success, error, rowCount, rows, firstRow(), connectionId, connectionName, connectionType, durationMs, executedAt }. firstRow is a FUNCTION: res.firstRow()?.STATUS (Oracle columns are UPPERCASE); for a Mongo existence check assert rowCount > 0. _(requires the database capability — may be disabled by feature policy)_
114
114
  - `pm.db.pre` — Result object of the declared pre-request DB query: { success, error, rowCount, rows, firstRow() }. Not a promise — read directly. _(requires the database capability — may be disabled by feature policy)_
115
115
  - `pm.db.post` — Result object of the declared post-response DB query (same shape as pm.db.pre). _(stages: post-response, tests)_ _(requires the database capability — may be disabled by feature policy)_
116
116
 
@@ -123,8 +123,9 @@ Captured Kafka events from the request's Kafka tab listener.
123
123
 
124
124
  ## pm.redis
125
125
 
126
- Results of the declared pre/post Redis commands.
126
+ Run ad-hoc Redis commands and read results of declared pre/post commands.
127
127
 
128
+ - `pm.redis.command({ connectionId, command })` — Run an ad-hoc Redis command (GET/SET/DEL/EXISTS/TTL) — ALWAYS await it. Resolves to { success, error, result, resultText, commandName, key, connectionId, connectionName, command, resolvedCommand, durationMs, executedAt }. Omit connectionId to use the request's configured Redis connection. _(requires the redis capability — may be disabled by feature policy)_
128
129
  - `pm.redis.get(key)` — Read a value already captured by a declared GET. _(requires the redis capability — may be disabled by feature policy)_
129
130
  - `pm.redis.results.pre` — Array of pre-stage command results (by line index). _(requires the redis capability — may be disabled by feature policy)_
130
131
  - `pm.redis.results.post` — Array of post-stage command results. _(stages: post-response, tests)_ _(requires the redis capability — may be disabled by feature policy)_
@@ -0,0 +1,20 @@
1
+ import type { DbConnection } from "./types.js";
2
+ export type CoreDbProvider = "mongodb" | "postgresql" | "mysql" | "oracle";
3
+ export interface DatabaseConnectionConfigLike {
4
+ connectionMode: "detailed" | "connectionString";
5
+ connectionString?: string;
6
+ host?: string;
7
+ port?: number;
8
+ database?: string;
9
+ serviceName?: string;
10
+ username?: string;
11
+ password?: string;
12
+ ssl?: boolean;
13
+ }
14
+ export declare const databaseConfigToDbConnection: (input: {
15
+ id?: string;
16
+ name?: string;
17
+ provider: CoreDbProvider;
18
+ config: DatabaseConnectionConfigLike;
19
+ }) => DbConnection;
20
+ //# sourceMappingURL=connectionMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionMapping.d.ts","sourceRoot":"","sources":["../../../src/host/db/connectionMapping.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAS3E,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,4BAA4B,GAAI,OAAO;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;CACtC,KAAG,YAaF,CAAC"}
@@ -0,0 +1,27 @@
1
+ // Maps a host's `(provider, DatabaseConnectionConfig)` pair onto the core
2
+ // `DbConnection` shape the adapters expect. The backend names providers
3
+ // `mongodb`/`postgresql`/`mysql`/`oracle`; core uses `mongo`/`postgres`/
4
+ // `mysql`/`oracle`. Centralising the mapping here is the single chokepoint so
5
+ // no host hand-rolls it (the narrow `CoreDbProvider` rejects redis/kafka/etc.
6
+ // at compile time).
7
+ const PROVIDER_TO_TYPE = {
8
+ mongodb: "mongo",
9
+ postgresql: "postgres",
10
+ mysql: "mysql",
11
+ oracle: "oracle",
12
+ };
13
+ export const databaseConfigToDbConnection = (input) => ({
14
+ id: input.id ?? "scenario-connection",
15
+ name: input.name ?? "",
16
+ type: PROVIDER_TO_TYPE[input.provider],
17
+ connectionMode: input.config.connectionMode,
18
+ connectionString: input.config.connectionString,
19
+ host: input.config.host ?? "",
20
+ port: input.config.port ?? 0,
21
+ database: input.config.database,
22
+ serviceName: input.config.serviceName,
23
+ username: input.config.username ?? "",
24
+ password: input.config.password ?? "",
25
+ ssl: input.config.ssl,
26
+ });
27
+ //# sourceMappingURL=connectionMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionMapping.js","sourceRoot":"","sources":["../../../src/host/db/connectionMapping.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,8EAA8E;AAC9E,8EAA8E;AAC9E,oBAAoB;AAMpB,MAAM,gBAAgB,GAA6C;IACjE,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAC;AAcF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAK5C,EAAgB,EAAE,CAAC,CAAC;IACnB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,qBAAqB;IACrC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;IACtB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;IAC3C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;IAC/C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;IAC7B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;IAC/B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;IACrC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;IACrC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;IACrC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;CACtB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const renderDbQueryReference: () => string;
2
+ //# sourceMappingURL=db-query-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-query-reference.d.ts","sourceRoot":"","sources":["../../../src/host/db/db-query-reference.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,sBAAsB,QAAO,MA8C5B,CAAC"}
@@ -0,0 +1,64 @@
1
+ // Authoritative, human/AI-readable reference for HOW to shape a query passed to
2
+ // `pm.db.query({ connectionId, query })` and `pm.redis.command({ connectionId,
3
+ // command })` from a script — one per backend. Colocated with the adapters that
4
+ // define the real behaviour so it can't silently drift.
5
+ //
6
+ // KEEP IN SYNC with:
7
+ // - mongoAdapter.ts (Mongo command-object shape + supported operations)
8
+ // - postgresAdapter.ts ($1 placeholders — but see note below)
9
+ // - mysqlAdapter.ts (? placeholders — but see note below)
10
+ // - oracleAdapter.ts (UPPERCASE columns, PL/SQL, no bind array)
11
+ // - redisService.ts (supported command set: GET/SET/DEL/EXISTS/TTL)
12
+ // - ../../script/features/db.ts (pm.db.query coerces `query` to String — no params)
13
+ // - ../../script/features/redis.ts (pm.redis.command coerces `command` to String)
14
+ //
15
+ // CRITICAL: `pm.db.query` does NOT forward a `params` array (only the host /
16
+ // scenario executor does). So inside a SCRIPT, SQL bind placeholders (`$1`, `?`)
17
+ // are NOT bound — inline the value (quote strings) or use a `{{token}}` instead.
18
+ export const renderDbQueryReference = () => [
19
+ "# Callman data access from scripts (`pm.db.query` / `pm.redis.command`)",
20
+ "",
21
+ "`pm.db.query({ connectionId, query })` — ALWAYS `await`. `query` is coerced to a string, `{{tokens}}` are resolved, then dispatched by the connection's type. `connectionId` may be omitted to use the request's configured DB connection. IMPORTANT: `pm.db.query` does NOT accept a `params`/bind array — inline values (quote strings) or use `{{env.X}}` tokens; SQL placeholders like `$1` or `?` are NOT bound.",
22
+ "",
23
+ "## MongoDB",
24
+ "`query` MUST be a JSON STRING of a command object (use `JSON.stringify`), NOT a `db.coll.find(...)` shell string. The match key is `filter` (a top-level `query` key is rejected).",
25
+ "",
26
+ "```js",
27
+ "const body = pm.response.json();",
28
+ "const res = await pm.db.query({",
29
+ ' connectionId: "…",',
30
+ " query: JSON.stringify({",
31
+ ' collection: "users",',
32
+ ' operation: "findOne", // find | findOne | aggregate | countDocuments | insertOne | insertMany | updateOne | updateMany | deleteOne | deleteMany | findOneAndUpdate | findOneAndReplace | findOneAndDelete',
33
+ " filter: { email: body.data.user.email },",
34
+ " }),",
35
+ "});",
36
+ "pm.expect(res.rowCount).to.be.above(0); // existence check",
37
+ "```",
38
+ "",
39
+ "Per-operation fields: `find`/`findOne` use `filter` (+ optional `projection`,`sort`,`limit`,`skip`); `aggregate` uses `pipeline` (array); `insertOne` uses `document`, `insertMany` uses `documents`; `updateOne`/`updateMany`/`findOneAndUpdate` use `filter`+`update` (Mongo update operators, e.g. `{ $set: { … } }`); `deleteOne`/`deleteMany` use `filter`; `findOneAndUpdate`/`findOneAndReplace` accept `returnDocument: \"before\"|\"after\"`. A 24-hex string in a filter is auto-coerced to ObjectId (or use `{ \"$oid\": \"…\" }`). Rows are in `res.rows`; write ops surface counts in `res.rowCount`.",
40
+ "",
41
+ "## PostgreSQL / MySQL / Oracle (SQL)",
42
+ "`query` is plain SQL text. Because `pm.db.query` binds no params, inline the value and quote strings yourself (or use a `{{token}}`):",
43
+ "",
44
+ "```js",
45
+ "const email = pm.response.json().data.user.email;",
46
+ "const res = await pm.db.query({",
47
+ ' connectionId: "…",',
48
+ " query: `SELECT id FROM users WHERE email = '${email}'`,",
49
+ "});",
50
+ "pm.expect(res.rowCount).to.be.above(0);",
51
+ "```",
52
+ "",
53
+ "Notes: a trailing `;` is stripped (except Oracle PL/SQL blocks, which keep it). **Oracle** returns column names UPPERCASE — read `res.rows[0].EMAIL`, not `.email`. `res.rowCount` is the row count for SELECT and the affected-row count for INSERT/UPDATE/DELETE.",
54
+ "",
55
+ "## Redis (`pm.redis.command`)",
56
+ "`command` is a single string. Only **GET, SET, DEL, EXISTS, TTL** are supported. Quote a value that contains spaces.",
57
+ "",
58
+ "```js",
59
+ 'const res = await pm.redis.command({ connectionId: "…", command: `GET session:${id}` });',
60
+ "pm.expect(res.success).to.be.true;",
61
+ "// res.result / res.resultText hold the value; res.commandName, res.key are set.",
62
+ "```",
63
+ ].join("\n");
64
+ //# sourceMappingURL=db-query-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-query-reference.js","sourceRoot":"","sources":["../../../src/host/db/db-query-reference.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,wDAAwD;AACxD,EAAE;AACF,qBAAqB;AACrB,+EAA+E;AAC/E,kEAAkE;AAClE,iEAAiE;AACjE,sEAAsE;AACtE,2EAA2E;AAC3E,yFAAyF;AACzF,oFAAoF;AACpF,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD;IACE,yEAAyE;IACzE,EAAE;IACF,uZAAuZ;IACvZ,EAAE;IACF,YAAY;IACZ,oLAAoL;IACpL,EAAE;IACF,OAAO;IACP,kCAAkC;IAClC,iCAAiC;IACjC,sBAAsB;IACtB,2BAA2B;IAC3B,0BAA0B;IAC1B,sNAAsN;IACtN,8CAA8C;IAC9C,OAAO;IACP,KAAK;IACL,8DAA8D;IAC9D,KAAK;IACL,EAAE;IACF,olBAAolB;IACplB,EAAE;IACF,sCAAsC;IACtC,uIAAuI;IACvI,EAAE;IACF,OAAO;IACP,mDAAmD;IACnD,iCAAiC;IACjC,sBAAsB;IACtB,2DAA2D;IAC3D,KAAK;IACL,yCAAyC;IACzC,KAAK;IACL,EAAE;IACF,qQAAqQ;IACrQ,EAAE;IACF,+BAA+B;IAC/B,sHAAsH;IACtH,EAAE;IACF,OAAO;IACP,0FAA0F;IAC1F,oCAAoC;IACpC,kFAAkF;IAClF,KAAK;CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { DbConnection } from "./types.js";
2
+ export declare const __setMongoDriverForTests: (driver: any | null) => void;
2
3
  export declare const testMongoConnection: (connection: DbConnection) => Promise<void>;
3
4
  export declare const executeMongoQuery: (connection: DbConnection, query: unknown) => Promise<{
4
5
  rows: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"mongoAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/mongoAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAse/C,eAAO,MAAM,mBAAmB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CAWhF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EACxB,OAAO,OAAO,KACb,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAyH/C,CAAC"}
1
+ {"version":3,"file":"mongoAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/mongoAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,eAAO,MAAM,wBAAwB,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAE7D,CAAC;AAyhBF,eAAO,MAAM,mBAAmB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CAWhF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EACxB,OAAO,OAAO,KACb,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0K/C,CAAC"}
@@ -4,7 +4,17 @@
4
4
  // `loadOptionalModule` so callman-core stays driver-agnostic.
5
5
  import { loadOptionalModule, loadOptionalModuleOrNull } from "../lazy.js";
6
6
  const unwrap = (mod) => (mod && mod.default && !mod.MongoClient ? mod.default : mod);
7
+ // Test-only seam: lets unit tests inject a fake `{ MongoClient, ObjectId }`
8
+ // driver without a live mongodb install (core tests run under `node --test`,
9
+ // which has no module-mocking). Never set in production.
10
+ let mongoDriverOverride = null;
11
+ export const __setMongoDriverForTests = (driver) => {
12
+ mongoDriverOverride = driver;
13
+ };
7
14
  const loadMongoDriver = async () => {
15
+ if (mongoDriverOverride) {
16
+ return mongoDriverOverride;
17
+ }
8
18
  try {
9
19
  return unwrap(await loadOptionalModule("mongodb"));
10
20
  }
@@ -68,6 +78,25 @@ const unwrapModifyResult = (result) => {
68
78
  }
69
79
  return result;
70
80
  };
81
+ // `findOneAndUpdate`/`findOneAndReplace` take a `returnDocument: "before" |
82
+ // "after"` option deciding whether the pre- or post-write document comes back.
83
+ // Users write it (or the legacy `new` / `returnOriginal` aliases) at the
84
+ // command's top level, so resolve it here and forward it to the driver. When
85
+ // unset we return `undefined` so MongoDB's own default ("before") is preserved.
86
+ const resolveReturnDocument = (command) => {
87
+ if (command.returnDocument === "after" || command.returnDocument === "before") {
88
+ return command.returnDocument;
89
+ }
90
+ if (command.new === true)
91
+ return "after";
92
+ if (command.new === false)
93
+ return "before";
94
+ if (command.returnOriginal === true)
95
+ return "before";
96
+ if (command.returnOriginal === false)
97
+ return "after";
98
+ return undefined;
99
+ };
71
100
  const ensureMongoCommand = (value) => {
72
101
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
73
102
  throw new Error("Mongo query must be a JSON object. Example: {\"collection\":\"users\",\"operation\":\"find\",\"filter\":{}}");
@@ -79,6 +108,12 @@ const ensureMongoCommand = (value) => {
79
108
  if (!command.operation?.trim()) {
80
109
  throw new Error("Mongo query must include an operation");
81
110
  }
111
+ // MongoDB has no `query` parameter — the filter key is `filter`. Reject a
112
+ // top-level `query` loudly instead of silently running with an empty filter
113
+ // (which would match/modify the wrong document).
114
+ if ("query" in value) {
115
+ throw new Error("Parameter 'query' is not supported. Use 'filter' instead.");
116
+ }
82
117
  return command;
83
118
  };
84
119
  const formatUuidFromBytes = (bytes) => {
@@ -305,6 +340,14 @@ const normalizeMongoResult = (value) => {
305
340
  rowCount: 1,
306
341
  };
307
342
  };
343
+ // Write ops surface the DRIVER's count as rowCount (updateOne/Many →
344
+ // modifiedCount, deleteOne/Many → deletedCount, insertOne → acknowledged?1:0,
345
+ // insertMany → insertedCount) — more informative than a flat 1, and unified
346
+ // across the desktop / backend / CLI hosts that all delegate here.
347
+ const writeResult = (metadata, rowCount) => ({
348
+ rows: [normalizeMongoValue(metadata)],
349
+ rowCount,
350
+ });
308
351
  const OBJECTID_HEX_PATTERN = /^[a-f\d]{24}$/i;
309
352
  const coerceMongoFilterValue = (value, ObjectId) => {
310
353
  if (typeof value === "string" && OBJECTID_HEX_PATTERN.test(value)) {
@@ -354,7 +397,11 @@ export const executeMongoQuery = async (connection, query) => {
354
397
  const { MongoClient, ObjectId } = await loadMongoDriver();
355
398
  await ensureBson();
356
399
  const command = ensureMongoCommand(query);
357
- const client = new MongoClient(buildMongoUri(connection));
400
+ // Fail fast on an unreachable host instead of hanging on the driver's long
401
+ // default server-selection window (unified across all hosts).
402
+ const client = new MongoClient(buildMongoUri(connection), {
403
+ serverSelectionTimeoutMS: 5000,
404
+ });
358
405
  await client.connect();
359
406
  try {
360
407
  const db = client.db(getMongoDatabaseName(connection));
@@ -394,33 +441,52 @@ export const executeMongoQuery = async (connection, query) => {
394
441
  }
395
442
  case "insertOne": {
396
443
  const result = await collection.insertOne(command.document ?? {}, options);
397
- return normalizeMongoResult({
444
+ return writeResult({
398
445
  acknowledged: result.acknowledged,
399
446
  insertedId: result.insertedId,
400
- });
447
+ }, result.acknowledged ? 1 : 0);
448
+ }
449
+ case "insertMany": {
450
+ const documents = Array.isArray(command.documents) ? command.documents : [];
451
+ const result = await collection.insertMany(documents, options);
452
+ return writeResult({
453
+ acknowledged: result.acknowledged,
454
+ insertedCount: result.insertedCount,
455
+ insertedIds: result.insertedIds,
456
+ }, result.insertedCount ?? 0);
401
457
  }
402
458
  case "updateOne": {
403
459
  const result = await collection.updateOne(filter, command.update ?? {}, options);
404
- return normalizeMongoResult({
460
+ return writeResult({
405
461
  acknowledged: result.acknowledged,
406
462
  matchedCount: result.matchedCount,
407
463
  modifiedCount: result.modifiedCount,
408
464
  upsertedId: result.upsertedId ?? null,
409
- });
465
+ }, result.modifiedCount ?? 0);
466
+ }
467
+ case "updateMany": {
468
+ const result = await collection.updateMany(filter, command.update ?? {}, options);
469
+ return writeResult({
470
+ acknowledged: result.acknowledged,
471
+ matchedCount: result.matchedCount,
472
+ modifiedCount: result.modifiedCount,
473
+ upsertedId: result.upsertedId ?? null,
474
+ upsertedCount: result.upsertedCount,
475
+ }, result.modifiedCount ?? 0);
410
476
  }
411
477
  case "deleteOne": {
412
478
  const result = await collection.deleteOne(filter, options);
413
- return normalizeMongoResult({
479
+ return writeResult({
414
480
  acknowledged: result.acknowledged,
415
481
  deletedCount: result.deletedCount,
416
- });
482
+ }, result.deletedCount ?? 0);
417
483
  }
418
484
  case "deleteMany": {
419
485
  const result = await collection.deleteMany(filter, options);
420
- return normalizeMongoResult({
486
+ return writeResult({
421
487
  acknowledged: result.acknowledged,
422
488
  deletedCount: result.deletedCount,
423
- });
489
+ }, result.deletedCount ?? 0);
424
490
  }
425
491
  case "countDocuments": {
426
492
  const count = await collection.countDocuments(command.filter ?? {}, options);
@@ -429,18 +495,22 @@ export const executeMongoQuery = async (connection, query) => {
429
495
  });
430
496
  }
431
497
  case "findOneAndUpdate": {
498
+ const returnDocument = resolveReturnDocument(command);
432
499
  const result = await collection.findOneAndUpdate(filter, command.update ?? {}, {
433
500
  ...options,
434
501
  sort: command.sort,
435
502
  projection: command.projection,
503
+ ...(returnDocument ? { returnDocument } : {}),
436
504
  });
437
505
  return normalizeMongoResult(unwrapModifyResult(result));
438
506
  }
439
507
  case "findOneAndReplace": {
508
+ const returnDocument = resolveReturnDocument(command);
440
509
  const result = await collection.findOneAndReplace(filter, command.replacement ?? command.document ?? {}, {
441
510
  ...options,
442
511
  sort: command.sort,
443
512
  projection: command.projection,
513
+ ...(returnDocument ? { returnDocument } : {}),
444
514
  });
445
515
  return normalizeMongoResult(unwrapModifyResult(result));
446
516
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mongoAdapter.js","sourceRoot":"","sources":["../../../src/host/db/mongoAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoAdapter.js","sourceRoot":"","sources":["../../../src/host/db/mongoAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DbConnection } from "./types.js";
2
+ export declare const __setMysqlDriverForTests: (driver: any | null) => void;
2
3
  export declare const testMysqlConnection: (connection: DbConnection) => Promise<void>;
3
4
  export declare const executeMysqlQuery: (connection: DbConnection, query: string, params?: unknown[]) => Promise<{
4
5
  rows: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"mysqlAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/mysqlAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4C/C,eAAO,MAAM,mBAAmB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CAQhF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EACxB,OAAO,MAAM,EACb,SAAQ,OAAO,EAAO,KACrB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkB/C,CAAC"}
1
+ {"version":3,"file":"mysqlAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/mysqlAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,eAAO,MAAM,wBAAwB,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAE7D,CAAC;AA2CF,eAAO,MAAM,mBAAmB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CAQhF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EACxB,OAAO,MAAM,EACb,SAAQ,OAAO,EAAO,KACrB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkB/C,CAAC"}
@@ -3,7 +3,15 @@
3
3
  import { loadOptionalModule } from "../lazy.js";
4
4
  import { stripTrailingSqlTerminator } from "./sqlNormalize.js";
5
5
  const unwrap = (mod) => mod && mod.default && typeof mod.createConnection !== "function" ? mod.default : mod;
6
+ // Test-only seam (see mongoAdapter).
7
+ let mysqlDriverOverride = null;
8
+ export const __setMysqlDriverForTests = (driver) => {
9
+ mysqlDriverOverride = driver;
10
+ };
6
11
  const loadMysqlDriver = async () => {
12
+ if (mysqlDriverOverride) {
13
+ return mysqlDriverOverride;
14
+ }
7
15
  try {
8
16
  return unwrap(await loadOptionalModule("mysql2/promise"));
9
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mysqlAdapter.js","sourceRoot":"","sources":["../../../src/host/db/mysqlAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysqlAdapter.js","sourceRoot":"","sources":["../../../src/host/db/mysqlAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DbConnection } from "./types.js";
2
+ export declare const __setOracleDriverForTests: (driver: any | null) => void;
2
3
  export declare const testOracleConnection: (connection: DbConnection) => Promise<void>;
3
4
  export declare const executeOracleQuery: (connection: DbConnection, query: string) => Promise<{
4
5
  rows: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"oracleAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuH/C,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,KACvB,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EACxB,OAAO,MAAM,KACZ,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgC/C,CAAC"}
1
+ {"version":3,"file":"oracleAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY/C,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAE9D,CAAC;AAmHF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,KACvB,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EACxB,OAAO,MAAM,KACZ,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgC/C,CAAC"}
@@ -6,7 +6,16 @@ import { loadOptionalModule } from "../lazy.js";
6
6
  import { OracleConnectStringError, normalizeOracleConnectString, } from "./oracleConnectString.js";
7
7
  import { stripTrailingSqlTerminator } from "./sqlNormalize.js";
8
8
  const unwrap = (mod) => (mod && mod.default ? mod.default : mod);
9
+ // Test-only seam (see mongoAdapter). Lets unit tests inject a fake oracledb
10
+ // driver across the package boundary, where module mocking can't reach.
11
+ let oracleDriverOverride = null;
12
+ export const __setOracleDriverForTests = (driver) => {
13
+ oracleDriverOverride = driver;
14
+ };
9
15
  const loadOracleDriver = async () => {
16
+ if (oracleDriverOverride) {
17
+ return oracleDriverOverride;
18
+ }
10
19
  try {
11
20
  return unwrap(await loadOptionalModule("oracledb"));
12
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oracleAdapter.js","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracleAdapter.js","sourceRoot":"","sources":["../../../src/host/db/oracleAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DbConnection } from "./types.js";
2
+ export declare const __setPostgresDriverForTests: (driver: any | null) => void;
2
3
  export declare const testPostgresConnection: (connection: DbConnection) => Promise<void>;
3
4
  export declare const executePostgresQuery: (connection: DbConnection, query: string, params?: unknown[]) => Promise<{
4
5
  rows: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"postgresAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA2C/C,eAAO,MAAM,sBAAsB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CASnF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,EACxB,OAAO,MAAM,EACb,SAAQ,OAAO,EAAO,KACrB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAe/C,CAAC"}
1
+ {"version":3,"file":"postgresAdapter.d.ts","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO/C,eAAO,MAAM,2BAA2B,GAAI,QAAQ,GAAG,GAAG,IAAI,KAAG,IAEhE,CAAC;AA2CF,eAAO,MAAM,sBAAsB,GAAU,YAAY,YAAY,KAAG,OAAO,CAAC,IAAI,CASnF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,YAAY,EACxB,OAAO,MAAM,EACb,SAAQ,OAAO,EAAO,KACrB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAe/C,CAAC"}
@@ -3,7 +3,15 @@
3
3
  import { loadOptionalModule } from "../lazy.js";
4
4
  import { stripTrailingSqlTerminator } from "./sqlNormalize.js";
5
5
  const unwrap = (mod) => (mod && mod.default && !mod.Client ? mod.default : mod);
6
+ // Test-only seam (see mongoAdapter).
7
+ let pgDriverOverride = null;
8
+ export const __setPostgresDriverForTests = (driver) => {
9
+ pgDriverOverride = driver;
10
+ };
6
11
  const loadPgDriver = async () => {
12
+ if (pgDriverOverride) {
13
+ return pgDriverOverride;
14
+ }
7
15
  try {
8
16
  return unwrap(await loadOptionalModule("pg"));
9
17
  }