@motiadev/core 0.13.2-beta.164-562802 → 0.13.2-beta.164-110989

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.
@@ -196,11 +196,13 @@ const createServer = (lockedData, state, config, adapters, configureApp) => {
196
196
  stepName
197
197
  });
198
198
  logger.debug("[API] Received request, processing step", { path: req.path });
199
+ const rawBody = req.rawBody || "";
199
200
  const data = {
200
201
  body: req.body,
201
202
  headers: req.headers,
202
203
  pathParams: req.params,
203
- queryParams: req.query
204
+ queryParams: req.query,
205
+ rawBody
204
206
  };
205
207
  try {
206
208
  let result;
@@ -252,10 +254,28 @@ const createServer = (lockedData, state, config, adapters, configureApp) => {
252
254
  }
253
255
  };
254
256
  };
255
- app.use(bodyParser.json({ limit: "1gb" }));
257
+ app.use((req, _, next) => {
258
+ req.rawBody = "";
259
+ next();
260
+ });
261
+ app.use(bodyParser.json({
262
+ limit: "1gb",
263
+ verify: (req, _, buf, encoding) => {
264
+ req.rawBody = buf.toString(encoding || "utf8");
265
+ }
266
+ }));
256
267
  app.use(bodyParser.urlencoded({
257
268
  extended: true,
258
- limit: "1gb"
269
+ limit: "1gb",
270
+ verify: (req, _, buf, encoding) => {
271
+ req.rawBody = buf.toString(encoding || "utf8");
272
+ }
273
+ }));
274
+ app.use(bodyParser.text({
275
+ limit: "1gb",
276
+ verify: (req, _, buf, encoding) => {
277
+ req.rawBody = buf.toString(encoding || "utf8");
278
+ }
259
279
  }));
260
280
  const router = express.Router();
261
281
  const addRoute = (step) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","names":["accessContext: StreamSubscription","motia: Motia","data: ApiRequest","result: ApiResponse | undefined"],"sources":["../../src/server.ts"],"sourcesContent":["import bodyParser from 'body-parser'\nimport express, { type Express, type Request, type Response } from 'express'\nimport http from 'http'\nimport type { Server as WsServer } from 'ws'\nimport type { CronAdapter } from './adapters/interfaces/cron-adapter.interface'\nimport type { EventAdapter } from './adapters/interfaces/event-adapter.interface'\nimport type { StateAdapter } from './adapters/interfaces/state-adapter.interface'\nimport type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface'\nimport { trackEvent } from './analytics/utils'\nimport { callStepFile } from './call-step-file'\nimport { type CronManager, setupCronHandlers } from './cron-handler'\nimport { analyticsEndpoint } from './endpoints/analytics-endpoint'\nimport { flowsConfigEndpoint } from './endpoints/flows-config-endpoint'\nimport { flowsEndpoint } from './endpoints/flows-endpoint'\nimport { stepEndpoint } from './endpoints/step-endpoint'\nimport { generateTraceId } from './generate-trace-id'\nimport { isApiStep } from './guards'\nimport type { LockedData } from './locked-data'\nimport { globalLogger } from './logger'\nimport { BaseLoggerFactory } from './logger-factory'\nimport type { Motia } from './motia'\nimport type { Tracer } from './observability'\nimport { createTracerFactory } from './observability/tracer'\nimport { Printer } from './printer'\nimport { runStreamCanAccess } from './run-stream-can-access'\nimport { createSocketServer } from './socket-server'\nimport { createStepHandlers, type MotiaEventManager } from './step-handlers'\nimport { systemSteps } from './steps'\nimport { type Log, RedisLogsStream } from './streams/redis-logs-stream'\nimport type { ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteMethod, EmitData, Step } from './types'\nimport type {\n BaseStreamItem,\n MotiaStream,\n StateStreamEvent,\n StateStreamEventChannel,\n StreamSubscription,\n} from './types-stream'\n\nexport type MotiaServer = {\n printer: Printer\n app: Express\n server: http.Server\n socketServer: WsServer\n close: () => Promise<void>\n removeRoute: (step: Step<ApiRouteConfig>) => void\n addRoute: (step: Step<ApiRouteConfig>) => void\n cronManager: CronManager\n motiaEventManager: MotiaEventManager\n motia: Motia\n}\n\ntype MotiaServerConfig = {\n isVerbose: boolean\n printer?: Printer\n}\n\ntype AdapterOptions = {\n eventAdapter: EventAdapter\n cronAdapter: CronAdapter\n streamAdapter?: StreamAdapterManager\n}\n\nexport const createServer = (\n lockedData: LockedData,\n state: StateAdapter,\n config: MotiaServerConfig,\n adapters: AdapterOptions,\n configureApp?: (app: Express) => void,\n): MotiaServer => {\n const printer = config.printer ?? new Printer(process.cwd())\n const app = express()\n if (configureApp) {\n configureApp(app)\n }\n const server = http.createServer(app)\n\n const streamAuth = lockedData.getStreamAuthConfig()\n\n const authorizeSubscription = async (\n subscription: { streamName: string; groupId: string; id?: string },\n authContext?: unknown,\n ): Promise<boolean> => {\n const stream = lockedData.getStreamByName(subscription.streamName)\n\n if (!stream) {\n throw new Error(`Stream ${subscription.streamName} not found`)\n }\n\n const accessContext: StreamSubscription = { groupId: subscription.groupId, id: subscription.id }\n\n if (typeof stream.config.canAccess === 'function') {\n try {\n const allowed = await stream.config.canAccess(accessContext, authContext)\n return Boolean(allowed)\n } catch (error) {\n globalLogger.error('[Streams] Inline canAccess evaluation failed', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n error,\n })\n return false\n }\n }\n\n // @ts-expect-error - internal property, not part of the public API\n if (!stream.config.__motia_hasCanAccess) {\n globalLogger.debug('[Streams] No canAccess function found, allowing access', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n })\n return true\n }\n\n try {\n const allowed = await runStreamCanAccess({\n file: stream.filePath,\n subscription: accessContext,\n authContext,\n projectRoot: lockedData.baseDir,\n })\n return Boolean(allowed)\n } catch (error) {\n globalLogger.error('[Streams] canAccess evaluation failed', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n error,\n })\n return false\n }\n }\n\n const { pushEvent, socketServer } = createSocketServer({\n server,\n authenticate: streamAuth?.authenticate,\n authorize: authorizeSubscription,\n onJoin: async (streamName: string, groupId: string, id: string) => {\n const streams = lockedData.getStreams()\n const stream = streams[streamName]\n\n if (stream) {\n const result = await stream().get(groupId, id)\n delete result?.__motia // deleting because we don't need it in the socket\n return result\n }\n },\n onJoinGroup: async (streamName: string, groupId: string) => {\n const streams = lockedData.getStreams()\n const stream = streams[streamName]\n\n if (stream) {\n const result = stream ? await stream().getGroup(groupId) : []\n\n return result.map(({ __motia, ...rest }) => rest)\n }\n },\n })\n\n lockedData.applyStreamWrapper((streamName, stream) => {\n return (): MotiaStream<BaseStreamItem> => {\n const main = stream() as MotiaStream<BaseStreamItem>\n\n const wrapObject = (groupId: string, id: string, object: any) => {\n if (!object) {\n return null\n }\n\n return {\n ...object,\n __motia: { type: 'state-stream', streamName, groupId, id },\n }\n }\n\n const mainGetGroup = main.getGroup\n const mainGet = main.get\n const mainSet = main.set\n const mainDelete = main.delete\n\n main.send = async <T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>) => {\n pushEvent({ streamName, ...channel, event: { type: 'event', event } })\n }\n\n main.getGroup = async (groupId: string) => {\n const result = await mainGetGroup.apply(main, [groupId])\n return result.map((object: BaseStreamItem) => wrapObject(groupId, object.id, object))\n }\n\n main.get = async (groupId: string, id: string) => {\n const result = await mainGet.apply(main, [groupId, id])\n return wrapObject(groupId, id, result)\n }\n\n main.set = async (groupId: string, id: string, data: BaseStreamItem) => {\n if (!data) {\n return null\n }\n\n const exists = await main.get(groupId, id)\n const updated = await mainSet.apply(main, [groupId, id, data])\n const result = updated ?? data\n const wrappedResult = wrapObject(groupId, id, result)\n\n const type = exists ? 'update' : 'create'\n pushEvent({ streamName, groupId, id, event: { type, data: result } })\n\n return wrappedResult\n }\n\n main.delete = async (groupId: string, id: string) => {\n const result = await mainDelete.apply(main, [groupId, id])\n\n pushEvent({ streamName, groupId, id, event: { type: 'delete', data: result } })\n\n return wrapObject(groupId, id, result)\n }\n\n return main\n }\n })\n\n const logStream = lockedData.createStream<Log>({\n filePath: '__motia.logs',\n hidden: true,\n config: {\n name: '__motia.logs',\n baseConfig: {\n storageType: 'custom',\n factory: () => {\n return new RedisLogsStream(lockedData.redisClient)\n },\n },\n schema: null as never,\n },\n })()\n\n const allSteps = [...systemSteps, ...lockedData.activeSteps]\n const loggerFactory = new BaseLoggerFactory(config.isVerbose, logStream)\n const tracerFactory = createTracerFactory(lockedData)\n const motia: Motia = {\n loggerFactory,\n eventAdapter: adapters.eventAdapter,\n state,\n lockedData,\n printer,\n tracerFactory,\n app,\n stateAdapter: state,\n }\n\n const cronManager = setupCronHandlers(motia, adapters?.cronAdapter)\n const motiaEventManager = createStepHandlers(motia, adapters.eventAdapter)\n\n const asyncHandler = (step: Step<ApiRouteConfig>) => {\n return async (req: Request, res: Response) => {\n const traceId = generateTraceId()\n const { name: stepName, flows } = step.config\n const logger = loggerFactory.create({ traceId, flows, stepName })\n\n logger.debug('[API] Received request, processing step', { path: req.path })\n\n const data: ApiRequest = {\n body: req.body,\n headers: req.headers as Record<string, string | string[]>,\n pathParams: req.params,\n queryParams: req.query as Record<string, string | string[]>,\n }\n\n try {\n let result: ApiResponse | undefined\n\n if ('handler' in step && typeof step.handler === 'function') {\n const context = {\n traceId,\n flows,\n state: state,\n emit: async (event: EmitData) => {\n const eventObj = {\n ...event,\n traceId,\n flows,\n logger,\n tracer: null as unknown as Tracer,\n }\n await adapters.eventAdapter.emit(eventObj)\n },\n logger,\n streams: lockedData.getStreams(),\n }\n result = await step.handler(data, context)\n } else {\n const tracer = await motia.tracerFactory.createTracer(traceId, step, logger)\n result = await callStepFile<ApiResponse>({ data, step, logger, tracer, traceId }, motia)\n }\n\n trackEvent('api_call_success', { stepName })\n\n if (!result) {\n console.log('no result')\n res.status(500).json({ error: 'Internal server error' })\n return\n }\n\n if (result.headers) {\n Object.entries(result.headers).forEach(([key, value]) => res.setHeader(key, value))\n }\n\n res.status(result.status)\n\n // Handle different body types\n if (Buffer.isBuffer(result.body) || typeof result.body === 'string') {\n res.send(result.body)\n } else {\n res.json(result.body)\n }\n } catch (error) {\n trackEvent('api_call_error', {\n stepName,\n traceId,\n error: error instanceof Error ? error.message : 'Unknown error',\n })\n logger.error('[API] Internal server error', { error })\n console.log(error)\n res.status(500).json({ error: 'Internal server error' })\n }\n }\n }\n\n app.use(bodyParser.json({ limit: '1gb' }))\n app.use(bodyParser.urlencoded({ extended: true, limit: '1gb' }))\n\n const router = express.Router()\n\n const addRoute = (step: Step<ApiRouteConfig>) => {\n const { method, path } = step.config\n globalLogger.debug('[API] Registering route', step.config)\n\n const handler = asyncHandler(step)\n const methods: Record<ApiRouteMethod, () => void> = {\n GET: () => router.get(path, handler),\n POST: () => router.post(path, handler),\n PUT: () => router.put(path, handler),\n DELETE: () => router.delete(path, handler),\n PATCH: () => router.patch(path, handler),\n OPTIONS: () => router.options(path, handler),\n HEAD: () => router.head(path, handler),\n }\n\n const methodHandler = methods[method]\n if (!methodHandler) {\n throw new Error(`Unsupported method: ${method}`)\n }\n\n methodHandler()\n }\n\n const removeRoute = (step: Step<ApiRouteConfig>) => {\n const { path, method } = step.config\n const routerStack = router.stack\n\n const filteredStack = routerStack.filter((layer: any) => {\n if (layer.route) {\n const match = layer.route.path === path && layer.route.methods[method.toLowerCase()]\n return !match\n }\n return true\n })\n router.stack = filteredStack\n }\n\n allSteps.filter(isApiStep).forEach(addRoute)\n\n app.options('*', (_req, res) => {\n res.header('Access-Control-Allow-Origin', '*')\n res.header('Access-Control-Allow-Methods', '*')\n res.header('Access-Control-Allow-Headers', '*')\n res.header('Access-Control-Max-Age', '600')\n res.header('Access-Control-Allow-Credentials', 'true')\n res.header('Access-Control-Allow-Private-Network', 'true')\n res.status(204).end()\n })\n app.use((_req, res, next) => {\n res.header('Access-Control-Allow-Origin', '*')\n res.header('Access-Control-Allow-Methods', '*')\n res.header('Access-Control-Allow-Headers', '*')\n res.header('Access-Control-Max-Age', '600')\n res.header('Access-Control-Allow-Credentials', 'true')\n res.header('Access-Control-Allow-Private-Network', 'true')\n next()\n })\n\n app.use(router)\n\n flowsEndpoint(lockedData)\n flowsConfigEndpoint(app, process.cwd(), lockedData)\n analyticsEndpoint(app, process.cwd())\n stepEndpoint(app, lockedData)\n\n server.on('error', (error) => {\n console.error('Server error:', error)\n })\n\n const close = async (): Promise<void> => {\n await cronManager.close()\n socketServer.close()\n if (adapters?.eventAdapter) {\n await adapters.eventAdapter.shutdown()\n }\n }\n\n return { app, server, socketServer, close, removeRoute, addRoute, cronManager, motiaEventManager, motia, printer }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8DA,MAAa,gBACX,YACA,OACA,QACA,UACA,iBACgB;CAChB,MAAM,UAAU,OAAO,WAAW,IAAI,QAAQ,QAAQ,KAAK,CAAC;CAC5D,MAAM,MAAM,SAAS;AACrB,KAAI,aACF,cAAa,IAAI;CAEnB,MAAM,SAAS,KAAK,aAAa,IAAI;CAErC,MAAM,aAAa,WAAW,qBAAqB;CAEnD,MAAM,wBAAwB,OAC5B,cACA,gBACqB;EACrB,MAAM,SAAS,WAAW,gBAAgB,aAAa,WAAW;AAElE,MAAI,CAAC,OACH,OAAM,IAAI,MAAM,UAAU,aAAa,WAAW,YAAY;EAGhE,MAAMA,gBAAoC;GAAE,SAAS,aAAa;GAAS,IAAI,aAAa;GAAI;AAEhG,MAAI,OAAO,OAAO,OAAO,cAAc,WACrC,KAAI;GACF,MAAM,UAAU,MAAM,OAAO,OAAO,UAAU,eAAe,YAAY;AACzE,UAAO,QAAQ,QAAQ;WAChB,OAAO;AACd,gBAAa,MAAM,gDAAgD;IACjE,YAAY,aAAa;IACzB,SAAS,aAAa;IACtB;IACD,CAAC;AACF,UAAO;;AAKX,MAAI,CAAC,OAAO,OAAO,sBAAsB;AACvC,gBAAa,MAAM,0DAA0D;IAC3E,YAAY,aAAa;IACzB,SAAS,aAAa;IACvB,CAAC;AACF,UAAO;;AAGT,MAAI;GACF,MAAM,UAAU,MAAM,mBAAmB;IACvC,MAAM,OAAO;IACb,cAAc;IACd;IACA,aAAa,WAAW;IACzB,CAAC;AACF,UAAO,QAAQ,QAAQ;WAChB,OAAO;AACd,gBAAa,MAAM,yCAAyC;IAC1D,YAAY,aAAa;IACzB,SAAS,aAAa;IACtB;IACD,CAAC;AACF,UAAO;;;CAIX,MAAM,EAAE,WAAW,iBAAiB,mBAAmB;EACrD;EACA,cAAc,YAAY;EAC1B,WAAW;EACX,QAAQ,OAAO,YAAoB,SAAiB,OAAe;GAEjE,MAAM,SADU,WAAW,YAAY,CAChB;AAEvB,OAAI,QAAQ;IACV,MAAM,SAAS,MAAM,QAAQ,CAAC,IAAI,SAAS,GAAG;AAC9C,WAAO,QAAQ;AACf,WAAO;;;EAGX,aAAa,OAAO,YAAoB,YAAoB;GAE1D,MAAM,SADU,WAAW,YAAY,CAChB;AAEvB,OAAI,OAGF,SAFe,SAAS,MAAM,QAAQ,CAAC,SAAS,QAAQ,GAAG,EAAE,EAE/C,KAAK,EAAE,SAAS,GAAG,WAAW,KAAK;;EAGtD,CAAC;AAEF,YAAW,oBAAoB,YAAY,WAAW;AACpD,eAA0C;GACxC,MAAM,OAAO,QAAQ;GAErB,MAAM,cAAc,SAAiB,IAAY,WAAgB;AAC/D,QAAI,CAAC,OACH,QAAO;AAGT,WAAO;KACL,GAAG;KACH,SAAS;MAAE,MAAM;MAAgB;MAAY;MAAS;MAAI;KAC3D;;GAGH,MAAM,eAAe,KAAK;GAC1B,MAAM,UAAU,KAAK;GACrB,MAAM,UAAU,KAAK;GACrB,MAAM,aAAa,KAAK;AAExB,QAAK,OAAO,OAAU,SAAkC,UAA+B;AACrF,cAAU;KAAE;KAAY,GAAG;KAAS,OAAO;MAAE,MAAM;MAAS;MAAO;KAAE,CAAC;;AAGxE,QAAK,WAAW,OAAO,YAAoB;AAEzC,YADe,MAAM,aAAa,MAAM,MAAM,CAAC,QAAQ,CAAC,EAC1C,KAAK,WAA2B,WAAW,SAAS,OAAO,IAAI,OAAO,CAAC;;AAGvF,QAAK,MAAM,OAAO,SAAiB,OAAe;AAEhD,WAAO,WAAW,SAAS,IADZ,MAAM,QAAQ,MAAM,MAAM,CAAC,SAAS,GAAG,CAAC,CACjB;;AAGxC,QAAK,MAAM,OAAO,SAAiB,IAAY,SAAyB;AACtE,QAAI,CAAC,KACH,QAAO;IAGT,MAAM,SAAS,MAAM,KAAK,IAAI,SAAS,GAAG;IAE1C,MAAM,SADU,MAAM,QAAQ,MAAM,MAAM;KAAC;KAAS;KAAI;KAAK,CAAC,IACpC;IAC1B,MAAM,gBAAgB,WAAW,SAAS,IAAI,OAAO;AAGrD,cAAU;KAAE;KAAY;KAAS;KAAI,OAAO;MAAE,MADjC,SAAS,WAAW;MACmB,MAAM;MAAQ;KAAE,CAAC;AAErE,WAAO;;AAGT,QAAK,SAAS,OAAO,SAAiB,OAAe;IACnD,MAAM,SAAS,MAAM,WAAW,MAAM,MAAM,CAAC,SAAS,GAAG,CAAC;AAE1D,cAAU;KAAE;KAAY;KAAS;KAAI,OAAO;MAAE,MAAM;MAAU,MAAM;MAAQ;KAAE,CAAC;AAE/E,WAAO,WAAW,SAAS,IAAI,OAAO;;AAGxC,UAAO;;GAET;CAEF,MAAM,YAAY,WAAW,aAAkB;EAC7C,UAAU;EACV,QAAQ;EACR,QAAQ;GACN,MAAM;GACN,YAAY;IACV,aAAa;IACb,eAAe;AACb,YAAO,IAAI,gBAAgB,WAAW,YAAY;;IAErD;GACD,QAAQ;GACT;EACF,CAAC,EAAE;CAEJ,MAAM,WAAW,CAAC,GAAG,aAAa,GAAG,WAAW,YAAY;CAC5D,MAAM,gBAAgB,IAAI,kBAAkB,OAAO,WAAW,UAAU;CACxE,MAAM,gBAAgB,oBAAoB,WAAW;CACrD,MAAMC,QAAe;EACnB;EACA,cAAc,SAAS;EACvB;EACA;EACA;EACA;EACA;EACA,cAAc;EACf;CAED,MAAM,cAAc,kBAAkB,OAAO,UAAU,YAAY;CACnE,MAAM,oBAAoB,mBAAmB,OAAO,SAAS,aAAa;CAE1E,MAAM,gBAAgB,SAA+B;AACnD,SAAO,OAAO,KAAc,QAAkB;GAC5C,MAAM,UAAU,iBAAiB;GACjC,MAAM,EAAE,MAAM,UAAU,UAAU,KAAK;GACvC,MAAM,SAAS,cAAc,OAAO;IAAE;IAAS;IAAO;IAAU,CAAC;AAEjE,UAAO,MAAM,2CAA2C,EAAE,MAAM,IAAI,MAAM,CAAC;GAE3E,MAAMC,OAAmB;IACvB,MAAM,IAAI;IACV,SAAS,IAAI;IACb,YAAY,IAAI;IAChB,aAAa,IAAI;IAClB;AAED,OAAI;IACF,IAAIC;AAEJ,QAAI,aAAa,QAAQ,OAAO,KAAK,YAAY,YAAY;KAC3D,MAAM,UAAU;MACd;MACA;MACO;MACP,MAAM,OAAO,UAAoB;OAC/B,MAAM,WAAW;QACf,GAAG;QACH;QACA;QACA;QACA,QAAQ;QACT;AACD,aAAM,SAAS,aAAa,KAAK,SAAS;;MAE5C;MACA,SAAS,WAAW,YAAY;MACjC;AACD,cAAS,MAAM,KAAK,QAAQ,MAAM,QAAQ;UAG1C,UAAS,MAAM,aAA0B;KAAE;KAAM;KAAM;KAAQ,QADhD,MAAM,MAAM,cAAc,aAAa,SAAS,MAAM,OAAO;KACL;KAAS,EAAE,MAAM;AAG1F,eAAW,oBAAoB,EAAE,UAAU,CAAC;AAE5C,QAAI,CAAC,QAAQ;AACX,aAAQ,IAAI,YAAY;AACxB,SAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,yBAAyB,CAAC;AACxD;;AAGF,QAAI,OAAO,QACT,QAAO,QAAQ,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC;AAGrF,QAAI,OAAO,OAAO,OAAO;AAGzB,QAAI,OAAO,SAAS,OAAO,KAAK,IAAI,OAAO,OAAO,SAAS,SACzD,KAAI,KAAK,OAAO,KAAK;QAErB,KAAI,KAAK,OAAO,KAAK;YAEhB,OAAO;AACd,eAAW,kBAAkB;KAC3B;KACA;KACA,OAAO,iBAAiB,QAAQ,MAAM,UAAU;KACjD,CAAC;AACF,WAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC;AACtD,YAAQ,IAAI,MAAM;AAClB,QAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,yBAAyB,CAAC;;;;AAK9D,KAAI,IAAI,WAAW,KAAK,EAAE,OAAO,OAAO,CAAC,CAAC;AAC1C,KAAI,IAAI,WAAW,WAAW;EAAE,UAAU;EAAM,OAAO;EAAO,CAAC,CAAC;CAEhE,MAAM,SAAS,QAAQ,QAAQ;CAE/B,MAAM,YAAY,SAA+B;EAC/C,MAAM,EAAE,QAAQ,SAAS,KAAK;AAC9B,eAAa,MAAM,2BAA2B,KAAK,OAAO;EAE1D,MAAM,UAAU,aAAa,KAAK;EAWlC,MAAM,gBAV8C;GAClD,WAAW,OAAO,IAAI,MAAM,QAAQ;GACpC,YAAY,OAAO,KAAK,MAAM,QAAQ;GACtC,WAAW,OAAO,IAAI,MAAM,QAAQ;GACpC,cAAc,OAAO,OAAO,MAAM,QAAQ;GAC1C,aAAa,OAAO,MAAM,MAAM,QAAQ;GACxC,eAAe,OAAO,QAAQ,MAAM,QAAQ;GAC5C,YAAY,OAAO,KAAK,MAAM,QAAQ;GACvC,CAE6B;AAC9B,MAAI,CAAC,cACH,OAAM,IAAI,MAAM,uBAAuB,SAAS;AAGlD,iBAAe;;CAGjB,MAAM,eAAe,SAA+B;EAClD,MAAM,EAAE,MAAM,WAAW,KAAK;AAU9B,SAAO,QATa,OAAO,MAEO,QAAQ,UAAe;AACvD,OAAI,MAAM,MAER,QAAO,EADO,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM,QAAQ,OAAO,aAAa;AAGrF,UAAO;IACP;;AAIJ,UAAS,OAAO,UAAU,CAAC,QAAQ,SAAS;AAE5C,KAAI,QAAQ,MAAM,MAAM,QAAQ;AAC9B,MAAI,OAAO,+BAA+B,IAAI;AAC9C,MAAI,OAAO,gCAAgC,IAAI;AAC/C,MAAI,OAAO,gCAAgC,IAAI;AAC/C,MAAI,OAAO,0BAA0B,MAAM;AAC3C,MAAI,OAAO,oCAAoC,OAAO;AACtD,MAAI,OAAO,wCAAwC,OAAO;AAC1D,MAAI,OAAO,IAAI,CAAC,KAAK;GACrB;AACF,KAAI,KAAK,MAAM,KAAK,SAAS;AAC3B,MAAI,OAAO,+BAA+B,IAAI;AAC9C,MAAI,OAAO,gCAAgC,IAAI;AAC/C,MAAI,OAAO,gCAAgC,IAAI;AAC/C,MAAI,OAAO,0BAA0B,MAAM;AAC3C,MAAI,OAAO,oCAAoC,OAAO;AACtD,MAAI,OAAO,wCAAwC,OAAO;AAC1D,QAAM;GACN;AAEF,KAAI,IAAI,OAAO;AAEf,eAAc,WAAW;AACzB,qBAAoB,KAAK,QAAQ,KAAK,EAAE,WAAW;AACnD,mBAAkB,KAAK,QAAQ,KAAK,CAAC;AACrC,cAAa,KAAK,WAAW;AAE7B,QAAO,GAAG,UAAU,UAAU;AAC5B,UAAQ,MAAM,iBAAiB,MAAM;GACrC;CAEF,MAAM,QAAQ,YAA2B;AACvC,QAAM,YAAY,OAAO;AACzB,eAAa,OAAO;AACpB,MAAI,UAAU,aACZ,OAAM,SAAS,aAAa,UAAU;;AAI1C,QAAO;EAAE;EAAK;EAAQ;EAAc;EAAO;EAAa;EAAU;EAAa;EAAmB;EAAO;EAAS"}
1
+ {"version":3,"file":"server.mjs","names":["accessContext: StreamSubscription","motia: Motia","data: ApiRequest","result: ApiResponse | undefined"],"sources":["../../src/server.ts"],"sourcesContent":["import bodyParser from 'body-parser'\nimport express, { type Express, type Request, type Response } from 'express'\nimport http from 'http'\nimport type { Server as WsServer } from 'ws'\nimport type { CronAdapter } from './adapters/interfaces/cron-adapter.interface'\nimport type { EventAdapter } from './adapters/interfaces/event-adapter.interface'\nimport type { StateAdapter } from './adapters/interfaces/state-adapter.interface'\nimport type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface'\nimport { trackEvent } from './analytics/utils'\nimport { callStepFile } from './call-step-file'\nimport { type CronManager, setupCronHandlers } from './cron-handler'\nimport { analyticsEndpoint } from './endpoints/analytics-endpoint'\nimport { flowsConfigEndpoint } from './endpoints/flows-config-endpoint'\nimport { flowsEndpoint } from './endpoints/flows-endpoint'\nimport { stepEndpoint } from './endpoints/step-endpoint'\nimport { generateTraceId } from './generate-trace-id'\nimport { isApiStep } from './guards'\nimport type { LockedData } from './locked-data'\nimport { globalLogger } from './logger'\nimport { BaseLoggerFactory } from './logger-factory'\nimport type { Motia } from './motia'\nimport type { Tracer } from './observability'\nimport { createTracerFactory } from './observability/tracer'\nimport { Printer } from './printer'\nimport { runStreamCanAccess } from './run-stream-can-access'\nimport { createSocketServer } from './socket-server'\nimport { createStepHandlers, type MotiaEventManager } from './step-handlers'\nimport { systemSteps } from './steps'\nimport { type Log, RedisLogsStream } from './streams/redis-logs-stream'\nimport type { ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteMethod, EmitData, Step } from './types'\nimport type {\n BaseStreamItem,\n MotiaStream,\n StateStreamEvent,\n StateStreamEventChannel,\n StreamSubscription,\n} from './types-stream'\n\nexport type MotiaServer = {\n printer: Printer\n app: Express\n server: http.Server\n socketServer: WsServer\n close: () => Promise<void>\n removeRoute: (step: Step<ApiRouteConfig>) => void\n addRoute: (step: Step<ApiRouteConfig>) => void\n cronManager: CronManager\n motiaEventManager: MotiaEventManager\n motia: Motia\n}\n\ntype MotiaServerConfig = {\n isVerbose: boolean\n printer?: Printer\n}\n\ntype AdapterOptions = {\n eventAdapter: EventAdapter\n cronAdapter: CronAdapter\n streamAdapter?: StreamAdapterManager\n}\n\nexport const createServer = (\n lockedData: LockedData,\n state: StateAdapter,\n config: MotiaServerConfig,\n adapters: AdapterOptions,\n configureApp?: (app: Express) => void,\n): MotiaServer => {\n const printer = config.printer ?? new Printer(process.cwd())\n const app = express()\n if (configureApp) {\n configureApp(app)\n }\n const server = http.createServer(app)\n\n const streamAuth = lockedData.getStreamAuthConfig()\n\n const authorizeSubscription = async (\n subscription: { streamName: string; groupId: string; id?: string },\n authContext?: unknown,\n ): Promise<boolean> => {\n const stream = lockedData.getStreamByName(subscription.streamName)\n\n if (!stream) {\n throw new Error(`Stream ${subscription.streamName} not found`)\n }\n\n const accessContext: StreamSubscription = { groupId: subscription.groupId, id: subscription.id }\n\n if (typeof stream.config.canAccess === 'function') {\n try {\n const allowed = await stream.config.canAccess(accessContext, authContext)\n return Boolean(allowed)\n } catch (error) {\n globalLogger.error('[Streams] Inline canAccess evaluation failed', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n error,\n })\n return false\n }\n }\n\n // @ts-expect-error - internal property, not part of the public API\n if (!stream.config.__motia_hasCanAccess) {\n globalLogger.debug('[Streams] No canAccess function found, allowing access', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n })\n return true\n }\n\n try {\n const allowed = await runStreamCanAccess({\n file: stream.filePath,\n subscription: accessContext,\n authContext,\n projectRoot: lockedData.baseDir,\n })\n return Boolean(allowed)\n } catch (error) {\n globalLogger.error('[Streams] canAccess evaluation failed', {\n streamName: subscription.streamName,\n groupId: subscription.groupId,\n error,\n })\n return false\n }\n }\n\n const { pushEvent, socketServer } = createSocketServer({\n server,\n authenticate: streamAuth?.authenticate,\n authorize: authorizeSubscription,\n onJoin: async (streamName: string, groupId: string, id: string) => {\n const streams = lockedData.getStreams()\n const stream = streams[streamName]\n\n if (stream) {\n const result = await stream().get(groupId, id)\n delete result?.__motia // deleting because we don't need it in the socket\n return result\n }\n },\n onJoinGroup: async (streamName: string, groupId: string) => {\n const streams = lockedData.getStreams()\n const stream = streams[streamName]\n\n if (stream) {\n const result = stream ? await stream().getGroup(groupId) : []\n\n return result.map(({ __motia, ...rest }) => rest)\n }\n },\n })\n\n lockedData.applyStreamWrapper((streamName, stream) => {\n return (): MotiaStream<BaseStreamItem> => {\n const main = stream() as MotiaStream<BaseStreamItem>\n\n const wrapObject = (groupId: string, id: string, object: any) => {\n if (!object) {\n return null\n }\n\n return {\n ...object,\n __motia: { type: 'state-stream', streamName, groupId, id },\n }\n }\n\n const mainGetGroup = main.getGroup\n const mainGet = main.get\n const mainSet = main.set\n const mainDelete = main.delete\n\n main.send = async <T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>) => {\n pushEvent({ streamName, ...channel, event: { type: 'event', event } })\n }\n\n main.getGroup = async (groupId: string) => {\n const result = await mainGetGroup.apply(main, [groupId])\n return result.map((object: BaseStreamItem) => wrapObject(groupId, object.id, object))\n }\n\n main.get = async (groupId: string, id: string) => {\n const result = await mainGet.apply(main, [groupId, id])\n return wrapObject(groupId, id, result)\n }\n\n main.set = async (groupId: string, id: string, data: BaseStreamItem) => {\n if (!data) {\n return null\n }\n\n const exists = await main.get(groupId, id)\n const updated = await mainSet.apply(main, [groupId, id, data])\n const result = updated ?? data\n const wrappedResult = wrapObject(groupId, id, result)\n\n const type = exists ? 'update' : 'create'\n pushEvent({ streamName, groupId, id, event: { type, data: result } })\n\n return wrappedResult\n }\n\n main.delete = async (groupId: string, id: string) => {\n const result = await mainDelete.apply(main, [groupId, id])\n\n pushEvent({ streamName, groupId, id, event: { type: 'delete', data: result } })\n\n return wrapObject(groupId, id, result)\n }\n\n return main\n }\n })\n\n const logStream = lockedData.createStream<Log>({\n filePath: '__motia.logs',\n hidden: true,\n config: {\n name: '__motia.logs',\n baseConfig: {\n storageType: 'custom',\n factory: () => {\n return new RedisLogsStream(lockedData.redisClient)\n },\n },\n schema: null as never,\n },\n })()\n\n const allSteps = [...systemSteps, ...lockedData.activeSteps]\n const loggerFactory = new BaseLoggerFactory(config.isVerbose, logStream)\n const tracerFactory = createTracerFactory(lockedData)\n const motia: Motia = {\n loggerFactory,\n eventAdapter: adapters.eventAdapter,\n state,\n lockedData,\n printer,\n tracerFactory,\n app,\n stateAdapter: state,\n }\n\n const cronManager = setupCronHandlers(motia, adapters?.cronAdapter)\n const motiaEventManager = createStepHandlers(motia, adapters.eventAdapter)\n\n const asyncHandler = (step: Step<ApiRouteConfig>) => {\n return async (req: Request, res: Response) => {\n const traceId = generateTraceId()\n const { name: stepName, flows } = step.config\n const logger = loggerFactory.create({ traceId, flows, stepName })\n\n logger.debug('[API] Received request, processing step', { path: req.path })\n\n const rawBody = req.rawBody || ''\n\n const data: ApiRequest = {\n body: req.body,\n headers: req.headers as Record<string, string | string[]>,\n pathParams: req.params,\n queryParams: req.query as Record<string, string | string[]>,\n rawBody,\n }\n\n try {\n let result: ApiResponse | undefined\n\n if ('handler' in step && typeof step.handler === 'function') {\n const context = {\n traceId,\n flows,\n state: state,\n emit: async (event: EmitData) => {\n const eventObj = {\n ...event,\n traceId,\n flows,\n logger,\n tracer: null as unknown as Tracer,\n }\n await adapters.eventAdapter.emit(eventObj)\n },\n logger,\n streams: lockedData.getStreams(),\n }\n result = await step.handler(data, context)\n } else {\n const tracer = await motia.tracerFactory.createTracer(traceId, step, logger)\n result = await callStepFile<ApiResponse>({ data, step, logger, tracer, traceId }, motia)\n }\n\n trackEvent('api_call_success', { stepName })\n\n if (!result) {\n console.log('no result')\n res.status(500).json({ error: 'Internal server error' })\n return\n }\n\n if (result.headers) {\n Object.entries(result.headers).forEach(([key, value]) => res.setHeader(key, value))\n }\n\n res.status(result.status)\n\n // Handle different body types\n if (Buffer.isBuffer(result.body) || typeof result.body === 'string') {\n res.send(result.body)\n } else {\n res.json(result.body)\n }\n } catch (error) {\n trackEvent('api_call_error', {\n stepName,\n traceId,\n error: error instanceof Error ? error.message : 'Unknown error',\n })\n logger.error('[API] Internal server error', { error })\n console.log(error)\n res.status(500).json({ error: 'Internal server error' })\n }\n }\n }\n\n app.use((req, _, next) => {\n req.rawBody = ''\n next()\n })\n\n app.use(\n bodyParser.json({\n limit: '1gb',\n verify: (req, _, buf, encoding) => {\n req.rawBody = buf.toString((encoding as BufferEncoding) || 'utf8')\n },\n }),\n )\n\n app.use(\n bodyParser.urlencoded({\n extended: true,\n limit: '1gb',\n verify: (req, _, buf, encoding) => {\n req.rawBody = buf.toString((encoding as BufferEncoding) || 'utf8')\n },\n }),\n )\n\n app.use(\n bodyParser.text({\n limit: '1gb',\n verify: (req, _, buf, encoding) => {\n req.rawBody = buf.toString((encoding as BufferEncoding) || 'utf8')\n },\n }),\n )\n\n const router = express.Router()\n\n const addRoute = (step: Step<ApiRouteConfig>) => {\n const { method, path } = step.config\n globalLogger.debug('[API] Registering route', step.config)\n\n const handler = asyncHandler(step)\n const methods: Record<ApiRouteMethod, () => void> = {\n GET: () => router.get(path, handler),\n POST: () => router.post(path, handler),\n PUT: () => router.put(path, handler),\n DELETE: () => router.delete(path, handler),\n PATCH: () => router.patch(path, handler),\n OPTIONS: () => router.options(path, handler),\n HEAD: () => router.head(path, handler),\n }\n\n const methodHandler = methods[method]\n if (!methodHandler) {\n throw new Error(`Unsupported method: ${method}`)\n }\n\n methodHandler()\n }\n\n const removeRoute = (step: Step<ApiRouteConfig>) => {\n const { path, method } = step.config\n const routerStack = router.stack\n\n const filteredStack = routerStack.filter((layer: any) => {\n if (layer.route) {\n const match = layer.route.path === path && layer.route.methods[method.toLowerCase()]\n return !match\n }\n return true\n })\n router.stack = filteredStack\n }\n\n allSteps.filter(isApiStep).forEach(addRoute)\n\n app.options('*', (_req, res) => {\n res.header('Access-Control-Allow-Origin', '*')\n res.header('Access-Control-Allow-Methods', '*')\n res.header('Access-Control-Allow-Headers', '*')\n res.header('Access-Control-Max-Age', '600')\n res.header('Access-Control-Allow-Credentials', 'true')\n res.header('Access-Control-Allow-Private-Network', 'true')\n res.status(204).end()\n })\n app.use((_req, res, next) => {\n res.header('Access-Control-Allow-Origin', '*')\n res.header('Access-Control-Allow-Methods', '*')\n res.header('Access-Control-Allow-Headers', '*')\n res.header('Access-Control-Max-Age', '600')\n res.header('Access-Control-Allow-Credentials', 'true')\n res.header('Access-Control-Allow-Private-Network', 'true')\n next()\n })\n\n app.use(router)\n\n flowsEndpoint(lockedData)\n flowsConfigEndpoint(app, process.cwd(), lockedData)\n analyticsEndpoint(app, process.cwd())\n stepEndpoint(app, lockedData)\n\n server.on('error', (error) => {\n console.error('Server error:', error)\n })\n\n const close = async (): Promise<void> => {\n await cronManager.close()\n socketServer.close()\n if (adapters?.eventAdapter) {\n await adapters.eventAdapter.shutdown()\n }\n }\n\n return { app, server, socketServer, close, removeRoute, addRoute, cronManager, motiaEventManager, motia, printer }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-stream.d.mts","names":[],"sources":["../../src/types-stream.ts"],"sourcesContent":[],"mappings":";;;;KAGY,kBAAA;;EAAA,EAAA,CAAA,EAAA,MAAA;AAEZ,CAAA;AAEU,UAFO,YAAA,CAEP;EACyE,IAAA,EAAA,MAAA;EACtD,MAAA,EAFnB,eAEmB;EAAmD,UAAA,EAAA;IAAO,WAAA,EAAA,SAAA;EAG3E,CAAA,GAAA;IACA,WAAA,EAAA,QAAgB;IAEhB,OAAA,EAAA,GAAA,GAPuE,WAOzD,CAAA,GAAA,CAAoB;EAElC,CAAA;EAAuB,SAAA,CAAA,EAAA,CAAA,YAAA,EARN,kBAQM,EAAA,WAAA,EAAA,GAAA,EAAA,GAAA,OAAA,GAR6C,OAQ7C,CAAA,OAAA,CAAA;;AAEzB,KAPE,uBAAA,GAOF;EAEC,OAAA,EAAA,MAAA;EAAa,EAAA,CAAA,EAAA,MAAA;AAGxB,CAAA;AAC2D,KAZ/C,gBAY+C,CAAA,KAAA,CAAA,GAAA;EAAf,IAAA,EAAA,MAAA;EAAR,IAAA,EAZwB,KAYxB;CACK;AAA+B,KAX5D,cAW4D,CAAA,QAAA,OAAA,CAAA,GAX1B,KAW0B,GAAA;EAAf,EAAA,EAAA,MAAA;CAAR;AACa,KAVlD,MAUkD,CAAA,gBAV3B,YAU2B,GAVZ,YAUY,CAAA,GAAA;EAAf,QAAA,EAAA,MAAA;EAAR,MAAA,EAR7B,OAQ6B;EACa,MAAA,CAAA,EAAA,OAAA;EAAf,OAAA,EAP1B,aAO0B,CAAA,OAAA,CAAA;CAAR;AAEV,UANF,WAME,CAAA,KAAA,CAAA,CAAA;EAAiD,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EALhC,OAKgC,CALxB,cAKwB,CALT,KAKS,CAAA,GAAA,IAAA,CAAA;EAAjB,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EAJV,KAIU,CAAA,EAJF,OAIE,CAJM,cAIN,CAJqB,KAIrB,CAAA,CAAA;EAAsB,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAHlC,OAGkC,CAH1B,cAG0B,CAHX,KAGW,CAAA,GAAA,IAAA,CAAA;EAAO,QAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAFnD,OAEmD,CAF3C,cAE2C,CAF5B,KAE4B,CAAA,EAAA,CAAA;mBAA7D,gCAAgC,iBAAiB,KAAK"}
1
+ {"version":3,"file":"types-stream.d.mts","names":[],"sources":["../../src/types-stream.ts"],"sourcesContent":[],"mappings":";;;;KAGY,kBAAA;;EAAA,EAAA,CAAA,EAAA,MAAA;AAEZ,CAAA;AAEU,UAFO,YAAA,CAEP;EACyE,IAAA,EAAA,MAAA;EACtD,MAAA,EAFnB,eAEmB;EAAmD,UAAA,EAAA;IAAO,WAAA,EAAA,SAAA;EAG3E,CAAA,GAAA;IACA,WAAA,EAAA,QAAgB;IAEhB,OAAA,EAAA,GAAA,GAPuE,WAOzD,CAAA,GAAoB,CAAA;EAElC,CAAA;EAAuB,SAAA,CAAA,EAAA,CAAA,YAAA,EARN,kBAQM,EAAA,WAAA,EAAA,GAAA,EAAA,GAAA,OAAA,GAR6C,OAQ7C,CAAA,OAAA,CAAA;;AAEzB,KAPE,uBAAA,GAOF;EAEC,OAAA,EAAA,MAAA;EAAa,EAAA,CAAA,EAAA,MAAA;AAGxB,CAAA;AAC2D,KAZ/C,gBAY+C,CAAA,KAAA,CAAA,GAAA;EAAf,IAAA,EAAA,MAAA;EAAR,IAAA,EAZwB,KAYxB;CACK;AAA+B,KAX5D,cAW4D,CAAA,QAAA,OAAA,CAAA,GAX1B,KAW0B,GAAA;EAAf,EAAA,EAAA,MAAA;CAAR;AACa,KAVlD,MAUkD,CAAA,gBAV3B,YAU2B,GAVZ,YAUY,CAAA,GAAA;EAAf,QAAA,EAAA,MAAA;EAAR,MAAA,EAR7B,OAQ6B;EACa,MAAA,CAAA,EAAA,OAAA;EAAf,OAAA,EAP1B,aAO0B,CAAA,OAAA,CAAA;CAAR;AAEV,UANF,WAME,CAAA,KAAA,CAAA,CAAA;EAAiD,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EALhC,OAKgC,CALxB,cAKwB,CALT,KAKS,CAAA,GAAA,IAAA,CAAA;EAAjB,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EAJV,KAIU,CAAA,EAJF,OAIE,CAJM,cAIN,CAJqB,KAIrB,CAAA,CAAA;EAAsB,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAHlC,OAGkC,CAH1B,cAG0B,CAHX,KAGW,CAAA,GAAA,IAAA,CAAA;EAAO,QAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAFnD,OAEmD,CAF3C,cAE2C,CAF5B,KAE4B,CAAA,EAAA,CAAA;mBAA7D,gCAAgC,iBAAiB,KAAK"}
@@ -106,6 +106,11 @@ interface ApiRequest<TBody = unknown> {
106
106
  queryParams: Record<string, string | string[]>;
107
107
  body: TBody;
108
108
  headers: Record<string, string | string[]>;
109
+ /**
110
+ * The raw unparsed request body as a string.
111
+ * This is the same body that was sent but without type enforcement/parsing.
112
+ */
113
+ rawBody: string;
109
114
  }
110
115
  type ApiResponse<TStatus extends number = number, TBody = string | Buffer | Record<string, unknown>> = {
111
116
  status: TStatus;
@@ -180,6 +185,7 @@ interface Handlers {}
180
185
  declare module 'http' {
181
186
  interface IncomingMessage {
182
187
  authContext?: unknown | null;
188
+ rawBody?: string;
183
189
  }
184
190
  }
185
191
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "import": "./dist/index.mjs"
12
12
  }
13
13
  },
14
- "version": "0.13.2-beta.164-562802",
14
+ "version": "0.13.2-beta.164-110989",
15
15
  "dependencies": {
16
16
  "@amplitude/analytics-node": "^1.5.26",
17
17
  "@standard-schema/spec": "^1.0.0",