callman-core 1.44.0 → 1.45.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 (157) hide show
  1. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
  2. package/dist/ai/prompts/scenarioNodeReference.js +17 -6
  3. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
  4. package/dist/host/connections.d.ts.map +1 -1
  5. package/dist/host/connections.js +7 -0
  6. package/dist/host/connections.js.map +1 -1
  7. package/dist/host/db/db-query-reference.d.ts.map +1 -1
  8. package/dist/host/db/db-query-reference.js +22 -5
  9. package/dist/host/db/db-query-reference.js.map +1 -1
  10. package/dist/host/db/dbBinds.d.ts +20 -0
  11. package/dist/host/db/dbBinds.d.ts.map +1 -0
  12. package/dist/host/db/dbBinds.js +61 -0
  13. package/dist/host/db/dbBinds.js.map +1 -0
  14. package/dist/host/db/dbSessionManager.d.ts +13 -0
  15. package/dist/host/db/dbSessionManager.d.ts.map +1 -0
  16. package/dist/host/db/dbSessionManager.js +165 -0
  17. package/dist/host/db/dbSessionManager.js.map +1 -0
  18. package/dist/host/db/introspection/index.d.ts +1 -0
  19. package/dist/host/db/introspection/index.d.ts.map +1 -1
  20. package/dist/host/db/introspection/index.js +1 -0
  21. package/dist/host/db/introspection/index.js.map +1 -1
  22. package/dist/host/db/introspection/routines.d.ts +38 -0
  23. package/dist/host/db/introspection/routines.d.ts.map +1 -0
  24. package/dist/host/db/introspection/routines.js +439 -0
  25. package/dist/host/db/introspection/routines.js.map +1 -0
  26. package/dist/host/db/mssqlAdapter.d.ts +10 -4
  27. package/dist/host/db/mssqlAdapter.d.ts.map +1 -1
  28. package/dist/host/db/mssqlAdapter.js +144 -34
  29. package/dist/host/db/mssqlAdapter.js.map +1 -1
  30. package/dist/host/db/mysqlAdapter.d.ts +10 -4
  31. package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
  32. package/dist/host/db/mysqlAdapter.js +66 -16
  33. package/dist/host/db/mysqlAdapter.js.map +1 -1
  34. package/dist/host/db/oracleAdapter.d.ts +10 -4
  35. package/dist/host/db/oracleAdapter.d.ts.map +1 -1
  36. package/dist/host/db/oracleAdapter.js +301 -28
  37. package/dist/host/db/oracleAdapter.js.map +1 -1
  38. package/dist/host/db/pgClientConfig.d.ts +10 -1
  39. package/dist/host/db/pgClientConfig.d.ts.map +1 -1
  40. package/dist/host/db/pgClientConfig.js +59 -0
  41. package/dist/host/db/pgClientConfig.js.map +1 -1
  42. package/dist/host/db/pgSession.d.ts +11 -0
  43. package/dist/host/db/pgSession.d.ts.map +1 -0
  44. package/dist/host/db/pgSession.js +62 -0
  45. package/dist/host/db/pgSession.js.map +1 -0
  46. package/dist/host/db/pgSessionManager.d.ts +5 -14
  47. package/dist/host/db/pgSessionManager.d.ts.map +1 -1
  48. package/dist/host/db/pgSessionManager.js +9 -161
  49. package/dist/host/db/pgSessionManager.js.map +1 -1
  50. package/dist/host/db/postgresAdapter.d.ts +2 -4
  51. package/dist/host/db/postgresAdapter.d.ts.map +1 -1
  52. package/dist/host/db/postgresAdapter.js +26 -6
  53. package/dist/host/db/postgresAdapter.js.map +1 -1
  54. package/dist/host/db/queryExecutor.d.ts +2 -4
  55. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  56. package/dist/host/db/queryExecutor.js +35 -23
  57. package/dist/host/db/queryExecutor.js.map +1 -1
  58. package/dist/host/db/sqlState.d.ts +1 -0
  59. package/dist/host/db/sqlState.d.ts.map +1 -1
  60. package/dist/host/db/sqlState.js +20 -0
  61. package/dist/host/db/sqlState.js.map +1 -1
  62. package/dist/host/db/types.d.ts +38 -0
  63. package/dist/host/db/types.d.ts.map +1 -1
  64. package/dist/host/index.d.ts +5 -3
  65. package/dist/host/index.d.ts.map +1 -1
  66. package/dist/host/index.js +8 -6
  67. package/dist/host/index.js.map +1 -1
  68. package/dist/scenario-runner/adapters/db-executor.d.ts +17 -3
  69. package/dist/scenario-runner/adapters/db-executor.d.ts.map +1 -1
  70. package/dist/scenario-runner/adapters/db-executor.js +57 -22
  71. package/dist/scenario-runner/adapters/db-executor.js.map +1 -1
  72. package/dist/scenario-runner/adapters/index.d.ts +1 -1
  73. package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
  74. package/dist/scenario-runner/adapters/index.js +1 -1
  75. package/dist/scenario-runner/adapters/index.js.map +1 -1
  76. package/dist/scenario-runner/adapters/types.d.ts +7 -0
  77. package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
  78. package/dist/scenario-runner/index.d.ts +1 -1
  79. package/dist/scenario-runner/index.d.ts.map +1 -1
  80. package/dist/scenario-runner/index.js +1 -1
  81. package/dist/scenario-runner/index.js.map +1 -1
  82. package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
  83. package/dist/scenario-runner/nodePolicy.js +3 -0
  84. package/dist/scenario-runner/nodePolicy.js.map +1 -1
  85. package/dist/scenario-runner/runScenario.d.ts +4 -2
  86. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  87. package/dist/scenario-runner/runScenario.js +47 -12
  88. package/dist/scenario-runner/runScenario.js.map +1 -1
  89. package/dist/scenario-runner/runScenarioWithDataset.d.ts.map +1 -1
  90. package/dist/scenario-runner/runScenarioWithDataset.js +65 -1
  91. package/dist/scenario-runner/runScenarioWithDataset.js.map +1 -1
  92. package/dist/scenario-runner/types.d.ts +21 -1
  93. package/dist/scenario-runner/types.d.ts.map +1 -1
  94. package/dist/script/features/db.d.ts +7 -0
  95. package/dist/script/features/db.d.ts.map +1 -1
  96. package/dist/script/features/db.js +8 -1
  97. package/dist/script/features/db.js.map +1 -1
  98. package/dist/script/pm-api-declarations.d.ts.map +1 -1
  99. package/dist/script/pm-api-declarations.js +24 -0
  100. package/dist/script/pm-api-declarations.js.map +1 -1
  101. package/dist/script/pm-api-metadata.js +1 -1
  102. package/dist/script/pm-api-metadata.js.map +1 -1
  103. package/dist/script/types.d.ts +7 -0
  104. package/dist/script/types.d.ts.map +1 -1
  105. package/dist-cjs/ai/prompts/scenarioNodeReference.js +17 -6
  106. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
  107. package/dist-cjs/host/connections.js +7 -0
  108. package/dist-cjs/host/connections.js.map +1 -1
  109. package/dist-cjs/host/db/db-query-reference.js +22 -5
  110. package/dist-cjs/host/db/db-query-reference.js.map +1 -1
  111. package/dist-cjs/host/db/dbBinds.js +71 -0
  112. package/dist-cjs/host/db/dbBinds.js.map +1 -0
  113. package/dist-cjs/host/db/dbSessionManager.js +172 -0
  114. package/dist-cjs/host/db/dbSessionManager.js.map +1 -0
  115. package/dist-cjs/host/db/introspection/index.js +4 -1
  116. package/dist-cjs/host/db/introspection/index.js.map +1 -1
  117. package/dist-cjs/host/db/introspection/routines.js +444 -0
  118. package/dist-cjs/host/db/introspection/routines.js.map +1 -0
  119. package/dist-cjs/host/db/mssqlAdapter.js +146 -35
  120. package/dist-cjs/host/db/mssqlAdapter.js.map +1 -1
  121. package/dist-cjs/host/db/mysqlAdapter.js +68 -17
  122. package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
  123. package/dist-cjs/host/db/oracleAdapter.js +303 -29
  124. package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
  125. package/dist-cjs/host/db/pgClientConfig.js +61 -1
  126. package/dist-cjs/host/db/pgClientConfig.js.map +1 -1
  127. package/dist-cjs/host/db/pgSession.js +67 -0
  128. package/dist-cjs/host/db/pgSession.js.map +1 -0
  129. package/dist-cjs/host/db/pgSessionManager.js +10 -166
  130. package/dist-cjs/host/db/pgSessionManager.js.map +1 -1
  131. package/dist-cjs/host/db/postgresAdapter.js +25 -5
  132. package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
  133. package/dist-cjs/host/db/queryExecutor.js +34 -22
  134. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  135. package/dist-cjs/host/db/sqlState.js +22 -1
  136. package/dist-cjs/host/db/sqlState.js.map +1 -1
  137. package/dist-cjs/host/index.js +15 -6
  138. package/dist-cjs/host/index.js.map +1 -1
  139. package/dist-cjs/scenario-runner/adapters/db-executor.js +57 -21
  140. package/dist-cjs/scenario-runner/adapters/db-executor.js.map +1 -1
  141. package/dist-cjs/scenario-runner/adapters/index.js +3 -1
  142. package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
  143. package/dist-cjs/scenario-runner/index.js +2 -1
  144. package/dist-cjs/scenario-runner/index.js.map +1 -1
  145. package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
  146. package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
  147. package/dist-cjs/scenario-runner/runScenario.js +49 -13
  148. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  149. package/dist-cjs/scenario-runner/runScenarioWithDataset.js +65 -1
  150. package/dist-cjs/scenario-runner/runScenarioWithDataset.js.map +1 -1
  151. package/dist-cjs/script/features/db.js +8 -1
  152. package/dist-cjs/script/features/db.js.map +1 -1
  153. package/dist-cjs/script/pm-api-declarations.js +24 -0
  154. package/dist-cjs/script/pm-api-declarations.js.map +1 -1
  155. package/dist-cjs/script/pm-api-metadata.js +1 -1
  156. package/dist-cjs/script/pm-api-metadata.js.map +1 -1
  157. package/package.json +1 -1
@@ -1,170 +1,14 @@
1
1
  "use strict";
2
- // Run-scoped PostgreSQL sessions for scenario db nodes (`useSession`).
3
- //
4
- // One live `pg` Client per (runId, connection identity). All session-joined
5
- // nodes of a run share that client, so `BEGIN`, temp tables, GUCs and
6
- // advisory locks survive between nodes — the foundation of the
7
- // seed → call function → assert → ROLLBACK stored-function testing pattern.
8
- //
9
- // Modeled on callman-backend's kafka-client-pool: lazy open, per-session
10
- // serialization, idle sweeper, explicit shutdown hook. Postgres-only by
11
- // design — other providers reject `useSession` at the host driver.
2
+ // The original, Postgres-named surface of run-scoped sessions. Sessions now
3
+ // cover every SQL engine (dbSessionManager); hosts and tests that import these
4
+ // names keep working.
12
5
  Object.defineProperty(exports, "__esModule", { value: true });
13
6
  exports.__getPgSessionCountForTests = exports.closeAllPostgresSessions = exports.releasePostgresSessionsForRun = exports.executePostgresQueryInSession = exports.__setPgSessionDriverForTests = void 0;
14
- const lazy_js_1 = require("../lazy.js");
15
- const pgClientConfig_js_1 = require("./pgClientConfig.js");
16
- const IDLE_SWEEP_INTERVAL_MS = 60_000;
17
- const IDLE_SESSION_TTL_MS = 5 * 60_000;
18
- const sessions = new Map();
19
- let sweeper = null;
20
- const unwrap = (mod) => (mod && mod.default && !mod.Client ? mod.default : mod);
21
- // Test seam mirroring postgresAdapter's — lets unit tests inject a fake
22
- // driver without a live server.
23
- let pgDriverOverride = null;
24
- const __setPgSessionDriverForTests = (driver) => {
25
- pgDriverOverride = driver;
26
- };
27
- exports.__setPgSessionDriverForTests = __setPgSessionDriverForTests;
28
- const loadPgDriver = async () => {
29
- if (pgDriverOverride)
30
- return pgDriverOverride;
31
- try {
32
- return unwrap(await (0, lazy_js_1.loadOptionalModule)("pg"));
33
- }
34
- catch {
35
- throw new Error("PostgreSQL driver (`pg`) is not installed. Install `pg` to use PostgreSQL sessions.");
36
- }
37
- };
38
- // Connection identity participates in the key so two different connections
39
- // in one run never share a client, even if their `id`s degenerate to the
40
- // same normalized placeholder.
41
- const sessionKey = (runId, connection) => [
42
- runId,
43
- connection.id,
44
- connection.connectionString ?? "",
45
- connection.host,
46
- String(connection.port),
47
- connection.database ?? "",
48
- connection.username,
49
- ].join("::");
50
- const ensureSweeper = () => {
51
- if (sweeper)
52
- return;
53
- sweeper = setInterval(() => {
54
- const now = Date.now();
55
- for (const [key, entry] of sessions) {
56
- if (now - entry.lastUsedAtMs > IDLE_SESSION_TTL_MS) {
57
- sessions.delete(key);
58
- void destroyEntry(entry, "rollback");
59
- }
60
- }
61
- if (sessions.size === 0 && sweeper) {
62
- clearInterval(sweeper);
63
- sweeper = null;
64
- }
65
- }, IDLE_SWEEP_INTERVAL_MS);
66
- // Never keep the host process alive just for the sweeper.
67
- sweeper.unref?.();
68
- };
69
- const destroyEntry = async (entry, outcome) => {
70
- try {
71
- const client = await entry.clientPromise;
72
- if (entry.transactionOpen && !entry.poisoned) {
73
- try {
74
- await client.query(outcome === "commit" ? "COMMIT" : "ROLLBACK");
75
- }
76
- catch {
77
- // The transaction dies with the connection either way.
78
- }
79
- }
80
- try {
81
- await client.end();
82
- }
83
- catch {
84
- // Best-effort teardown.
85
- }
86
- }
87
- catch {
88
- // Client never connected — nothing to tear down.
89
- }
90
- };
91
- const openEntry = (runId, connection) => {
92
- const entry = {
93
- clientPromise: (async () => {
94
- const { Client } = await loadPgDriver();
95
- const client = new Client((0, pgClientConfig_js_1.buildPgClientConfig)(connection));
96
- await client.connect();
97
- // Socket-level errors surface here (killed backend, network drop);
98
- // mark the session so the next query fails fast with the cause.
99
- client.on?.("error", (error) => {
100
- entry.poisoned =
101
- error instanceof Error ? error.message : "PostgreSQL session connection lost";
102
- });
103
- return client;
104
- })(),
105
- chain: Promise.resolve(),
106
- transactionOpen: false,
107
- poisoned: null,
108
- lastUsedAtMs: Date.now(),
109
- runId,
110
- };
111
- return entry;
112
- };
113
- const executePostgresQueryInSession = async (input) => {
114
- const key = sessionKey(input.runId, input.connection);
115
- let entry = sessions.get(key);
116
- if (!entry) {
117
- entry = openEntry(input.runId, input.connection);
118
- sessions.set(key, entry);
119
- ensureSweeper();
120
- }
121
- const run = entry.chain.then(async () => {
122
- if (entry.poisoned) {
123
- throw new Error(`PostgreSQL session is unusable: ${entry.poisoned}`);
124
- }
125
- const client = await entry.clientPromise;
126
- if (input.transactionMode !== "none" && !entry.transactionOpen) {
127
- await client.query("BEGIN");
128
- entry.transactionOpen = true;
129
- }
130
- return (0, pgClientConfig_js_1.runPgQuery)(client, input.query, input.params ?? []);
131
- });
132
- // The chain must survive a failed query (SQL errors are normal in
133
- // expectError flows) — swallow for chaining purposes only.
134
- entry.chain = run.then(() => undefined, () => undefined).then(() => {
135
- entry.lastUsedAtMs = Date.now();
136
- });
137
- return run;
138
- };
139
- exports.executePostgresQueryInSession = executePostgresQueryInSession;
140
- // Close every session belonging to `runId` — COMMIT/ROLLBACK per the run
141
- // outcome, then end the client. Queued statements finish (or fail) first
142
- // thanks to the serialization chain.
143
- const releasePostgresSessionsForRun = async (runId, outcome) => {
144
- const owned = [];
145
- for (const [key, entry] of sessions) {
146
- if (entry.runId === runId)
147
- owned.push([key, entry]);
148
- }
149
- await Promise.all(owned.map(async ([key, entry]) => {
150
- sessions.delete(key);
151
- await entry.chain;
152
- await destroyEntry(entry, outcome);
153
- }));
154
- };
155
- exports.releasePostgresSessionsForRun = releasePostgresSessionsForRun;
156
- // Shutdown hook for hosts (backend process exit, CLI end, electron quit).
157
- const closeAllPostgresSessions = async () => {
158
- const all = Array.from(sessions.values());
159
- sessions.clear();
160
- if (sweeper) {
161
- clearInterval(sweeper);
162
- sweeper = null;
163
- }
164
- await Promise.all(all.map((entry) => destroyEntry(entry, "rollback")));
165
- };
166
- exports.closeAllPostgresSessions = closeAllPostgresSessions;
167
- // Introspection for tests.
168
- const __getPgSessionCountForTests = () => sessions.size;
169
- exports.__getPgSessionCountForTests = __getPgSessionCountForTests;
7
+ const dbSessionManager_js_1 = require("./dbSessionManager.js");
8
+ var pgSession_js_1 = require("./pgSession.js");
9
+ Object.defineProperty(exports, "__setPgSessionDriverForTests", { enumerable: true, get: function () { return pgSession_js_1.__setPgSessionDriverForTests; } });
10
+ exports.executePostgresQueryInSession = dbSessionManager_js_1.executeInDbSession;
11
+ exports.releasePostgresSessionsForRun = dbSessionManager_js_1.releaseDbSessionsForRun;
12
+ exports.closeAllPostgresSessions = dbSessionManager_js_1.closeAllDbSessions;
13
+ exports.__getPgSessionCountForTests = dbSessionManager_js_1.__getDbSessionCountForTests;
170
14
  //# sourceMappingURL=pgSessionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pgSessionManager.js","sourceRoot":"","sources":["../../../src/host/db/pgSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgSessionManager.js","sourceRoot":"","sources":["../../../src/host/db/pgSessionManager.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,sBAAsB;;;AAEtB,+DAO+B;AAE/B,+CAA8D;AAArD,4HAAA,4BAA4B,OAAA;AAKxB,QAAA,6BAA6B,GAAG,wCAAkB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6CAAuB,CAAC;AACxD,QAAA,wBAAwB,GAAG,wCAAkB,CAAC;AAC9C,QAAA,2BAA2B,GAAG,iDAA2B,CAAC"}
@@ -53,8 +53,25 @@ const testPostgresConnection = async (connection) => {
53
53
  }
54
54
  };
55
55
  exports.testPostgresConnection = testPostgresConnection;
56
+ // A cursor only lives inside a transaction, so a one-shot statement that hands
57
+ // one back runs in its own.
58
+ const runPgOnClient = async (client, query, options) => {
59
+ if (!options.binds?.some((bind) => bind.type === "cursor")) {
60
+ return (0, pgClientConfig_js_1.runPgStatement)(client, query, options);
61
+ }
62
+ await client.query("BEGIN");
63
+ try {
64
+ const result = await (0, pgClientConfig_js_1.runPgStatement)(client, query, options);
65
+ await client.query("COMMIT");
66
+ return result;
67
+ }
68
+ catch (error) {
69
+ await client.query("ROLLBACK").catch(() => undefined);
70
+ throw error;
71
+ }
72
+ };
56
73
  // Pooled path (configureDbPooling): one pg.Pool per connection identity.
57
- const executePostgresQueryPooled = async (connection, query, params) => {
74
+ const executePostgresQueryPooled = async (connection, query, options) => {
58
75
  const settings = (0, dbPool_js_1.getDbPoolSettings)();
59
76
  const entry = await (0, dbPool_js_1.getOrCreateDbPool)(connection, async () => {
60
77
  const { Pool } = await loadPgDriver();
@@ -82,7 +99,7 @@ const executePostgresQueryPooled = async (connection, query, params) => {
82
99
  let failed = false;
83
100
  const queryTimer = (0, dbTimings_js_1.startDbTimer)();
84
101
  try {
85
- const result = await (0, pgClientConfig_js_1.runPgQuery)(client, query, params);
102
+ const result = await runPgOnClient(client, query, options);
86
103
  timings.queryMs = queryTimer();
87
104
  return { ...result, timings };
88
105
  }
@@ -97,9 +114,12 @@ const executePostgresQueryPooled = async (connection, query, params) => {
97
114
  timings.closeMs = closeTimer();
98
115
  }
99
116
  };
100
- const executePostgresQuery = async (connection, query, params = []) => {
117
+ const executePostgresQuery = async (connection, query, paramsOrOptions = []) => {
118
+ const options = Array.isArray(paramsOrOptions)
119
+ ? { params: paramsOrOptions }
120
+ : paramsOrOptions;
101
121
  if ((0, dbPool_js_1.isDbPoolingEnabled)()) {
102
- return executePostgresQueryPooled(connection, query, params);
122
+ return executePostgresQueryPooled(connection, query, options);
103
123
  }
104
124
  const { Client } = await loadPgDriver();
105
125
  const timings = (0, dbTimings_js_1.emptyDbTimings)();
@@ -109,7 +129,7 @@ const executePostgresQuery = async (connection, query, params = []) => {
109
129
  timings.connectMs = connectTimer();
110
130
  const queryTimer = (0, dbTimings_js_1.startDbTimer)();
111
131
  try {
112
- const result = await (0, pgClientConfig_js_1.runPgQuery)(client, query, params);
132
+ const result = await runPgOnClient(client, query, options);
113
133
  timings.queryMs = queryTimer();
114
134
  return { ...result, timings };
115
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":"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"}
@@ -10,23 +10,23 @@ const mongoAdapter_js_1 = require("./mongoAdapter.js");
10
10
  const mysqlAdapter_js_1 = require("./mysqlAdapter.js");
11
11
  const oracleAdapter_js_1 = require("./oracleAdapter.js");
12
12
  const postgresAdapter_js_1 = require("./postgresAdapter.js");
13
- const pgSessionManager_js_1 = require("./pgSessionManager.js");
13
+ const dbSessionManager_js_1 = require("./dbSessionManager.js");
14
14
  const dbErrors_js_1 = require("./dbErrors.js");
15
15
  const sqlState_js_1 = require("./sqlState.js");
16
16
  const templateResolver_js_1 = require("./templateResolver.js");
17
17
  const mssqlAdapter_js_1 = require("./mssqlAdapter.js");
18
- const executeAgainstConnection = async (connection, resolvedQuery, params = []) => {
18
+ const executeAgainstConnection = async (connection, resolvedQuery, options = {}) => {
19
19
  switch (connection.type) {
20
20
  case "mongo":
21
21
  return (0, mongoAdapter_js_1.executeMongoQuery)(connection, await (0, mongoAdapter_js_1.parseMongoCommandText)(resolvedQuery));
22
22
  case "postgres":
23
- return (0, postgresAdapter_js_1.executePostgresQuery)(connection, resolvedQuery, params);
23
+ return (0, postgresAdapter_js_1.executePostgresQuery)(connection, resolvedQuery, options);
24
24
  case "mysql":
25
- return (0, mysqlAdapter_js_1.executeMysqlQuery)(connection, resolvedQuery, params);
25
+ return (0, mysqlAdapter_js_1.executeMysqlQuery)(connection, resolvedQuery, options);
26
26
  case "mssql":
27
- return (0, mssqlAdapter_js_1.executeMssqlQuery)(connection, resolvedQuery, params);
27
+ return (0, mssqlAdapter_js_1.executeMssqlQuery)(connection, resolvedQuery, options);
28
28
  default:
29
- return (0, oracleAdapter_js_1.executeOracleQuery)(connection, resolvedQuery);
29
+ return (0, oracleAdapter_js_1.executeOracleQuery)(connection, resolvedQuery, options);
30
30
  }
31
31
  };
32
32
  // Pre-resolved dispatcher: dispatch an ALREADY template-resolved query to the
@@ -34,25 +34,28 @@ const executeAgainstConnection = async (connection, resolvedQuery, params = [])
34
34
  // the scenario / `databaseExecutor` path (core's scenario runner resolves the
35
35
  // template before calling the host), so hosts must not duplicate adapter logic.
36
36
  //
37
- // `session` (additive) routes the query through the run-scoped Postgres
38
- // session instead of a one-shot client — see pgSessionManager. Only Postgres
39
- // supports sessions; other providers fail with an actionable message so a
40
- // `useSession` node never silently runs autocommit.
37
+ // `session` (additive) routes the query through the run-scoped session instead
38
+ // of a one-shot connection — see dbSessionManager. MongoDB has none and fails
39
+ // with an actionable message so a `useSession` node never silently autocommits.
41
40
  const executeResolvedDbQuery = (input) => {
42
41
  const connection = (0, exports.normalizeConnectionInput)(input.connection);
42
+ const options = {
43
+ params: input.params ?? [],
44
+ binds: input.binds,
45
+ captureOutput: input.captureOutput,
46
+ timeoutMs: input.timeoutMs,
47
+ signal: input.signal,
48
+ };
43
49
  if (input.session) {
44
- if (connection.type !== "postgres") {
45
- return Promise.reject(new Error(`Scenario DB sessions are only supported for PostgreSQL connections (got "${connection.type}"). Disable 'Run in scenario transaction' on this node.`));
46
- }
47
- return (0, pgSessionManager_js_1.executePostgresQueryInSession)({
50
+ return (0, dbSessionManager_js_1.executeInDbSession)({
48
51
  connection,
49
52
  runId: input.session.runId,
50
53
  transactionMode: input.session.transactionMode,
51
54
  query: input.resolvedQuery,
52
- params: input.params ?? [],
55
+ ...options,
53
56
  });
54
57
  }
55
- return executeAgainstConnection(connection, input.resolvedQuery, input.params ?? []);
58
+ return executeAgainstConnection(connection, input.resolvedQuery, options);
56
59
  };
57
60
  exports.executeResolvedDbQuery = executeResolvedDbQuery;
58
61
  const normalizeConnectionInput = (connectionInput) => ({
@@ -142,18 +145,21 @@ const executeQuery = async (payload) => {
142
145
  }
143
146
  try {
144
147
  const resolvedQuery = (0, templateResolver_js_1.resolveTemplate)(payload.query, payload.context ?? {});
145
- if (payload.session && connection.type !== "postgres") {
146
- throw new Error(`Scenario DB sessions are only supported for PostgreSQL connections (got "${connection.type}"). Disable 'Run in scenario transaction' on this node.`);
147
- }
148
+ const options = {
149
+ params: payload.params ?? [],
150
+ binds: payload.binds,
151
+ captureOutput: payload.captureOutput,
152
+ timeoutMs: payload.timeoutMs,
153
+ };
148
154
  const result = payload.session
149
- ? await (0, pgSessionManager_js_1.executePostgresQueryInSession)({
155
+ ? await (0, dbSessionManager_js_1.executeInDbSession)({
150
156
  connection,
151
157
  runId: payload.session.runId,
152
158
  transactionMode: payload.session.transactionMode,
153
159
  query: resolvedQuery,
154
- params: payload.params ?? [],
160
+ ...options,
155
161
  })
156
- : await executeAgainstConnection(connection, resolvedQuery, payload.params ?? []);
162
+ : await executeAgainstConnection(connection, resolvedQuery, options);
157
163
  return {
158
164
  success: true,
159
165
  phase: payload.phase,
@@ -164,11 +170,15 @@ const executeQuery = async (payload) => {
164
170
  resolvedQuery,
165
171
  rows: result.rows,
166
172
  rowCount: result.rowCount,
173
+ ...(result.out ? { out: result.out } : {}),
174
+ ...(result.output ? { output: result.output } : {}),
175
+ ...(result.resultSets ? { resultSets: result.resultSets } : {}),
167
176
  durationMs: Math.round(node_perf_hooks_1.performance.now() - startedAt),
168
177
  executedAt: new Date().toISOString(),
169
178
  };
170
179
  }
171
180
  catch (error) {
181
+ const dbOutput = error?.dbOutput;
172
182
  return {
173
183
  success: false,
174
184
  phase: payload.phase,
@@ -185,6 +195,8 @@ const executeQuery = async (payload) => {
185
195
  executedAt: new Date().toISOString(),
186
196
  error: error instanceof Error ? error.message : String(error),
187
197
  ...((0, sqlState_js_1.extractSqlState)(error) ? { sqlState: (0, sqlState_js_1.extractSqlState)(error) } : {}),
198
+ ...((0, sqlState_js_1.extractDbErrorCode)(error) ? { dbErrorCode: (0, sqlState_js_1.extractDbErrorCode)(error) } : {}),
199
+ ...(dbOutput ? { output: dbOutput } : {}),
188
200
  ...((0, oracleAdapter_js_1.getOracleClientErrorCode)(error) ? { errorCode: (0, oracleAdapter_js_1.getOracleClientErrorCode)(error) } : {}),
189
201
  ...((0, dbErrors_js_1.describeDbError)(error) ? { diagnosis: (0, dbErrors_js_1.describeDbError)(error) ?? undefined } : {}),
190
202
  };
@@ -1 +1 @@
1
- {"version":3,"file":"queryExecutor.js","sourceRoot":"","sources":["../../../src/host/db/queryExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryExecutor.js","sourceRoot":"","sources":["../../../src/host/db/queryExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractSqlState = void 0;
3
+ exports.extractDbErrorCode = exports.extractSqlState = void 0;
4
4
  // SQLSTATE extraction shared by the scenario db-executor, the host query
5
5
  // executor, and desktop adapters. Postgres SQLSTATE is 5 alphanumeric chars;
6
6
  // `pg` errors expose it as `.code`. `.sqlState` is checked first so hosts
@@ -15,4 +15,25 @@ const extractSqlState = (error) => {
15
15
  : undefined;
16
16
  };
17
17
  exports.extractSqlState = extractSqlState;
18
+ // The engine's own error code, for engines whose errors are not SQLSTATE
19
+ // classified: "ORA-20001", "MSSQL-50000", "ER_SIGNAL_EXCEPTION". `.dbErrorCode`
20
+ // is checked first so hosts can carry it across their own error types.
21
+ const extractDbErrorCode = (error) => {
22
+ if (!error || typeof error !== "object")
23
+ return undefined;
24
+ const record = error;
25
+ if (typeof record.dbErrorCode === "string" && record.dbErrorCode)
26
+ return record.dbErrorCode;
27
+ if (typeof record.errorNum === "number" && record.errorNum > 0) {
28
+ return `ORA-${String(record.errorNum).padStart(5, "0")}`;
29
+ }
30
+ if (typeof record.number === "number" && record.number > 0)
31
+ return `MSSQL-${record.number}`;
32
+ if (typeof record.code === "string" && /^(ORA-\d+|ER_[A-Z0-9_]+)$/.test(record.code)) {
33
+ return record.code;
34
+ }
35
+ const inMessage = typeof record.message === "string" ? record.message.match(/\bORA-\d{5}\b/) : null;
36
+ return inMessage?.[0];
37
+ };
38
+ exports.extractDbErrorCode = extractDbErrorCode;
18
39
  //# sourceMappingURL=sqlState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlState.js","sourceRoot":"","sources":["../../../src/host/db/sqlState.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AACtE,8BAA8B;AACvB,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GACZ,KAAgC,CAAC,QAAQ,IAAK,KAA4B,CAAC,IAAI,CAAC;IACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
1
+ {"version":3,"file":"sqlState.js","sourceRoot":"","sources":["../../../src/host/db/sqlState.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AACtE,8BAA8B;AACvB,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GACZ,KAAgC,CAAC,QAAQ,IAAK,KAA4B,CAAC,IAAI,CAAC;IACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B;AAEF,yEAAyE;AACzE,gFAAgF;AAChF,uEAAuE;AAChE,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAsB,EAAE;IACvE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,KAMd,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5F,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5F,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
@@ -3,8 +3,8 @@
3
3
  // resolved connection runtimes into script capabilities. Lets the collection
4
4
  // runner execute `pm.db.*` and `pm.redis` without an external host process.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OracleConnectStringError = exports.normalizeOracleConnectString = exports.renderDbQueryReference = exports.extractSqlState = exports.buildPgClientConfig = exports.buildPgSslConfig = exports.isSessionMutatingStatement = exports.isDbPoolingEnabled = exports.getDbPoolStats = exports.getDbPoolSettings = exports.DbPoolAcquireTimeoutError = exports.configureDbPooling = exports.closeAllDbPools = exports.stripTrailingSqlTerminator = exports.__setMssqlDriverForTests = exports.testMssqlConnection = exports.executeMssqlQuery = exports.__setOracleDriverForTests = exports.ORACLE_CLIENT_NOT_FOUND = exports.ORACLE_CLIENT_REQUIRED = exports.OracleClientError = exports.getOracleClientErrorCode = exports.getOracleClientInfo = exports.configureOracleClient = exports.testOracleConnection = exports.executeOracleQuery = exports.__setMysqlDriverForTests = exports.testMysqlConnection = exports.executeMysqlQuery = exports.__setPostgresDriverForTests = exports.testPostgresConnection = exports.executePostgresQuery = exports.__setMongoDriverForTests = exports.testMongoConnection = exports.parseMongoCommandText = exports.executeMongoQuery = exports.__getPgSessionCountForTests = exports.__setPgSessionDriverForTests = exports.closeAllPostgresSessions = exports.releasePostgresSessionsForRun = exports.executePostgresQueryInSession = exports.describeDbError = exports.testDbConnection = exports.executeResolvedDbQuery = exports.executeQuery = exports.buildRedisCapability = exports.buildRedisValueCache = exports.runRedisCommandsForPhase = exports.runConfiguredDbQuery = exports.buildDbExecuteCapability = void 0;
7
- exports.normalizeConnectionInput = exports.withMongoClient = exports.withOracleConnection = exports.withMssqlPool = exports.withMysqlConnection = exports.withPostgresClient = exports.formatOracleType = exports.formatMssqlType = exports.bsonTypeOf = exports.fieldsFromSample = exports.tableKey = exports.tableMatchesFilter = exports.introspectSchema = exports.__getTemporalConnectionCountForTests = exports.__setTemporalDriverForTests = exports.normalizeWorkflowStatus = exports.normalizeEventType = exports.describeTemporalError = exports.decodeTemporalPayloads = exports.summarizeSdkError = exports.summarizeProtoFailure = exports.summarizeTemporalHistory = exports.resolveTemporalNamespace = exports.buildTemporalConnectionOptions = exports.closeAllTemporalConnections = exports.releaseTemporalConnectionsForRun = exports.testTemporalConnection = exports.executeTemporalOperation = exports.__setRedisDriverForTests = exports.REDIS_COMMAND_SPECS = exports.parseRedisCommand = exports.executeRedisCommands = exports.databaseConfigToDbConnection = void 0;
6
+ exports.extractDbErrorCode = exports.buildPgClientConfig = exports.buildPgSslConfig = exports.isSessionMutatingStatement = exports.isDbPoolingEnabled = exports.getDbPoolStats = exports.getDbPoolSettings = exports.DbPoolAcquireTimeoutError = exports.configureDbPooling = exports.closeAllDbPools = exports.stripTrailingSqlTerminator = exports.__setMssqlDriverForTests = exports.testMssqlConnection = exports.executeMssqlQuery = exports.__setOracleDriverForTests = exports.ORACLE_CLIENT_NOT_FOUND = exports.ORACLE_CLIENT_REQUIRED = exports.OracleClientError = exports.getOracleClientErrorCode = exports.getOracleClientInfo = exports.configureOracleClient = exports.testOracleConnection = exports.executeOracleQuery = exports.__setMysqlDriverForTests = exports.testMysqlConnection = exports.executeMysqlQuery = exports.__setPostgresDriverForTests = exports.testPostgresConnection = exports.executePostgresQuery = exports.__setMongoDriverForTests = exports.testMongoConnection = exports.parseMongoCommandText = exports.executeMongoQuery = exports.__getPgSessionCountForTests = exports.__setPgSessionDriverForTests = exports.closeAllPostgresSessions = exports.releasePostgresSessionsForRun = exports.executePostgresQueryInSession = exports.closeAllDbSessions = exports.releaseDbSessionsForRun = exports.executeInDbSession = exports.describeDbError = exports.testDbConnection = exports.executeResolvedDbQuery = exports.executeQuery = exports.buildRedisCapability = exports.buildRedisValueCache = exports.runRedisCommandsForPhase = exports.runConfiguredDbQuery = exports.buildDbExecuteCapability = void 0;
7
+ exports.normalizeConnectionInput = exports.withMongoClient = exports.withOracleConnection = exports.withMssqlPool = exports.withMysqlConnection = exports.withPostgresClient = exports.formatOracleType = exports.formatMssqlType = exports.bsonTypeOf = exports.fieldsFromSample = exports.tableKey = exports.tableMatchesFilter = exports.buildRoutineCall = exports.introspectRoutines = exports.introspectSchema = exports.__getTemporalConnectionCountForTests = exports.__setTemporalDriverForTests = exports.normalizeWorkflowStatus = exports.normalizeEventType = exports.describeTemporalError = exports.decodeTemporalPayloads = exports.summarizeSdkError = exports.summarizeProtoFailure = exports.summarizeTemporalHistory = exports.resolveTemporalNamespace = exports.buildTemporalConnectionOptions = exports.closeAllTemporalConnections = exports.releaseTemporalConnectionsForRun = exports.testTemporalConnection = exports.executeTemporalOperation = exports.__setRedisDriverForTests = exports.REDIS_COMMAND_SPECS = exports.parseRedisCommand = exports.executeRedisCommands = exports.databaseConfigToDbConnection = exports.OracleConnectStringError = exports.normalizeOracleConnectString = exports.renderDbQueryReference = exports.DbStatementTimeoutError = exports.extractSqlState = void 0;
8
8
  var connections_js_1 = require("./connections.js");
9
9
  Object.defineProperty(exports, "buildDbExecuteCapability", { enumerable: true, get: function () { return connections_js_1.buildDbExecuteCapability; } });
10
10
  Object.defineProperty(exports, "runConfiguredDbQuery", { enumerable: true, get: function () { return connections_js_1.runConfiguredDbQuery; } });
@@ -18,10 +18,14 @@ Object.defineProperty(exports, "testDbConnection", { enumerable: true, get: func
18
18
  // What a driver error means (title + hint), for test panels and reports.
19
19
  var dbErrors_js_1 = require("./db/dbErrors.js");
20
20
  Object.defineProperty(exports, "describeDbError", { enumerable: true, get: function () { return dbErrors_js_1.describeDbError; } });
21
- // Run-scoped Postgres sessions for `useSession` db nodes (BEGIN…ROLLBACK
22
- // spanning multiple nodes). Hosts wire `releasePostgresSessionsForRun` into
23
- // the `databaseSessionRelease` driver and `closeAllPostgresSessions` into
24
- // process shutdown.
21
+ // Run-scoped sessions for `useSession` db nodes on every SQL engine (one
22
+ // connection and one transaction spanning multiple nodes). Hosts wire
23
+ // `releaseDbSessionsForRun` into the `databaseSessionRelease` driver and
24
+ // `closeAllDbSessions` into process shutdown.
25
+ var dbSessionManager_js_1 = require("./db/dbSessionManager.js");
26
+ Object.defineProperty(exports, "executeInDbSession", { enumerable: true, get: function () { return dbSessionManager_js_1.executeInDbSession; } });
27
+ Object.defineProperty(exports, "releaseDbSessionsForRun", { enumerable: true, get: function () { return dbSessionManager_js_1.releaseDbSessionsForRun; } });
28
+ Object.defineProperty(exports, "closeAllDbSessions", { enumerable: true, get: function () { return dbSessionManager_js_1.closeAllDbSessions; } });
25
29
  var pgSessionManager_js_1 = require("./db/pgSessionManager.js");
26
30
  Object.defineProperty(exports, "executePostgresQueryInSession", { enumerable: true, get: function () { return pgSessionManager_js_1.executePostgresQueryInSession; } });
27
31
  Object.defineProperty(exports, "releasePostgresSessionsForRun", { enumerable: true, get: function () { return pgSessionManager_js_1.releasePostgresSessionsForRun; } });
@@ -71,7 +75,10 @@ var pgClientConfig_js_1 = require("./db/pgClientConfig.js");
71
75
  Object.defineProperty(exports, "buildPgSslConfig", { enumerable: true, get: function () { return pgClientConfig_js_1.buildPgSslConfig; } });
72
76
  Object.defineProperty(exports, "buildPgClientConfig", { enumerable: true, get: function () { return pgClientConfig_js_1.buildPgClientConfig; } });
73
77
  var sqlState_js_1 = require("./db/sqlState.js");
78
+ Object.defineProperty(exports, "extractDbErrorCode", { enumerable: true, get: function () { return sqlState_js_1.extractDbErrorCode; } });
74
79
  Object.defineProperty(exports, "extractSqlState", { enumerable: true, get: function () { return sqlState_js_1.extractSqlState; } });
80
+ var dbBinds_js_1 = require("./db/dbBinds.js");
81
+ Object.defineProperty(exports, "DbStatementTimeoutError", { enumerable: true, get: function () { return dbBinds_js_1.DbStatementTimeoutError; } });
75
82
  var db_query_reference_js_1 = require("./db/db-query-reference.js");
76
83
  Object.defineProperty(exports, "renderDbQueryReference", { enumerable: true, get: function () { return db_query_reference_js_1.renderDbQueryReference; } });
77
84
  var oracleConnectString_js_1 = require("./db/oracleConnectString.js");
@@ -106,6 +113,8 @@ Object.defineProperty(exports, "__getTemporalConnectionCountForTests", { enumera
106
113
  // per call, a DbSchema back. Hosts expose it (Electron IPC, the backend).
107
114
  var index_js_1 = require("./db/introspection/index.js");
108
115
  Object.defineProperty(exports, "introspectSchema", { enumerable: true, get: function () { return index_js_1.introspectSchema; } });
116
+ Object.defineProperty(exports, "introspectRoutines", { enumerable: true, get: function () { return index_js_1.introspectRoutines; } });
117
+ Object.defineProperty(exports, "buildRoutineCall", { enumerable: true, get: function () { return index_js_1.buildRoutineCall; } });
109
118
  Object.defineProperty(exports, "tableMatchesFilter", { enumerable: true, get: function () { return index_js_1.tableMatchesFilter; } });
110
119
  Object.defineProperty(exports, "tableKey", { enumerable: true, get: function () { return index_js_1.tableKey; } });
111
120
  Object.defineProperty(exports, "fieldsFromSample", { enumerable: true, get: function () { return index_js_1.fieldsFromSample; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}