@motiadev/core 0.8.2-beta.140-246724 → 0.8.2-beta.140-516159

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.
package/dist/index.d.ts CHANGED
@@ -15,3 +15,4 @@ export { getProjectIdentifier, getUserIdentifier, isAnalyticsEnabled, trackEvent
15
15
  export { Motia } from './src/motia';
16
16
  export { NoPrinter, Printer } from './src/printer';
17
17
  export { NoTracer } from './src/observability/no-tracer';
18
+ export { config } from './src/config';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.NoTracer = exports.Printer = exports.NoPrinter = exports.trackEvent = exports.isAnalyticsEnabled = exports.getUserIdentifier = exports.getProjectIdentifier = exports.createMermaidGenerator = exports.getStreamConfig = exports.getStepConfig = exports.LockedData = exports.isNoopStep = exports.isEventStep = exports.isCronStep = exports.isApiStep = exports.setupCronHandlers = exports.createStateAdapter = exports.Logger = exports.createEventManager = exports.createStepHandlers = exports.createServer = void 0;
17
+ exports.config = exports.NoTracer = exports.Printer = exports.NoPrinter = exports.trackEvent = exports.isAnalyticsEnabled = exports.getUserIdentifier = exports.getProjectIdentifier = exports.createMermaidGenerator = exports.getStreamConfig = exports.getStepConfig = exports.LockedData = exports.isNoopStep = exports.isEventStep = exports.isCronStep = exports.isApiStep = exports.setupCronHandlers = exports.createStateAdapter = exports.Logger = exports.createEventManager = exports.createStepHandlers = exports.createServer = void 0;
18
18
  __exportStar(require("./src/types"), exports);
19
19
  var server_1 = require("./src/server");
20
20
  Object.defineProperty(exports, "createServer", { enumerable: true, get: function () { return server_1.createServer; } });
@@ -50,3 +50,5 @@ Object.defineProperty(exports, "NoPrinter", { enumerable: true, get: function ()
50
50
  Object.defineProperty(exports, "Printer", { enumerable: true, get: function () { return printer_1.Printer; } });
51
51
  var no_tracer_1 = require("./src/observability/no-tracer");
52
52
  Object.defineProperty(exports, "NoTracer", { enumerable: true, get: function () { return no_tracer_1.NoTracer; } });
53
+ var config_1 = require("./src/config");
54
+ Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_1.config; } });
@@ -0,0 +1,2 @@
1
+ import { Config } from './types/app-config-types';
2
+ export declare const config: (config: Config) => Config;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const config = (config) => config;
5
+ exports.config = config;
@@ -10,6 +10,7 @@ export declare class LockedData {
10
10
  readonly baseDir: string;
11
11
  readonly streamAdapter: 'file' | 'memory';
12
12
  private readonly printer;
13
+ readonly motiaFileStoragePath: string;
13
14
  flows: Record<string, Flow>;
14
15
  activeSteps: Step[];
15
16
  devSteps: Step[];
@@ -19,7 +20,7 @@ export declare class LockedData {
19
20
  private streamHandlers;
20
21
  private streams;
21
22
  private streamWrapper?;
22
- constructor(baseDir: string, streamAdapter: "file" | "memory" | undefined, printer: Printer);
23
+ constructor(baseDir: string, streamAdapter: "file" | "memory" | undefined, printer: Printer, motiaFileStoragePath?: string);
23
24
  applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void;
24
25
  saveTypes(): void;
25
26
  on(event: FlowEvent, handler: (flowName: string) => void): void;
@@ -12,10 +12,11 @@ const file_stream_adapter_1 = require("./streams/adapters/file-stream-adapter");
12
12
  const memory_stream_adapter_1 = require("./streams/adapters/memory-stream-adapter");
13
13
  const generate_types_1 = require("./types/generate-types");
14
14
  class LockedData {
15
- constructor(baseDir, streamAdapter = 'file', printer) {
15
+ constructor(baseDir, streamAdapter = 'file', printer, motiaFileStoragePath = '.motia') {
16
16
  this.baseDir = baseDir;
17
17
  this.streamAdapter = streamAdapter;
18
18
  this.printer = printer;
19
+ this.motiaFileStoragePath = motiaFileStoragePath;
19
20
  this.flows = {};
20
21
  this.activeSteps = [];
21
22
  this.devSteps = [];
@@ -266,7 +267,7 @@ class LockedData {
266
267
  }
267
268
  createStreamAdapter(streamName) {
268
269
  if (this.streamAdapter === 'file') {
269
- return new file_stream_adapter_1.FileStreamAdapter(this.baseDir, streamName);
270
+ return new file_stream_adapter_1.FileStreamAdapter(this.baseDir, streamName, this.motiaFileStoragePath);
270
271
  }
271
272
  return new memory_stream_adapter_1.MemoryStreamAdapter();
272
273
  }
@@ -3,6 +3,7 @@ import http from 'http';
3
3
  import { Server as WsServer } from 'ws';
4
4
  import { CronManager } from './cron-handler';
5
5
  import { LockedData } from './locked-data';
6
+ import { Motia } from './motia';
6
7
  import { Printer } from './printer';
7
8
  import { StateAdapter } from './state/state-adapter';
8
9
  import { MotiaEventManager } from './step-handlers';
@@ -16,6 +17,7 @@ export type MotiaServer = {
16
17
  addRoute: (step: Step<ApiRouteConfig>) => void;
17
18
  cronManager: CronManager;
18
19
  motiaEventManager: MotiaEventManager;
20
+ motia: Motia;
19
21
  };
20
22
  type MotiaServerConfig = {
21
23
  isVerbose: boolean;
@@ -229,6 +229,6 @@ const createServer = (lockedData, eventManager, state, config) => {
229
229
  cronManager.close();
230
230
  socketServer.close();
231
231
  };
232
- return { app, server, socketServer, close, removeRoute, addRoute, cronManager, motiaEventManager };
232
+ return { app, server, socketServer, close, removeRoute, addRoute, cronManager, motiaEventManager, motia };
233
233
  };
234
234
  exports.createServer = createServer;
@@ -6,7 +6,7 @@ export type FileAdapterConfig = {
6
6
  export declare class FileStreamAdapter<TData> extends StreamAdapter<TData> {
7
7
  private readonly filePath;
8
8
  private readonly streamsDir;
9
- constructor(filePath: string, streamName: string);
9
+ constructor(filePath: string, streamName: string, motiaFileStoragePath?: string);
10
10
  init(): void;
11
11
  getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>;
12
12
  get(groupId: string, key: string): Promise<BaseStreamItem<TData> | null>;
@@ -41,9 +41,9 @@ const fs_1 = __importDefault(require("fs"));
41
41
  const path = __importStar(require("path"));
42
42
  const stream_adapter_1 = require("./stream-adapter");
43
43
  class FileStreamAdapter extends stream_adapter_1.StreamAdapter {
44
- constructor(filePath, streamName) {
44
+ constructor(filePath, streamName, motiaFileStoragePath = '.motia') {
45
45
  super();
46
- this.streamsDir = path.join(filePath, '.motia', 'streams');
46
+ this.streamsDir = path.join(filePath, motiaFileStoragePath, 'streams');
47
47
  this.filePath = path.join(this.streamsDir, `${streamName}.stream.json`);
48
48
  }
49
49
  init() {
@@ -0,0 +1,22 @@
1
+ import { Motia } from '../motia';
2
+ export type Runtime = {
3
+ steps: string;
4
+ streams: string;
5
+ runtime: any;
6
+ };
7
+ export type WorkbenchPlugin = {
8
+ packageName: string;
9
+ componentName?: string;
10
+ label?: string;
11
+ labelIcon?: string;
12
+ position?: 'bottom' | 'top';
13
+ props?: Record<string, any>;
14
+ };
15
+ export type MotiaPlugin = {
16
+ workbench: WorkbenchPlugin[];
17
+ };
18
+ export type MotiaPluginBuilder = (motia: Motia) => MotiaPlugin;
19
+ export type Config = {
20
+ runtimes?: Runtime[];
21
+ plugins?: MotiaPluginBuilder[];
22
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,7 @@
1
1
  import { z, ZodAny, ZodArray, ZodObject } from 'zod';
2
2
  import { Logger } from './logger';
3
3
  import { Tracer } from './observability';
4
+ export * from './types/app-config-types';
4
5
  export type ZodInput = ZodObject<any> | ZodArray<any>;
5
6
  export type InternalStateManager = {
6
7
  get<T>(groupId: string, key: string): Promise<T | null>;
package/dist/src/types.js CHANGED
@@ -1,2 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/app-config-types"), exports);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@motiadev/core",
3
3
  "description": "Core functionality for the Motia framework, providing the foundation for building event-driven workflows.",
4
4
  "main": "dist/index.js",
5
- "version": "0.8.2-beta.140-246724",
5
+ "version": "0.8.2-beta.140-516159",
6
6
  "dependencies": {
7
7
  "@amplitude/analytics-node": "^1.3.8",
8
8
  "body-parser": "^1.20.3",