callman-core 1.15.0 → 1.16.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 (79) hide show
  1. package/dist/host/connections.d.ts +3 -0
  2. package/dist/host/connections.d.ts.map +1 -1
  3. package/dist/host/connections.js +3 -0
  4. package/dist/host/connections.js.map +1 -1
  5. package/dist/host/db/connectionMapping.d.ts +3 -1
  6. package/dist/host/db/connectionMapping.d.ts.map +1 -1
  7. package/dist/host/db/connectionMapping.js +3 -0
  8. package/dist/host/db/connectionMapping.js.map +1 -1
  9. package/dist/host/db/db-query-reference.d.ts.map +1 -1
  10. package/dist/host/db/db-query-reference.js +12 -1
  11. package/dist/host/db/db-query-reference.js.map +1 -1
  12. package/dist/host/db/mssqlAdapter.d.ts +8 -0
  13. package/dist/host/db/mssqlAdapter.d.ts.map +1 -0
  14. package/dist/host/db/mssqlAdapter.js +118 -0
  15. package/dist/host/db/mssqlAdapter.js.map +1 -0
  16. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  17. package/dist/host/db/queryExecutor.js +8 -0
  18. package/dist/host/db/queryExecutor.js.map +1 -1
  19. package/dist/host/db/sqlNormalize.d.ts +1 -1
  20. package/dist/host/db/sqlNormalize.d.ts.map +1 -1
  21. package/dist/host/db/types.d.ts +5 -1
  22. package/dist/host/db/types.d.ts.map +1 -1
  23. package/dist/host/index.d.ts +2 -1
  24. package/dist/host/index.d.ts.map +1 -1
  25. package/dist/host/index.js +2 -1
  26. package/dist/host/index.js.map +1 -1
  27. package/dist/host/redis/redisService.d.ts +17 -0
  28. package/dist/host/redis/redisService.d.ts.map +1 -1
  29. package/dist/host/redis/redisService.js +233 -40
  30. package/dist/host/redis/redisService.js.map +1 -1
  31. package/dist/host/redis/types.d.ts +4 -0
  32. package/dist/host/redis/types.d.ts.map +1 -1
  33. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts.map +1 -1
  34. package/dist/scenario-runner/adapters/helpers/request-helpers.js +28 -2
  35. package/dist/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  36. package/dist/scenario-runner/condition.d.ts +4 -0
  37. package/dist/scenario-runner/condition.d.ts.map +1 -1
  38. package/dist/scenario-runner/condition.js +66 -7
  39. package/dist/scenario-runner/condition.js.map +1 -1
  40. package/dist/scenario-runner/conditionTypes.d.ts +14 -0
  41. package/dist/scenario-runner/conditionTypes.d.ts.map +1 -1
  42. package/dist/scenario-runner/extraction.d.ts +10 -0
  43. package/dist/scenario-runner/extraction.d.ts.map +1 -0
  44. package/dist/scenario-runner/extraction.js +147 -0
  45. package/dist/scenario-runner/extraction.js.map +1 -0
  46. package/dist/scenario-runner/index.d.ts +1 -0
  47. package/dist/scenario-runner/index.d.ts.map +1 -1
  48. package/dist/scenario-runner/index.js +2 -0
  49. package/dist/scenario-runner/index.js.map +1 -1
  50. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  51. package/dist/scenario-runner/runScenario.js +113 -6
  52. package/dist/scenario-runner/runScenario.js.map +1 -1
  53. package/dist/scenario-runner/types.d.ts +23 -1
  54. package/dist/scenario-runner/types.d.ts.map +1 -1
  55. package/dist-cjs/host/connections.js +3 -0
  56. package/dist-cjs/host/connections.js.map +1 -1
  57. package/dist-cjs/host/db/connectionMapping.js +3 -0
  58. package/dist-cjs/host/db/connectionMapping.js.map +1 -1
  59. package/dist-cjs/host/db/db-query-reference.js +12 -1
  60. package/dist-cjs/host/db/db-query-reference.js.map +1 -1
  61. package/dist-cjs/host/db/mssqlAdapter.js +124 -0
  62. package/dist-cjs/host/db/mssqlAdapter.js.map +1 -0
  63. package/dist-cjs/host/db/queryExecutor.js +8 -0
  64. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  65. package/dist-cjs/host/index.js +8 -1
  66. package/dist-cjs/host/index.js.map +1 -1
  67. package/dist-cjs/host/redis/redisService.js +237 -42
  68. package/dist-cjs/host/redis/redisService.js.map +1 -1
  69. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js +28 -2
  70. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  71. package/dist-cjs/scenario-runner/condition.js +68 -8
  72. package/dist-cjs/scenario-runner/condition.js.map +1 -1
  73. package/dist-cjs/scenario-runner/extraction.js +151 -0
  74. package/dist-cjs/scenario-runner/extraction.js.map +1 -0
  75. package/dist-cjs/scenario-runner/index.js +2 -0
  76. package/dist-cjs/scenario-runner/index.js.map +1 -1
  77. package/dist-cjs/scenario-runner/runScenario.js +112 -5
  78. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  79. package/package.json +3 -1
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ // SQL Server adapter (`mssql` package — pure-JS tedious under the hood, no
3
+ // native build, safe for Electron). Lazy-loaded via `loadOptionalModule` like
4
+ // the other drivers.
5
+ //
6
+ // Positional params bind as @p1..@pN: the node's `params[i]` becomes named
7
+ // input `p{i+1}` — T-SQL has no `?` placeholders, and rewriting them inside
8
+ // the SQL text would risk corrupting string literals.
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.executeMssqlQuery = exports.testMssqlConnection = exports.__setMssqlDriverForTests = void 0;
11
+ const lazy_js_1 = require("../lazy.js");
12
+ const sqlNormalize_js_1 = require("./sqlNormalize.js");
13
+ const unwrap = (mod) => mod && mod.default && typeof mod.ConnectionPool !== "function" ? mod.default : mod;
14
+ // Test-only seam (see mongoAdapter).
15
+ let mssqlDriverOverride = null;
16
+ const __setMssqlDriverForTests = (driver) => {
17
+ mssqlDriverOverride = driver;
18
+ };
19
+ exports.__setMssqlDriverForTests = __setMssqlDriverForTests;
20
+ const loadMssqlDriver = async () => {
21
+ if (mssqlDriverOverride) {
22
+ return mssqlDriverOverride;
23
+ }
24
+ try {
25
+ return unwrap(await (0, lazy_js_1.loadOptionalModule)("mssql"));
26
+ }
27
+ catch {
28
+ throw new Error("SQL Server driver (`mssql`) is not installed. Install `mssql` to use SQL Server connections.");
29
+ }
30
+ };
31
+ // `GO` is a client-tool batch separator, not T-SQL — the driver would error
32
+ // cryptically mid-batch. Reject it up front with an actionable message.
33
+ const GO_SEPARATOR = /^\s*GO(\s*;)?\s*$/im;
34
+ const buildPoolConfig = (connection) => {
35
+ if (connection.connectionString?.trim()) {
36
+ // ADO-style connection strings are parsed natively by the driver.
37
+ return connection.connectionString.trim();
38
+ }
39
+ const instanceName = connection.instanceName?.trim() || undefined;
40
+ return {
41
+ server: connection.host,
42
+ // A named instance resolves its port via SQL Browser (UDP 1434) — a fixed
43
+ // port would override and usually break it, so it is dropped then.
44
+ ...(instanceName ? {} : { port: connection.port }),
45
+ database: connection.database,
46
+ user: connection.username || undefined,
47
+ password: connection.password || undefined,
48
+ connectionTimeout: 8000,
49
+ options: {
50
+ instanceName,
51
+ // Pinned explicitly — the driver's default flipped between majors.
52
+ encrypt: Boolean(connection.ssl),
53
+ trustServerCertificate: Boolean(connection.trustServerCertificate),
54
+ },
55
+ };
56
+ };
57
+ // Explicit recursion (NOT a JSON.stringify replacer): Buffer/Date define
58
+ // toJSON, which JSON.stringify applies BEFORE the replacer sees the value —
59
+ // a replacer-based normalize would emit `{type:"Buffer",data:[…]}`.
60
+ const normalizeMssqlValue = (value) => {
61
+ if (value === null || typeof value === "undefined") {
62
+ return null;
63
+ }
64
+ if (typeof value === "bigint") {
65
+ return value.toString();
66
+ }
67
+ if (value instanceof Date) {
68
+ return value.toISOString();
69
+ }
70
+ if (Buffer.isBuffer(value) || value instanceof Uint8Array) {
71
+ return Buffer.from(value).toString("hex");
72
+ }
73
+ if (Array.isArray(value)) {
74
+ return value.map(normalizeMssqlValue);
75
+ }
76
+ if (typeof value === "object") {
77
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
78
+ key,
79
+ normalizeMssqlValue(entry),
80
+ ]));
81
+ }
82
+ return value;
83
+ };
84
+ const withPool = async (connection, fn) => {
85
+ const sql = await loadMssqlDriver();
86
+ const pool = new sql.ConnectionPool(buildPoolConfig(connection));
87
+ try {
88
+ await pool.connect();
89
+ return await fn(pool);
90
+ }
91
+ finally {
92
+ await pool.close();
93
+ }
94
+ };
95
+ const testMssqlConnection = async (connection) => {
96
+ await withPool(connection, async (pool) => {
97
+ await pool.request().query("SELECT 1 AS ok");
98
+ });
99
+ };
100
+ exports.testMssqlConnection = testMssqlConnection;
101
+ const executeMssqlQuery = async (connection, query, params = []) => {
102
+ if (GO_SEPARATOR.test(query)) {
103
+ throw new Error('T-SQL "GO" batch separators are not supported — send one statement per query.');
104
+ }
105
+ return withPool(connection, async (pool) => {
106
+ const request = pool.request();
107
+ params.forEach((value, index) => {
108
+ request.input(`p${index + 1}`, value);
109
+ });
110
+ const finalQuery = (0, sqlNormalize_js_1.stripTrailingSqlTerminator)(query, "mssql");
111
+ const result = await request.query(finalQuery);
112
+ const recordset = Array.isArray(result?.recordset) ? result.recordset : [];
113
+ if (recordset.length > 0 || result?.recordset) {
114
+ const rows = recordset.map(normalizeMssqlValue);
115
+ return { rows, rowCount: rows.length };
116
+ }
117
+ const affected = Array.isArray(result?.rowsAffected)
118
+ ? result.rowsAffected.reduce((sum, count) => sum + count, 0)
119
+ : 0;
120
+ return { rows: [], rowCount: affected };
121
+ });
122
+ };
123
+ exports.executeMssqlQuery = executeMssqlQuery;
124
+ //# sourceMappingURL=mssqlAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssqlAdapter.js","sourceRoot":"","sources":["../../../src/host/db/mssqlAdapter.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ 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
13
  const templateResolver_js_1 = require("./templateResolver.js");
14
+ const mssqlAdapter_js_1 = require("./mssqlAdapter.js");
14
15
  const executeAgainstConnection = async (connection, resolvedQuery, params = []) => {
15
16
  switch (connection.type) {
16
17
  case "mongo":
@@ -19,6 +20,8 @@ const executeAgainstConnection = async (connection, resolvedQuery, params = [])
19
20
  return (0, postgresAdapter_js_1.executePostgresQuery)(connection, resolvedQuery, params);
20
21
  case "mysql":
21
22
  return (0, mysqlAdapter_js_1.executeMysqlQuery)(connection, resolvedQuery, params);
23
+ case "mssql":
24
+ return (0, mssqlAdapter_js_1.executeMssqlQuery)(connection, resolvedQuery, params);
22
25
  default:
23
26
  return (0, oracleAdapter_js_1.executeOracleQuery)(connection, resolvedQuery);
24
27
  }
@@ -42,9 +45,11 @@ const normalizeConnectionInput = (connectionInput) => ({
42
45
  port: Number(connectionInput.port),
43
46
  database: connectionInput.database?.trim() || undefined,
44
47
  serviceName: connectionInput.serviceName?.trim() || undefined,
48
+ instanceName: connectionInput.instanceName?.trim() || undefined,
45
49
  username: connectionInput.username.trim(),
46
50
  password: connectionInput.password,
47
51
  ssl: connectionInput.ssl,
52
+ trustServerCertificate: connectionInput.trustServerCertificate,
48
53
  });
49
54
  // Connectivity check for a draft/saved connection. Ported from the desktop
50
55
  // host so consumers (Electron `db:test-connection`) don't reimplement it.
@@ -64,6 +69,9 @@ const testDbConnection = async (connectionInput) => {
64
69
  else if (connection.type === "mysql") {
65
70
  await (0, mysqlAdapter_js_1.testMysqlConnection)(connection);
66
71
  }
72
+ else if (connection.type === "mssql") {
73
+ await (0, mssqlAdapter_js_1.testMssqlConnection)(connection);
74
+ }
67
75
  else {
68
76
  await (0, oracleAdapter_js_1.testOracleConnection)(connection);
69
77
  }
@@ -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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"}
@@ -3,7 +3,7 @@
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.executeRedisCommands = exports.databaseConfigToDbConnection = exports.OracleConnectStringError = exports.normalizeOracleConnectString = exports.renderDbQueryReference = exports.stripTrailingSqlTerminator = exports.__setOracleDriverForTests = exports.testOracleConnection = exports.executeOracleQuery = exports.__setMysqlDriverForTests = exports.testMysqlConnection = exports.executeMysqlQuery = exports.__setPostgresDriverForTests = exports.testPostgresConnection = exports.executePostgresQuery = exports.__setMongoDriverForTests = exports.testMongoConnection = exports.executeMongoQuery = exports.testDbConnection = exports.executeResolvedDbQuery = exports.executeQuery = exports.buildRedisCapability = exports.buildRedisValueCache = exports.runRedisCommandsForPhase = exports.runConfiguredDbQuery = exports.buildDbExecuteCapability = void 0;
6
+ exports.__setRedisDriverForTests = exports.REDIS_COMMAND_SPECS = exports.parseRedisCommand = exports.executeRedisCommands = exports.databaseConfigToDbConnection = exports.OracleConnectStringError = exports.normalizeOracleConnectString = exports.renderDbQueryReference = exports.stripTrailingSqlTerminator = exports.__setMssqlDriverForTests = exports.testMssqlConnection = exports.executeMssqlQuery = exports.__setOracleDriverForTests = exports.testOracleConnection = exports.executeOracleQuery = exports.__setMysqlDriverForTests = exports.testMysqlConnection = exports.executeMysqlQuery = exports.__setPostgresDriverForTests = exports.testPostgresConnection = exports.executePostgresQuery = exports.__setMongoDriverForTests = exports.testMongoConnection = exports.executeMongoQuery = exports.testDbConnection = exports.executeResolvedDbQuery = exports.executeQuery = exports.buildRedisCapability = exports.buildRedisValueCache = exports.runRedisCommandsForPhase = exports.runConfiguredDbQuery = exports.buildDbExecuteCapability = void 0;
7
7
  var connections_js_1 = require("./connections.js");
8
8
  Object.defineProperty(exports, "buildDbExecuteCapability", { enumerable: true, get: function () { return connections_js_1.buildDbExecuteCapability; } });
9
9
  Object.defineProperty(exports, "runConfiguredDbQuery", { enumerable: true, get: function () { return connections_js_1.runConfiguredDbQuery; } });
@@ -32,6 +32,10 @@ var oracleAdapter_js_1 = require("./db/oracleAdapter.js");
32
32
  Object.defineProperty(exports, "executeOracleQuery", { enumerable: true, get: function () { return oracleAdapter_js_1.executeOracleQuery; } });
33
33
  Object.defineProperty(exports, "testOracleConnection", { enumerable: true, get: function () { return oracleAdapter_js_1.testOracleConnection; } });
34
34
  Object.defineProperty(exports, "__setOracleDriverForTests", { enumerable: true, get: function () { return oracleAdapter_js_1.__setOracleDriverForTests; } });
35
+ var mssqlAdapter_js_1 = require("./db/mssqlAdapter.js");
36
+ Object.defineProperty(exports, "executeMssqlQuery", { enumerable: true, get: function () { return mssqlAdapter_js_1.executeMssqlQuery; } });
37
+ Object.defineProperty(exports, "testMssqlConnection", { enumerable: true, get: function () { return mssqlAdapter_js_1.testMssqlConnection; } });
38
+ Object.defineProperty(exports, "__setMssqlDriverForTests", { enumerable: true, get: function () { return mssqlAdapter_js_1.__setMssqlDriverForTests; } });
35
39
  var sqlNormalize_js_1 = require("./db/sqlNormalize.js");
36
40
  Object.defineProperty(exports, "stripTrailingSqlTerminator", { enumerable: true, get: function () { return sqlNormalize_js_1.stripTrailingSqlTerminator; } });
37
41
  var db_query_reference_js_1 = require("./db/db-query-reference.js");
@@ -43,4 +47,7 @@ var connectionMapping_js_1 = require("./db/connectionMapping.js");
43
47
  Object.defineProperty(exports, "databaseConfigToDbConnection", { enumerable: true, get: function () { return connectionMapping_js_1.databaseConfigToDbConnection; } });
44
48
  var redisService_js_1 = require("./redis/redisService.js");
45
49
  Object.defineProperty(exports, "executeRedisCommands", { enumerable: true, get: function () { return redisService_js_1.executeRedisCommands; } });
50
+ Object.defineProperty(exports, "parseRedisCommand", { enumerable: true, get: function () { return redisService_js_1.parseRedisCommand; } });
51
+ Object.defineProperty(exports, "REDIS_COMMAND_SPECS", { enumerable: true, get: function () { return redisService_js_1.REDIS_COMMAND_SPECS; } });
52
+ Object.defineProperty(exports, "__setRedisDriverForTests", { enumerable: true, get: function () { return redisService_js_1.__setRedisDriverForTests; } });
46
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;;;AAE5E,mDAc0B;AAbxB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAWtB,0DAI+B;AAH7B,gHAAA,YAAY,OAAA;AACZ,0HAAA,sBAAsB,OAAA;AACtB,oHAAA,gBAAgB,OAAA;AAElB,+EAA+E;AAC/E,wEAAwE;AACxE,wDAI8B;AAH5B,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AAE1B,8DAIiC;AAH/B,0HAAA,oBAAoB,OAAA;AACpB,4HAAA,sBAAsB,OAAA;AACtB,iIAAA,2BAA2B,OAAA;AAE7B,wDAI8B;AAH5B,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AAE1B,0DAI+B;AAH7B,sHAAA,kBAAkB,OAAA;AAClB,wHAAA,oBAAoB,OAAA;AACpB,6HAAA,yBAAyB,OAAA;AAE3B,wDAAkE;AAAzD,6HAAA,0BAA0B,OAAA;AACnC,oEAAoE;AAA3D,+HAAA,sBAAsB,OAAA;AAC/B,sEAGqC;AAFnC,sIAAA,4BAA4B,OAAA;AAC5B,kIAAA,wBAAwB,OAAA;AAE1B,kEAImC;AAHjC,oIAAA,4BAA4B,OAAA;AAgB9B,2DAA+D;AAAtD,uHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;;;AAE5E,mDAc0B;AAbxB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAWtB,0DAI+B;AAH7B,gHAAA,YAAY,OAAA;AACZ,0HAAA,sBAAsB,OAAA;AACtB,oHAAA,gBAAgB,OAAA;AAElB,+EAA+E;AAC/E,wEAAwE;AACxE,wDAI8B;AAH5B,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AAE1B,8DAIiC;AAH/B,0HAAA,oBAAoB,OAAA;AACpB,4HAAA,sBAAsB,OAAA;AACtB,iIAAA,2BAA2B,OAAA;AAE7B,wDAI8B;AAH5B,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AAE1B,0DAI+B;AAH7B,sHAAA,kBAAkB,OAAA;AAClB,wHAAA,oBAAoB,OAAA;AACpB,6HAAA,yBAAyB,OAAA;AAE3B,wDAI8B;AAH5B,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AAE1B,wDAAkE;AAAzD,6HAAA,0BAA0B,OAAA;AACnC,oEAAoE;AAA3D,+HAAA,sBAAsB,OAAA;AAC/B,sEAGqC;AAFnC,sIAAA,4BAA4B,OAAA;AAC5B,kIAAA,wBAAwB,OAAA;AAE1B,kEAImC;AAHjC,oIAAA,4BAA4B,OAAA;AAgB9B,2DAQiC;AAP/B,uHAAA,oBAAoB,OAAA;AACpB,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA"}
@@ -5,12 +5,20 @@
5
5
  // the caller MUST provide the resolved `connection`. `ioredis` is loaded lazily
6
6
  // via `loadOptionalModule`.
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.executeRedisCommands = void 0;
8
+ exports.executeRedisCommands = exports.parseRedisCommand = exports.REDIS_COMMAND_SPECS = exports.__setRedisDriverForTests = void 0;
9
9
  const node_perf_hooks_1 = require("node:perf_hooks");
10
10
  const lazy_js_1 = require("../lazy.js");
11
11
  const templateResolver_js_1 = require("../db/templateResolver.js");
12
12
  const unwrap = (mod) => (mod && mod.default ? mod.default : mod);
13
+ let redisDriverOverride = null;
14
+ const __setRedisDriverForTests = (driver) => {
15
+ redisDriverOverride = driver;
16
+ };
17
+ exports.__setRedisDriverForTests = __setRedisDriverForTests;
13
18
  const loadRedisDriver = async () => {
19
+ if (redisDriverOverride) {
20
+ return redisDriverOverride;
21
+ }
14
22
  try {
15
23
  const mod = await (0, lazy_js_1.loadOptionalModule)("ioredis");
16
24
  // ioredis exports both `default` and a named `Redis`. Prefer the named
@@ -35,49 +43,248 @@ const tokenizeRedisCommand = (input) => {
35
43
  }
36
44
  return tokens;
37
45
  };
46
+ const integerArgError = (values, message) => values.every((value) => Number.isInteger(Number(value)) && value.trim() !== "")
47
+ ? null
48
+ : message;
49
+ // SCAN is Callman-managed: the cursor loop runs internally with hard caps so
50
+ // a broad pattern on a shared bank Redis cannot walk the whole keyspace.
51
+ const SCAN_MAX_ITERATIONS = 100;
52
+ const SCAN_MAX_KEYS = 1000;
53
+ const runScanLoop = async (client, args) => {
54
+ const pattern = args[0] ?? "*";
55
+ const pageSize = args.length === 2 ? Math.min(Math.max(Math.trunc(Number(args[1])), 1), SCAN_MAX_KEYS) : 100;
56
+ const keys = [];
57
+ let cursor = "0";
58
+ let iterations = 0;
59
+ let truncated = false;
60
+ do {
61
+ const [nextCursor, batch] = (await client.scan(cursor, "MATCH", pattern, "COUNT", pageSize));
62
+ cursor = nextCursor;
63
+ for (const key of batch) {
64
+ if (keys.length >= SCAN_MAX_KEYS) {
65
+ truncated = true;
66
+ break;
67
+ }
68
+ keys.push(key);
69
+ }
70
+ iterations += 1;
71
+ if (truncated) {
72
+ break;
73
+ }
74
+ if (iterations >= SCAN_MAX_ITERATIONS && cursor !== "0") {
75
+ truncated = true;
76
+ break;
77
+ }
78
+ } while (cursor !== "0");
79
+ return { keys, count: keys.length, truncated };
80
+ };
81
+ // One spec per supported command: arity + shape validation and a typed
82
+ // ioredis call, so structured replies (HGETALL → object, LRANGE → array)
83
+ // land in `result` as real values. Args always travel as protocol frames —
84
+ // never re-parsed — so template values cannot inject extra commands.
85
+ exports.REDIS_COMMAND_SPECS = {
86
+ GET: { minArgs: 1, maxArgs: 1, usage: "GET key", execute: (c, [key]) => c.get(key) },
87
+ SET: {
88
+ minArgs: 2,
89
+ maxArgs: null,
90
+ usage: "SET key value",
91
+ // Legacy quirk kept for existing scenarios: everything after the key is
92
+ // joined into ONE value, so `SET k v with spaces` writes "v with spaces".
93
+ execute: async (c, args) => {
94
+ const value = args.slice(1).join(" ");
95
+ await c.set(args[0], value);
96
+ return value;
97
+ },
98
+ },
99
+ DEL: {
100
+ minArgs: 1,
101
+ maxArgs: null,
102
+ usage: "DEL key [key ...]",
103
+ execute: (c, args) => c.del(...args),
104
+ },
105
+ EXISTS: {
106
+ minArgs: 1,
107
+ maxArgs: 1,
108
+ usage: "EXISTS key",
109
+ execute: async (c, [key]) => (await c.exists(key)) > 0,
110
+ },
111
+ TTL: { minArgs: 1, maxArgs: 1, usage: "TTL key", execute: (c, [key]) => c.ttl(key) },
112
+ HGET: {
113
+ minArgs: 2,
114
+ maxArgs: 2,
115
+ usage: "HGET key field",
116
+ execute: (c, [key, field]) => c.hget(key, field),
117
+ },
118
+ HSET: {
119
+ minArgs: 3,
120
+ maxArgs: null,
121
+ usage: "HSET key field value [field value ...]",
122
+ validate: (args) => (args.length - 1) % 2 === 0 ? null : "HSET requires a key followed by field/value pairs",
123
+ execute: (c, args) => c.hset(args[0], ...args.slice(1)),
124
+ },
125
+ HGETALL: {
126
+ minArgs: 1,
127
+ maxArgs: 1,
128
+ usage: "HGETALL key",
129
+ execute: (c, [key]) => c.hgetall(key),
130
+ },
131
+ HDEL: {
132
+ minArgs: 2,
133
+ maxArgs: null,
134
+ usage: "HDEL key field [field ...]",
135
+ execute: (c, args) => c.hdel(args[0], ...args.slice(1)),
136
+ },
137
+ LPUSH: {
138
+ minArgs: 2,
139
+ maxArgs: null,
140
+ usage: "LPUSH key value [value ...]",
141
+ execute: (c, args) => c.lpush(args[0], ...args.slice(1)),
142
+ },
143
+ RPUSH: {
144
+ minArgs: 2,
145
+ maxArgs: null,
146
+ usage: "RPUSH key value [value ...]",
147
+ execute: (c, args) => c.rpush(args[0], ...args.slice(1)),
148
+ },
149
+ LRANGE: {
150
+ minArgs: 3,
151
+ maxArgs: 3,
152
+ usage: "LRANGE key start stop",
153
+ validate: (args) => integerArgError(args.slice(1), "LRANGE start/stop must be integers"),
154
+ execute: (c, [key, start, stop]) => c.lrange(key, Number(start), Number(stop)),
155
+ },
156
+ LLEN: { minArgs: 1, maxArgs: 1, usage: "LLEN key", execute: (c, [key]) => c.llen(key) },
157
+ SADD: {
158
+ minArgs: 2,
159
+ maxArgs: null,
160
+ usage: "SADD key member [member ...]",
161
+ execute: (c, args) => c.sadd(args[0], ...args.slice(1)),
162
+ },
163
+ SMEMBERS: {
164
+ minArgs: 1,
165
+ maxArgs: 1,
166
+ usage: "SMEMBERS key",
167
+ execute: (c, [key]) => c.smembers(key),
168
+ },
169
+ SISMEMBER: {
170
+ minArgs: 2,
171
+ maxArgs: 2,
172
+ usage: "SISMEMBER key member",
173
+ execute: async (c, [key, member]) => (await c.sismember(key, member)) > 0,
174
+ },
175
+ INCR: { minArgs: 1, maxArgs: 1, usage: "INCR key", execute: (c, [key]) => c.incr(key) },
176
+ DECR: { minArgs: 1, maxArgs: 1, usage: "DECR key", execute: (c, [key]) => c.decr(key) },
177
+ INCRBY: {
178
+ minArgs: 2,
179
+ maxArgs: 2,
180
+ usage: "INCRBY key increment",
181
+ validate: (args) => integerArgError([args[1] ?? ""], "INCRBY increment must be an integer"),
182
+ execute: (c, [key, by]) => c.incrby(key, Number(by)),
183
+ },
184
+ EXPIRE: {
185
+ minArgs: 2,
186
+ maxArgs: 2,
187
+ usage: "EXPIRE key seconds",
188
+ validate: (args) => integerArgError([args[1] ?? ""], "EXPIRE seconds must be an integer"),
189
+ execute: async (c, [key, seconds]) => (await c.expire(key, Number(seconds))) === 1,
190
+ },
191
+ PERSIST: {
192
+ minArgs: 1,
193
+ maxArgs: 1,
194
+ usage: "PERSIST key",
195
+ execute: async (c, [key]) => (await c.persist(key)) === 1,
196
+ },
197
+ TYPE: { minArgs: 1, maxArgs: 1, usage: "TYPE key", execute: (c, [key]) => c.type(key) },
198
+ ZADD: {
199
+ minArgs: 3,
200
+ maxArgs: null,
201
+ usage: "ZADD key score member [score member ...]",
202
+ validate: (args) => {
203
+ if ((args.length - 1) % 2 !== 0) {
204
+ return "ZADD requires a key followed by score/member pairs";
205
+ }
206
+ for (let index = 1; index < args.length; index += 2) {
207
+ if (!Number.isFinite(Number(args[index])) || args[index]?.trim() === "") {
208
+ return `ZADD score "${args[index]}" is not a number`;
209
+ }
210
+ }
211
+ return null;
212
+ },
213
+ execute: (c, args) => c.zadd(args[0], ...args.slice(1)),
214
+ },
215
+ ZRANGE: {
216
+ minArgs: 3,
217
+ maxArgs: 4,
218
+ usage: "ZRANGE key start stop [WITHSCORES]",
219
+ validate: (args) => {
220
+ const rangeError = integerArgError([args[1] ?? "", args[2] ?? ""], "ZRANGE start/stop must be integers");
221
+ if (rangeError) {
222
+ return rangeError;
223
+ }
224
+ if (args.length === 4 && args[3]?.toUpperCase() !== "WITHSCORES") {
225
+ return "ZRANGE only supports the WITHSCORES modifier";
226
+ }
227
+ return null;
228
+ },
229
+ execute: (c, args) => args.length === 4
230
+ ? c.zrange(args[0], Number(args[1]), Number(args[2]), "WITHSCORES")
231
+ : c.zrange(args[0], Number(args[1]), Number(args[2])),
232
+ },
233
+ ZSCORE: {
234
+ minArgs: 2,
235
+ maxArgs: 2,
236
+ usage: "ZSCORE key member",
237
+ execute: (c, [key, member]) => c.zscore(key, member),
238
+ },
239
+ SCAN: {
240
+ minArgs: 1,
241
+ maxArgs: 2,
242
+ usage: "SCAN pattern [count]",
243
+ keyless: true,
244
+ validate: (args) => args.length === 2
245
+ ? integerArgError([args[1] ?? ""], "SCAN count must be a positive integer")
246
+ : null,
247
+ execute: runScanLoop,
248
+ },
249
+ };
250
+ const SUPPORTED_COMMAND_LIST = Object.keys(exports.REDIS_COMMAND_SPECS).join(", ");
38
251
  const parseRedisCommand = (command) => {
39
252
  const tokens = tokenizeRedisCommand(command.trim());
40
253
  if (tokens.length === 0) {
41
254
  throw new Error("Redis command cannot be empty");
42
255
  }
43
- const commandName = tokens[0]?.toUpperCase();
44
- if (commandName !== "GET" &&
45
- commandName !== "SET" &&
46
- commandName !== "DEL" &&
47
- commandName !== "EXISTS" &&
48
- commandName !== "TTL") {
49
- throw new Error("Supported Redis commands are GET, SET, DEL, EXISTS, and TTL");
256
+ const rawName = tokens[0] ?? "";
257
+ const commandName = rawName.toUpperCase();
258
+ const spec = exports.REDIS_COMMAND_SPECS[commandName];
259
+ if (!spec) {
260
+ throw new Error(`Unsupported Redis command "${rawName}". Supported commands: ${SUPPORTED_COMMAND_LIST}`);
50
261
  }
51
- const key = tokens[1]?.trim() ?? "";
52
- if (!key) {
53
- throw new Error(`${commandName} requires a key`);
262
+ const args = tokens.slice(1);
263
+ if (args.length < spec.minArgs || (spec.maxArgs !== null && args.length > spec.maxArgs)) {
264
+ throw new Error(`Usage: ${spec.usage}`);
54
265
  }
55
- if (commandName === "SET") {
56
- if (tokens.length < 3) {
57
- throw new Error("SET requires a key and a value");
58
- }
59
- return {
60
- commandName,
61
- key,
62
- args: [tokens.slice(2).join(" ")],
63
- };
64
- }
65
- if (tokens.length > 2) {
66
- throw new Error(`${commandName} accepts only a single key`);
266
+ const validationError = spec.validate?.(args) ?? null;
267
+ if (validationError) {
268
+ throw new Error(validationError);
67
269
  }
68
270
  return {
69
271
  commandName,
70
- key,
71
- args: [],
272
+ key: spec.keyless ? null : (args[0] ?? null),
273
+ args,
72
274
  };
73
275
  };
276
+ exports.parseRedisCommand = parseRedisCommand;
74
277
  const createRedisClient = async (connection) => {
75
278
  const IORedis = await loadRedisDriver();
76
279
  return new IORedis({
77
280
  host: connection.host,
78
281
  port: connection.port,
282
+ username: connection.username,
79
283
  password: connection.password,
80
284
  db: connection.dbIndex,
285
+ // `ssl` must reach the socket — a TLS-only Redis otherwise accepts the
286
+ // validator's probe (which honors tls) but fails at scenario runtime.
287
+ tls: connection.ssl ? {} : undefined,
81
288
  lazyConnect: true,
82
289
  enableOfflineQueue: false,
83
290
  maxRetriesPerRequest: 1,
@@ -116,21 +323,7 @@ const normalizeRedisResultValue = (value) => {
116
323
  }
117
324
  return String(value);
118
325
  };
119
- const executeParsedCommand = async (client, parsedCommand) => {
120
- switch (parsedCommand.commandName) {
121
- case "GET":
122
- return await client.get(parsedCommand.key);
123
- case "SET":
124
- await client.set(parsedCommand.key, parsedCommand.args[0] ?? "");
125
- return parsedCommand.args[0] ?? "";
126
- case "DEL":
127
- return await client.del(parsedCommand.key);
128
- case "EXISTS":
129
- return (await client.exists(parsedCommand.key)) > 0;
130
- case "TTL":
131
- return await client.ttl(parsedCommand.key);
132
- }
133
- };
326
+ const executeParsedCommand = async (client, parsedCommand) => exports.REDIS_COMMAND_SPECS[parsedCommand.commandName].execute(client, parsedCommand.args);
134
327
  const buildFailureResult = ({ connectionId, connectionName, command, resolvedCommand, phase, error, startedAt, commandName = "", key = null, }) => ({
135
328
  success: false,
136
329
  phase,
@@ -149,7 +342,7 @@ const buildFailureResult = ({ connectionId, connectionName, command, resolvedCom
149
342
  const executeResolvedCommand = async ({ client, connection, command, resolvedCommand, phase, }) => {
150
343
  const startedAt = node_perf_hooks_1.performance.now();
151
344
  try {
152
- const parsedCommand = parseRedisCommand(resolvedCommand);
345
+ const parsedCommand = (0, exports.parseRedisCommand)(resolvedCommand);
153
346
  const rawResult = await executeParsedCommand(client, parsedCommand);
154
347
  const normalizedResult = normalizeRedisResultValue(rawResult);
155
348
  return {
@@ -171,7 +364,7 @@ const executeResolvedCommand = async ({ client, connection, command, resolvedCom
171
364
  let commandName = "";
172
365
  let key = null;
173
366
  try {
174
- const parsedCommand = parseRedisCommand(resolvedCommand);
367
+ const parsedCommand = (0, exports.parseRedisCommand)(resolvedCommand);
175
368
  commandName = parsedCommand.commandName;
176
369
  key = parsedCommand.key;
177
370
  }
@@ -222,10 +415,12 @@ const normalizeConnectionInput = (input) => ({
222
415
  type: "redis",
223
416
  host: input.host.trim(),
224
417
  port: Number(input.port),
418
+ username: input.username?.trim() ? input.username.trim() : undefined,
225
419
  password: input.password?.trim() ? input.password : undefined,
226
420
  dbIndex: typeof input.dbIndex === "number" && Number.isFinite(input.dbIndex) && input.dbIndex >= 0
227
421
  ? Math.trunc(input.dbIndex)
228
422
  : undefined,
423
+ ssl: input.ssl === true ? true : undefined,
229
424
  });
230
425
  const executeRedisCommands = async ({ connectionId, connection: connectionInput, commands, phase, context, }) => {
231
426
  const normalizedCommands = commands.map((command) => command.trim()).filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"redisService.js","sourceRoot":"","sources":["../../../src/host/redis/redisService.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,4BAA4B;;;AAE5B,qDAA8C;AAE9C,wCAAgD;AAChD,mEAA4D;AAS5D,MAAM,MAAM,GAAG,CAAC,GAAQ,EAAO,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE3E,MAAM,eAAe,GAAG,KAAK,IAAkB,EAAE;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAkB,EAAC,SAAS,CAAC,CAAC;QAChD,uEAAuE;QACvE,+BAA+B;QAC/B,OAAO,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAUF,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAE7E,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAY,EAAE;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QACnD,MAAM,KAAK,GAAG,YAAY,IAAI,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC;QAEzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAsB,EAAE;IAChE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAA2B,CAAC;IAEtE,IACE,WAAW,KAAK,KAAK;QACrB,WAAW,KAAK,KAAK;QACrB,WAAW,KAAK,KAAK;QACrB,WAAW,KAAK,QAAQ;QACxB,WAAW,KAAK,KAAK,EACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO;YACL,WAAW;YACX,GAAG;YACH,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,4BAA4B,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,WAAW;QACX,GAAG;QACH,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAA2B,EAAgB,EAAE;IAC5E,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,EAAE,EAAE,UAAU,CAAC,OAAO;QACtB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,KAAK;QACzB,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAU,EAAE;IACtD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACrE,GAAG;YACH,yBAAyB,CAAC,KAAK,CAAC;SACjC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,MAAW,EACX,aAAiC,EACf,EAAE;IACpB,QAAQ,aAAa,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,KAAK;YACR,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7C,KAAK,KAAK;YACR,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,KAAK,KAAK;YACR,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,YAAY,EACZ,cAAc,EACd,OAAO,EACP,eAAe,EACf,KAAK,EACL,KAAK,EACL,SAAS,EACT,WAAW,GAAG,EAAE,EAChB,GAAG,GAAG,IAAI,GAWX,EAA+B,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,KAAK;IACd,KAAK;IACL,YAAY;IACZ,cAAc;IACd,OAAO;IACP,eAAe;IACf,WAAW;IACX,GAAG;IACH,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,6BAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,KAAK,EAAE,EACpC,MAAM,EACN,UAAU,EACV,OAAO,EACP,eAAe,EACf,KAAK,GAON,EAAwC,EAAE;IACzC,MAAM,SAAS,GAAG,6BAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK;YACL,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,OAAO;YACP,eAAe;YACf,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,GAAG,EAAE,aAAa,CAAC,GAAG;YACtB,MAAM,EAAE,gBAAgB;YACxB,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;YAClD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,6BAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;YACzD,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YACxC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,OAAO,kBAAkB,CAAC;YACxB,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,OAAO;YACP,eAAe;YACf,KAAK;YACL,KAAK;YACL,SAAS;YACT,WAAW;YACX,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,EACnC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,OAAO,GAMR,EAA0C,EAAE;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAkC,EAAE,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG,IAAA,qCAAe,EAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;gBAC1C,MAAM;gBACN,UAAU;gBACV,OAAO;gBACP,eAAe;gBACf,KAAK;aACN,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,KAA2B,EAAmB,EAAE,CAAC,CAAC;IAClF,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,oBAAoB;IAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACvB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACvB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;IAC7D,OAAO,EACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC;QACvF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,SAAS;CAChB,CAAC,CAAC;AAEI,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,YAAY,EACZ,UAAU,EAAE,eAAe,EAC3B,QAAQ,EACR,KAAK,EACL,OAAO,GASR,EAA0C,EAAE;IAC3C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,kBAAkB,CAAC;YACjB,YAAY;YACZ,cAAc,EAAE,EAAE;YAClB,OAAO;YACP,eAAe,EAAE,OAAO;YACxB,KAAK;YACL,KAAK,EAAE,4BAA4B;YACnC,SAAS,EAAE,6BAAW,CAAC,GAAG,EAAE;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,qBAAqB,CAAC;YACjC,UAAU;YACV,QAAQ,EAAE,kBAAkB;YAC5B,KAAK;YACL,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,kBAAkB,CAAC;YACjB,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,OAAO;YACP,eAAe,EAAE,IAAA,qCAAe,EAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACxD,KAAK;YACL,KAAK;YACL,SAAS,EAAE,6BAAW,CAAC,GAAG,EAAE;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B"}
1
+ {"version":3,"file":"redisService.js","sourceRoot":"","sources":["../../../src/host/redis/redisService.ts"],"names":[],"mappings":"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"}