motia 0.17.9-beta.192-406008 → 0.17.9-beta.192-882489

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.
@@ -1,5 +1,6 @@
1
1
  import { internalLogger } from "../utils/internal-logger.mjs";
2
2
  import { ensureBuildTools } from "../utils/check-build-tools.mjs";
3
+ import { ProgressInterceptor } from "./progress-interceptor.mjs";
3
4
  import { mkdirSync } from "fs";
4
5
  import { RedisMemoryServer } from "redis-memory-server";
5
6
 
@@ -9,6 +10,7 @@ var RedisMemoryManager = class {
9
10
  this.server = null;
10
11
  this.client = null;
11
12
  this.running = false;
13
+ this.progressInterceptor = new ProgressInterceptor();
12
14
  }
13
15
  registerCleanupHandlers() {
14
16
  process.on("exit", async () => {
@@ -50,8 +52,12 @@ var RedisMemoryManager = class {
50
52
  throw error;
51
53
  }
52
54
  try {
53
- const host = await this.server.getHost();
54
- const port = await this.server.getPort();
55
+ const { host, port } = await this.progressInterceptor.wrap(async () => {
56
+ return {
57
+ host: await this.server.getHost(),
58
+ port: await this.server.getPort()
59
+ };
60
+ });
55
61
  this.running = true;
56
62
  internalLogger.info("Redis Memory Server started", `${host}:${port}`);
57
63
  return {
@@ -59,6 +65,7 @@ var RedisMemoryManager = class {
59
65
  port
60
66
  };
61
67
  } catch (error) {
68
+ this.progressInterceptor.stop();
62
69
  internalLogger.error("Failed to start Redis Memory Server");
63
70
  if (error instanceof Error) {
64
71
  console.error(error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"memory-manager.mjs","names":["instance: RedisMemoryInstancePropT","error: unknown"],"sources":["../../src/redis/memory-manager.ts"],"sourcesContent":["import { mkdirSync } from 'fs'\nimport type { RedisClientType } from 'redis'\nimport { RedisMemoryServer } from 'redis-memory-server'\nimport type { RedisMemoryInstancePropT } from 'redis-memory-server/lib/types'\nimport { ensureBuildTools } from '../utils/check-build-tools'\nimport { internalLogger } from '../utils/internal-logger'\nimport type { RedisConnectionInfo } from './types'\n\nexport class RedisMemoryManager {\n private server: RedisMemoryServer | null = null\n private client: RedisClientType | null = null\n private running = false\n\n private registerCleanupHandlers(): void {\n process.on('exit', async () => {\n await this.stop()\n })\n process.on('SIGTERM', async () => {\n await this.stop()\n })\n\n process.on('SIGINT', async () => {\n await this.stop()\n })\n }\n\n async startServer(baseDir: string): Promise<RedisConnectionInfo> {\n if (!this.server) {\n try {\n // Check for required build tools before attempting to start\n await ensureBuildTools()\n\n mkdirSync(baseDir, { recursive: true })\n\n const instance: RedisMemoryInstancePropT = {\n args: ['--appendonly', 'yes', '--appendfsync', 'everysec', '--save', '\"\"', '--dir', baseDir],\n }\n\n if (process.env.MOTIA_REDIS_PORT) {\n instance.port = parseInt(process.env.MOTIA_REDIS_PORT || '6379')\n }\n\n this.server = new RedisMemoryServer({ instance })\n this.registerCleanupHandlers()\n } catch (error) {\n internalLogger.error('Failed to initialize Redis Memory Server')\n if (error instanceof Error) {\n console.error(error.message)\n if (process.env.LOG_LEVEL === 'debug' && error.stack) {\n console.error('\\nStack trace:')\n console.error(error.stack)\n }\n }\n throw error\n }\n }\n\n try {\n const host = await this.server.getHost()\n const port = await this.server.getPort()\n\n this.running = true\n internalLogger.info('Redis Memory Server started', `${host}:${port}`)\n\n return { host, port }\n } catch (error) {\n internalLogger.error('Failed to start Redis Memory Server')\n\n if (error instanceof Error) {\n console.error(error.message)\n\n // Provide helpful suggestions based on common error patterns\n if (error.message.includes('make') || error.message.includes('compile')) {\n console.error('\\nThis error typically occurs when build tools are missing.')\n console.error('Please ensure you have \"make\" and a C compiler installed.')\n }\n\n if (process.env.LOG_LEVEL === 'debug' && error.stack) {\n console.error('\\nStack trace:')\n console.error(error.stack)\n }\n }\n\n console.error('\\nAlternative: Use an external Redis server')\n console.error(' Set MOTIA_DISABLE_MEMORY_SERVER=true')\n console.error(' Set MOTIA_REDIS_HOST=<your-redis-host>')\n console.error(' Set MOTIA_REDIS_PORT=<your-redis-port> (default: 6379)')\n\n throw error\n }\n }\n\n async stop(): Promise<void> {\n if (this.server && this.running) {\n try {\n await this.server.stop()\n } catch (error: unknown) {\n internalLogger.error('Error stopping Redis Memory Server', (error as Error)?.message)\n } finally {\n this.running = false\n this.server = null\n }\n }\n }\n\n isRunning(): boolean {\n return this.running\n }\n\n getClient(): RedisClientType | null {\n return this.client\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,qBAAb,MAAgC;;gBACa;gBACF;iBACvB;;CAElB,AAAQ,0BAAgC;AACtC,UAAQ,GAAG,QAAQ,YAAY;AAC7B,SAAM,KAAK,MAAM;IACjB;AACF,UAAQ,GAAG,WAAW,YAAY;AAChC,SAAM,KAAK,MAAM;IACjB;AAEF,UAAQ,GAAG,UAAU,YAAY;AAC/B,SAAM,KAAK,MAAM;IACjB;;CAGJ,MAAM,YAAY,SAA+C;AAC/D,MAAI,CAAC,KAAK,OACR,KAAI;AAEF,SAAM,kBAAkB;AAExB,aAAU,SAAS,EAAE,WAAW,MAAM,CAAC;GAEvC,MAAMA,WAAqC,EACzC,MAAM;IAAC;IAAgB;IAAO;IAAiB;IAAY;IAAU;IAAM;IAAS;IAAQ,EAC7F;AAED,OAAI,QAAQ,IAAI,iBACd,UAAS,OAAO,SAAS,QAAQ,IAAI,oBAAoB,OAAO;AAGlE,QAAK,SAAS,IAAI,kBAAkB,EAAE,UAAU,CAAC;AACjD,QAAK,yBAAyB;WACvB,OAAO;AACd,kBAAe,MAAM,2CAA2C;AAChE,OAAI,iBAAiB,OAAO;AAC1B,YAAQ,MAAM,MAAM,QAAQ;AAC5B,QAAI,QAAQ,IAAI,cAAc,WAAW,MAAM,OAAO;AACpD,aAAQ,MAAM,iBAAiB;AAC/B,aAAQ,MAAM,MAAM,MAAM;;;AAG9B,SAAM;;AAIV,MAAI;GACF,MAAM,OAAO,MAAM,KAAK,OAAO,SAAS;GACxC,MAAM,OAAO,MAAM,KAAK,OAAO,SAAS;AAExC,QAAK,UAAU;AACf,kBAAe,KAAK,+BAA+B,GAAG,KAAK,GAAG,OAAO;AAErE,UAAO;IAAE;IAAM;IAAM;WACd,OAAO;AACd,kBAAe,MAAM,sCAAsC;AAE3D,OAAI,iBAAiB,OAAO;AAC1B,YAAQ,MAAM,MAAM,QAAQ;AAG5B,QAAI,MAAM,QAAQ,SAAS,OAAO,IAAI,MAAM,QAAQ,SAAS,UAAU,EAAE;AACvE,aAAQ,MAAM,8DAA8D;AAC5E,aAAQ,MAAM,8DAA4D;;AAG5E,QAAI,QAAQ,IAAI,cAAc,WAAW,MAAM,OAAO;AACpD,aAAQ,MAAM,iBAAiB;AAC/B,aAAQ,MAAM,MAAM,MAAM;;;AAI9B,WAAQ,MAAM,8CAA8C;AAC5D,WAAQ,MAAM,yCAAyC;AACvD,WAAQ,MAAM,2CAA2C;AACzD,WAAQ,MAAM,2DAA2D;AAEzE,SAAM;;;CAIV,MAAM,OAAsB;AAC1B,MAAI,KAAK,UAAU,KAAK,QACtB,KAAI;AACF,SAAM,KAAK,OAAO,MAAM;WACjBC,OAAgB;AACvB,kBAAe,MAAM,sCAAuC,OAAiB,QAAQ;YAC7E;AACR,QAAK,UAAU;AACf,QAAK,SAAS;;;CAKpB,YAAqB;AACnB,SAAO,KAAK;;CAGd,YAAoC;AAClC,SAAO,KAAK"}
1
+ {"version":3,"file":"memory-manager.mjs","names":["instance: RedisMemoryInstancePropT","error: unknown"],"sources":["../../src/redis/memory-manager.ts"],"sourcesContent":["import { mkdirSync } from 'fs'\nimport type { RedisClientType } from 'redis'\nimport { RedisMemoryServer } from 'redis-memory-server'\nimport type { RedisMemoryInstancePropT } from 'redis-memory-server/lib/types'\nimport { ensureBuildTools } from '../utils/check-build-tools'\nimport { internalLogger } from '../utils/internal-logger'\nimport { ProgressInterceptor } from './progress-interceptor'\nimport type { RedisConnectionInfo } from './types'\n\nexport class RedisMemoryManager {\n private server: RedisMemoryServer | null = null\n private client: RedisClientType | null = null\n private running = false\n private progressInterceptor = new ProgressInterceptor()\n\n private registerCleanupHandlers(): void {\n process.on('exit', async () => {\n await this.stop()\n })\n process.on('SIGTERM', async () => {\n await this.stop()\n })\n\n process.on('SIGINT', async () => {\n await this.stop()\n })\n }\n\n async startServer(baseDir: string): Promise<RedisConnectionInfo> {\n if (!this.server) {\n try {\n // Check for required build tools before attempting to start\n await ensureBuildTools()\n\n mkdirSync(baseDir, { recursive: true })\n\n const instance: RedisMemoryInstancePropT = {\n args: ['--appendonly', 'yes', '--appendfsync', 'everysec', '--save', '\"\"', '--dir', baseDir],\n }\n\n if (process.env.MOTIA_REDIS_PORT) {\n instance.port = parseInt(process.env.MOTIA_REDIS_PORT || '6379')\n }\n\n this.server = new RedisMemoryServer({ instance })\n this.registerCleanupHandlers()\n } catch (error) {\n internalLogger.error('Failed to initialize Redis Memory Server')\n if (error instanceof Error) {\n console.error(error.message)\n if (process.env.LOG_LEVEL === 'debug' && error.stack) {\n console.error('\\nStack trace:')\n console.error(error.stack)\n }\n }\n throw error\n }\n }\n\n try {\n // Wrap the server startup with progress interception\n // The download happens during getHost/getPort calls\n const { host, port } = await this.progressInterceptor.wrap(async () => {\n const host = await this.server!.getHost()\n const port = await this.server!.getPort()\n return { host, port }\n })\n\n this.running = true\n internalLogger.info('Redis Memory Server started', `${host}:${port}`)\n\n return { host, port }\n } catch (error) {\n this.progressInterceptor.stop() // Ensure interceptor is stopped on error\n internalLogger.error('Failed to start Redis Memory Server')\n\n if (error instanceof Error) {\n console.error(error.message)\n\n // Provide helpful suggestions based on common error patterns\n if (error.message.includes('make') || error.message.includes('compile')) {\n console.error('\\nThis error typically occurs when build tools are missing.')\n console.error('Please ensure you have \"make\" and a C compiler installed.')\n }\n\n if (process.env.LOG_LEVEL === 'debug' && error.stack) {\n console.error('\\nStack trace:')\n console.error(error.stack)\n }\n }\n\n console.error('\\nAlternative: Use an external Redis server')\n console.error(' Set MOTIA_DISABLE_MEMORY_SERVER=true')\n console.error(' Set MOTIA_REDIS_HOST=<your-redis-host>')\n console.error(' Set MOTIA_REDIS_PORT=<your-redis-port> (default: 6379)')\n\n throw error\n }\n }\n\n async stop(): Promise<void> {\n if (this.server && this.running) {\n try {\n await this.server.stop()\n } catch (error: unknown) {\n internalLogger.error('Error stopping Redis Memory Server', (error as Error)?.message)\n } finally {\n this.running = false\n this.server = null\n }\n }\n }\n\n isRunning(): boolean {\n return this.running\n }\n\n getClient(): RedisClientType | null {\n return this.client\n }\n}\n"],"mappings":";;;;;;;AASA,IAAa,qBAAb,MAAgC;;gBACa;gBACF;iBACvB;6BACY,IAAI,qBAAqB;;CAEvD,AAAQ,0BAAgC;AACtC,UAAQ,GAAG,QAAQ,YAAY;AAC7B,SAAM,KAAK,MAAM;IACjB;AACF,UAAQ,GAAG,WAAW,YAAY;AAChC,SAAM,KAAK,MAAM;IACjB;AAEF,UAAQ,GAAG,UAAU,YAAY;AAC/B,SAAM,KAAK,MAAM;IACjB;;CAGJ,MAAM,YAAY,SAA+C;AAC/D,MAAI,CAAC,KAAK,OACR,KAAI;AAEF,SAAM,kBAAkB;AAExB,aAAU,SAAS,EAAE,WAAW,MAAM,CAAC;GAEvC,MAAMA,WAAqC,EACzC,MAAM;IAAC;IAAgB;IAAO;IAAiB;IAAY;IAAU;IAAM;IAAS;IAAQ,EAC7F;AAED,OAAI,QAAQ,IAAI,iBACd,UAAS,OAAO,SAAS,QAAQ,IAAI,oBAAoB,OAAO;AAGlE,QAAK,SAAS,IAAI,kBAAkB,EAAE,UAAU,CAAC;AACjD,QAAK,yBAAyB;WACvB,OAAO;AACd,kBAAe,MAAM,2CAA2C;AAChE,OAAI,iBAAiB,OAAO;AAC1B,YAAQ,MAAM,MAAM,QAAQ;AAC5B,QAAI,QAAQ,IAAI,cAAc,WAAW,MAAM,OAAO;AACpD,aAAQ,MAAM,iBAAiB;AAC/B,aAAQ,MAAM,MAAM,MAAM;;;AAG9B,SAAM;;AAIV,MAAI;GAGF,MAAM,EAAE,MAAM,SAAS,MAAM,KAAK,oBAAoB,KAAK,YAAY;AAGrE,WAAO;KAAE,MAFI,MAAM,KAAK,OAAQ,SAAS;KAE1B,MADF,MAAM,KAAK,OAAQ,SAAS;KACpB;KACrB;AAEF,QAAK,UAAU;AACf,kBAAe,KAAK,+BAA+B,GAAG,KAAK,GAAG,OAAO;AAErE,UAAO;IAAE;IAAM;IAAM;WACd,OAAO;AACd,QAAK,oBAAoB,MAAM;AAC/B,kBAAe,MAAM,sCAAsC;AAE3D,OAAI,iBAAiB,OAAO;AAC1B,YAAQ,MAAM,MAAM,QAAQ;AAG5B,QAAI,MAAM,QAAQ,SAAS,OAAO,IAAI,MAAM,QAAQ,SAAS,UAAU,EAAE;AACvE,aAAQ,MAAM,8DAA8D;AAC5E,aAAQ,MAAM,8DAA4D;;AAG5E,QAAI,QAAQ,IAAI,cAAc,WAAW,MAAM,OAAO;AACpD,aAAQ,MAAM,iBAAiB;AAC/B,aAAQ,MAAM,MAAM,MAAM;;;AAI9B,WAAQ,MAAM,8CAA8C;AAC5D,WAAQ,MAAM,yCAAyC;AACvD,WAAQ,MAAM,2CAA2C;AACzD,WAAQ,MAAM,2DAA2D;AAEzE,SAAM;;;CAIV,MAAM,OAAsB;AAC1B,MAAI,KAAK,UAAU,KAAK,QACtB,KAAI;AACF,SAAM,KAAK,OAAO,MAAM;WACjBC,OAAgB;AACvB,kBAAe,MAAM,sCAAuC,OAAiB,QAAQ;YAC7E;AACR,QAAK,UAAU;AACf,QAAK,SAAS;;;CAKpB,YAAqB;AACnB,SAAO,KAAK;;CAGd,YAAoC;AAClC,SAAO,KAAK"}
@@ -0,0 +1,65 @@
1
+ import { internalLogger } from "../utils/internal-logger.mjs";
2
+
3
+ //#region src/redis/progress-interceptor.ts
4
+ /**
5
+ * Intercepts stdout during Redis download to reformat progress messages
6
+ * The redis-memory-server library uses carriage returns (\r) for in-place updates,
7
+ * which don't render properly in all terminals (especially WSL).
8
+ * This interceptor converts those updates to line-by-line progress.
9
+ */
10
+ var ProgressInterceptor = class {
11
+ constructor() {
12
+ this.lastReportedPercent = -1;
13
+ this.isActive = false;
14
+ this.progressPattern = /Downloading Redis[^:]*:\s*([\d.]+)\s*%/;
15
+ this.originalStdoutWrite = process.stdout.write.bind(process.stdout);
16
+ }
17
+ /**
18
+ * Start intercepting stdout to reformat progress messages
19
+ */
20
+ start() {
21
+ if (this.isActive) return;
22
+ this.isActive = true;
23
+ this.lastReportedPercent = -1;
24
+ internalLogger.info("Downloading Redis binary (this may take a few minutes)...");
25
+ process.stdout.write = ((chunk, encodingOrCallback, callback) => {
26
+ const match = (typeof chunk === "string" ? chunk : chunk.toString()).match(this.progressPattern);
27
+ if (match) {
28
+ const percent = Math.floor(parseFloat(match[1]));
29
+ const milestone = Math.floor(percent / 25) * 25;
30
+ if (milestone > this.lastReportedPercent) {
31
+ this.lastReportedPercent = milestone;
32
+ console.log(` Progress: ${milestone}%`);
33
+ }
34
+ return true;
35
+ }
36
+ if (typeof encodingOrCallback === "function") return this.originalStdoutWrite(chunk, encodingOrCallback);
37
+ return this.originalStdoutWrite(chunk, encodingOrCallback, callback);
38
+ });
39
+ }
40
+ /**
41
+ * Stop intercepting and restore original stdout
42
+ */
43
+ stop() {
44
+ if (!this.isActive) return;
45
+ this.isActive = false;
46
+ process.stdout.write = this.originalStdoutWrite;
47
+ if (this.lastReportedPercent >= 0 && this.lastReportedPercent < 100) console.log(" Progress: 100%");
48
+ internalLogger.info("Redis binary download complete");
49
+ }
50
+ /**
51
+ * Execute an async function with progress interception
52
+ */
53
+ async wrap(fn) {
54
+ this.start();
55
+ try {
56
+ return await fn();
57
+ } finally {
58
+ this.stop();
59
+ }
60
+ }
61
+ };
62
+
63
+ //#endregion
64
+ export { ProgressInterceptor };
65
+ //# sourceMappingURL=progress-interceptor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-interceptor.mjs","names":[],"sources":["../../src/redis/progress-interceptor.ts"],"sourcesContent":["import { internalLogger } from '../utils/internal-logger'\n\n/**\n * Intercepts stdout during Redis download to reformat progress messages\n * The redis-memory-server library uses carriage returns (\\r) for in-place updates,\n * which don't render properly in all terminals (especially WSL).\n * This interceptor converts those updates to line-by-line progress.\n */\nexport class ProgressInterceptor {\n private originalStdoutWrite: typeof process.stdout.write\n private lastReportedPercent = -1\n private isActive = false\n private progressPattern = /Downloading Redis[^:]*:\\s*([\\d.]+)\\s*%/\n\n constructor() {\n this.originalStdoutWrite = process.stdout.write.bind(process.stdout)\n }\n\n /**\n * Start intercepting stdout to reformat progress messages\n */\n start(): void {\n if (this.isActive) return\n this.isActive = true\n this.lastReportedPercent = -1\n\n internalLogger.info('Downloading Redis binary (this may take a few minutes)...')\n\n // Override stdout.write to intercept progress messages\n process.stdout.write = ((\n chunk: string | Uint8Array,\n encodingOrCallback?: BufferEncoding | ((err?: Error) => void),\n callback?: (err?: Error) => void\n ): boolean => {\n const text = typeof chunk === 'string' ? chunk : chunk.toString()\n\n // Check if this is a Redis download progress message\n const match = text.match(this.progressPattern)\n if (match) {\n const percent = Math.floor(parseFloat(match[1]))\n\n // Report at 0%, 25%, 50%, 75%, and 100%\n const milestone = Math.floor(percent / 25) * 25\n if (milestone > this.lastReportedPercent) {\n this.lastReportedPercent = milestone\n // Use console.log for clean line-by-line output\n console.log(` Progress: ${milestone}%`)\n }\n\n // Suppress the original output (which has \\r issues)\n return true\n }\n\n // Pass through all other output\n if (typeof encodingOrCallback === 'function') {\n return this.originalStdoutWrite(chunk, encodingOrCallback)\n }\n return this.originalStdoutWrite(chunk, encodingOrCallback, callback)\n }) as typeof process.stdout.write\n }\n\n /**\n * Stop intercepting and restore original stdout\n */\n stop(): void {\n if (!this.isActive) return\n this.isActive = false\n process.stdout.write = this.originalStdoutWrite\n\n if (this.lastReportedPercent >= 0 && this.lastReportedPercent < 100) {\n console.log(' Progress: 100%')\n }\n internalLogger.info('Redis binary download complete')\n }\n\n /**\n * Execute an async function with progress interception\n */\n async wrap<T>(fn: () => Promise<T>): Promise<T> {\n this.start()\n try {\n return await fn()\n } finally {\n this.stop()\n }\n }\n}\n\n"],"mappings":";;;;;;;;;AAQA,IAAa,sBAAb,MAAiC;CAM/B,cAAc;6BAJgB;kBACX;yBACO;AAGxB,OAAK,sBAAsB,QAAQ,OAAO,MAAM,KAAK,QAAQ,OAAO;;;;;CAMtE,QAAc;AACZ,MAAI,KAAK,SAAU;AACnB,OAAK,WAAW;AAChB,OAAK,sBAAsB;AAE3B,iBAAe,KAAK,4DAA4D;AAGhF,UAAQ,OAAO,UACb,OACA,oBACA,aACY;GAIZ,MAAM,SAHO,OAAO,UAAU,WAAW,QAAQ,MAAM,UAAU,EAG9C,MAAM,KAAK,gBAAgB;AAC9C,OAAI,OAAO;IACT,MAAM,UAAU,KAAK,MAAM,WAAW,MAAM,GAAG,CAAC;IAGhD,MAAM,YAAY,KAAK,MAAM,UAAU,GAAG,GAAG;AAC7C,QAAI,YAAY,KAAK,qBAAqB;AACxC,UAAK,sBAAsB;AAE3B,aAAQ,IAAI,eAAe,UAAU,GAAG;;AAI1C,WAAO;;AAIT,OAAI,OAAO,uBAAuB,WAChC,QAAO,KAAK,oBAAoB,OAAO,mBAAmB;AAE5D,UAAO,KAAK,oBAAoB,OAAO,oBAAoB,SAAS;;;;;;CAOxE,OAAa;AACX,MAAI,CAAC,KAAK,SAAU;AACpB,OAAK,WAAW;AAChB,UAAQ,OAAO,QAAQ,KAAK;AAE5B,MAAI,KAAK,uBAAuB,KAAK,KAAK,sBAAsB,IAC9D,SAAQ,IAAI,mBAAmB;AAEjC,iBAAe,KAAK,iCAAiC;;;;;CAMvD,MAAM,KAAQ,IAAkC;AAC9C,OAAK,OAAO;AACZ,MAAI;AACF,UAAO,MAAM,IAAI;YACT;AACR,QAAK,MAAM"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "motia",
3
3
  "description": "Build production-grade backends with a single primitive. APIs, background jobs, Queues, Workflows, and AI agents - unified in one system with built-in State management, Streaming, and Observability.",
4
- "version": "0.17.9-beta.192-406008",
4
+ "version": "0.17.9-beta.192-882489",
5
5
  "license": "Elastic-2.0",
6
6
  "type": "module",
7
7
  "repository": {
@@ -46,13 +46,13 @@
46
46
  "table": "^6.9.0",
47
47
  "ts-node": "^10.9.2",
48
48
  "zod": "^4.1.13",
49
- "@motiadev/adapter-bullmq-events": "0.17.9-beta.192-406008",
50
- "@motiadev/adapter-redis-cron": "0.17.9-beta.192-406008",
51
- "@motiadev/adapter-redis-streams": "0.17.9-beta.192-406008",
52
- "@motiadev/core": "0.17.9-beta.192-406008",
53
- "@motiadev/stream-client-node": "0.17.9-beta.192-406008",
54
- "@motiadev/adapter-redis-state": "0.17.9-beta.192-406008",
55
- "@motiadev/workbench": "0.17.9-beta.192-406008"
49
+ "@motiadev/adapter-redis-cron": "0.17.9-beta.192-882489",
50
+ "@motiadev/adapter-redis-state": "0.17.9-beta.192-882489",
51
+ "@motiadev/adapter-bullmq-events": "0.17.9-beta.192-882489",
52
+ "@motiadev/adapter-redis-streams": "0.17.9-beta.192-882489",
53
+ "@motiadev/stream-client-node": "0.17.9-beta.192-882489",
54
+ "@motiadev/core": "0.17.9-beta.192-882489",
55
+ "@motiadev/workbench": "0.17.9-beta.192-882489"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@amplitude/analytics-types": "^2.9.2",