@motiadev/core 0.8.2-beta.140-930160 → 0.8.2-beta.140-709523
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 +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -5
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +13 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +53 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +15 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +49 -0
- package/dist/src/adapters/defaults/index.d.ts +9 -0
- package/dist/src/adapters/defaults/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/index.js +21 -0
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.d.ts +13 -0
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.js +56 -0
- package/dist/src/adapters/defaults/observability/default-observability-adapter.d.ts +19 -0
- package/dist/src/adapters/defaults/observability/default-observability-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/observability/default-observability-adapter.js +93 -0
- package/dist/src/{state/adapters/default-state-adapter.d.ts → adapters/defaults/state/file-state-adapter.d.ts} +2 -2
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +1 -0
- package/dist/src/{state/adapters/default-state-adapter.js → adapters/defaults/state/file-state-adapter.js} +1 -3
- package/dist/src/{state/adapters → adapters/defaults/state}/memory-state-adapter.d.ts +1 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +1 -0
- package/dist/src/{state/adapters → adapters/defaults/state}/memory-state-adapter.js +1 -3
- package/dist/src/{state/adapters → adapters/defaults/state}/utils.d.ts +1 -1
- package/dist/src/adapters/defaults/state/utils.d.ts.map +1 -0
- package/dist/src/{streams/adapters → adapters/defaults/stream}/file-stream-adapter.d.ts +2 -2
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +1 -0
- package/dist/src/{streams/adapters → adapters/defaults/stream}/file-stream-adapter.js +2 -2
- package/dist/src/{streams/adapters → adapters/defaults/stream}/memory-stream-adapter.d.ts +1 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
- package/dist/src/{streams/adapters → adapters/defaults/stream}/memory-stream-adapter.js +2 -2
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +29 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +15 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/index.d.ts +6 -0
- package/dist/src/adapters/interfaces/index.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/index.js +5 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +23 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.js +2 -0
- package/dist/src/{state/state-adapter.d.ts → adapters/interfaces/state-adapter.interface.d.ts} +2 -5
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.js +2 -0
- package/dist/src/{streams/adapters/stream-adapter.d.ts → adapters/interfaces/stream-adapter.interface.d.ts} +12 -4
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
- package/dist/src/{streams/adapters/stream-adapter.js → adapters/interfaces/stream-adapter.interface.js} +6 -3
- package/dist/src/call-step-file.js +1 -1
- package/dist/src/cron-handler.d.ts +4 -3
- package/dist/src/cron-handler.d.ts.map +1 -1
- package/dist/src/cron-handler.js +46 -2
- package/dist/src/helper/flows-helper.d.ts +1 -1
- package/dist/src/helper/flows-helper.d.ts.map +1 -1
- package/dist/src/infrastructure-validator/schemas.d.ts +8 -8
- package/dist/src/locked-data.d.ts.map +1 -1
- package/dist/src/locked-data.js +2 -2
- package/dist/src/logger-factory.d.ts +2 -2
- package/dist/src/logger-factory.d.ts.map +1 -1
- package/dist/src/motia.d.ts +4 -6
- package/dist/src/motia.d.ts.map +1 -1
- package/dist/src/observability/index.d.ts +3 -14
- package/dist/src/observability/index.d.ts.map +1 -1
- package/dist/src/observability/trace-stream-adapter.d.ts +1 -1
- package/dist/src/observability/trace-stream-adapter.d.ts.map +1 -1
- package/dist/src/observability/trace-stream-adapter.js +1 -1
- package/dist/src/observability/tracer.d.ts +1 -0
- package/dist/src/observability/tracer.d.ts.map +1 -1
- package/dist/src/observability/tracer.js +10 -1
- package/dist/src/printer.d.ts +0 -6
- package/dist/src/printer.d.ts.map +1 -1
- package/dist/src/printer.js +2 -19
- package/dist/src/queue-manager.d.ts +2 -2
- package/dist/src/queue-manager.d.ts.map +1 -1
- package/dist/src/queue-manager.js +17 -3
- package/dist/src/server.d.ts +11 -5
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +13 -12
- package/dist/src/state/create-state-adapter.d.ts +4 -4
- package/dist/src/state/create-state-adapter.d.ts.map +1 -1
- package/dist/src/state/create-state-adapter.js +3 -3
- package/dist/src/step-handlers.d.ts +2 -2
- package/dist/src/step-handlers.d.ts.map +1 -1
- package/dist/src/step-handlers.js +14 -10
- package/dist/src/streams/flows-config-stream.d.ts +1 -1
- package/dist/src/streams/flows-config-stream.d.ts.map +1 -1
- package/dist/src/streams/flows-config-stream.js +2 -2
- package/dist/src/streams/flows-stream.d.ts +1 -1
- package/dist/src/streams/flows-stream.d.ts.map +1 -1
- package/dist/src/streams/flows-stream.js +2 -2
- package/dist/src/streams/logs-stream.d.ts +1 -1
- package/dist/src/streams/logs-stream.d.ts.map +1 -1
- package/dist/src/streams/logs-stream.js +2 -2
- package/dist/src/types/app-config-types.d.ts +11 -0
- package/dist/src/types/app-config-types.d.ts.map +1 -1
- package/dist/src/types.d.ts +0 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/validate-event-input.d.ts.map +1 -1
- package/dist/src/validate-event-input.js +3 -1
- package/package.json +1 -1
- package/dist/src/event-manager.d.ts +0 -4
- package/dist/src/event-manager.d.ts.map +0 -1
- package/dist/src/event-manager.js +0 -32
- package/dist/src/state/adapters/default-state-adapter.d.ts.map +0 -1
- package/dist/src/state/adapters/memory-state-adapter.d.ts.map +0 -1
- package/dist/src/state/adapters/utils.d.ts.map +0 -1
- package/dist/src/state/state-adapter.d.ts.map +0 -1
- package/dist/src/streams/adapters/file-stream-adapter.d.ts.map +0 -1
- package/dist/src/streams/adapters/memory-stream-adapter.d.ts.map +0 -1
- package/dist/src/streams/adapters/stream-adapter.d.ts.map +0 -1
- /package/dist/src/{state/adapters → adapters/defaults/state}/utils.js +0 -0
- /package/dist/src/{state/state-adapter.js → adapters/interfaces/cron-adapter.interface.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
export { FileStateAdapter, FileStreamAdapter, MemoryStateAdapter, MemoryStreamAdapter } from './src/adapters/defaults';
|
|
2
|
+
export { InMemoryCronAdapter as DefaultCronAdapter } from './src/adapters/defaults/cron/in-memory-cron-adapter';
|
|
3
|
+
export { InMemoryQueueEventAdapter as DefaultQueueEventAdapter } from './src/adapters/defaults/event/in-memory-queue-event-adapter';
|
|
4
|
+
export { CompositeObservabilityAdapter, createCompositeObservabilityAdapter, } from './src/adapters/defaults/observability/composite-observability-adapter';
|
|
5
|
+
export { createDefaultObservabilityAdapter, DefaultObservabilityAdapter, } from './src/adapters/defaults/observability/default-observability-adapter';
|
|
6
|
+
export type { CronAdapter, CronAdapterConfig, CronLock, CronLockInfo, } from './src/adapters/interfaces/cron-adapter.interface';
|
|
7
|
+
export type { EventAdapter, SubscriptionHandle, } from './src/adapters/interfaces/event-adapter.interface';
|
|
8
|
+
export type { Metric, ObservabilityAdapter, Tracer, } from './src/adapters/interfaces/observability-adapter.interface';
|
|
9
|
+
export type { StateAdapter, StateFilter, StateItem, StateItemsInput, } from './src/adapters/interfaces/state-adapter.interface';
|
|
10
|
+
export { StreamAdapter, type StreamQueryFilter, } from './src/adapters/interfaces/stream-adapter.interface';
|
|
1
11
|
export { getProjectIdentifier, getUserIdentifier, isAnalyticsEnabled, trackEvent } from './src/analytics/utils';
|
|
2
12
|
export { config } from './src/config';
|
|
3
13
|
export { CronManager, setupCronHandlers } from './src/cron-handler';
|
|
4
|
-
export { createEventManager } from './src/event-manager';
|
|
5
14
|
export { getStepConfig, getStreamConfig } from './src/get-step-config';
|
|
6
15
|
export { isApiStep, isCronStep, isEventStep, isNoopStep } from './src/guards';
|
|
7
16
|
export { type InfrastructureValidationError, type InfrastructureValidationResult, validateInfrastructureConfig, } from './src/infrastructure-validator';
|
|
@@ -11,13 +20,12 @@ export { createMermaidGenerator } from './src/mermaid-generator';
|
|
|
11
20
|
export { Motia, MotiaPluginContext, PLUGIN_FLOW_ID, PluginApiConfig, UnregisterMotiaPluginApi } from './src/motia';
|
|
12
21
|
export { NoTracer } from './src/observability/no-tracer';
|
|
13
22
|
export { NoPrinter, Printer } from './src/printer';
|
|
14
|
-
export { QueueManager } from './src/queue-manager';
|
|
23
|
+
export { QueueManager, type QueueMetrics } from './src/queue-manager';
|
|
15
24
|
export { createServer, MotiaServer } from './src/server';
|
|
16
25
|
export { createStateAdapter } from './src/state/create-state-adapter';
|
|
17
|
-
export { StateAdapter } from './src/state/state-adapter';
|
|
18
26
|
export { createStepHandlers, MotiaEventManager } from './src/step-handlers';
|
|
19
|
-
export { StreamAdapter } from './src/streams/adapters/stream-adapter';
|
|
20
27
|
export * from './src/types';
|
|
28
|
+
export type { AdapterConfig, Config } from './src/types/app-config-types';
|
|
21
29
|
export * from './src/types/schema.types';
|
|
22
|
-
export { MotiaStream, StreamConfig } from './src/types-stream';
|
|
30
|
+
export { type BaseStreamItem, MotiaStream, type StateStreamEvent, type StateStreamEventChannel, StreamConfig, } from './src/types-stream';
|
|
23
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACtH,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAC/G,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,6DAA6D,CAAA;AACnI,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,uEAAuE,CAAA;AAC9E,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,qEAAqE,CAAA;AAC5E,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,YAAY,GACb,MAAM,kDAAkD,CAAA;AACzD,YAAY,EACV,YAAY,EACZ,kBAAkB,GACnB,MAAM,mDAAmD,CAAA;AAC1D,YAAY,EACV,MAAM,EACN,oBAAoB,EACpB,MAAM,GACP,MAAM,2DAA2D,CAAA;AAClE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,eAAe,GAChB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC7E,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,4BAA4B,GAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACzE,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,YAAY,GACb,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,24 @@ 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.
|
|
17
|
+
exports.createStepHandlers = exports.createStateAdapter = exports.createServer = exports.QueueManager = exports.Printer = exports.NoPrinter = exports.NoTracer = exports.PLUGIN_FLOW_ID = exports.createMermaidGenerator = exports.Logger = exports.LockedData = exports.validateInfrastructureConfig = exports.isNoopStep = exports.isEventStep = exports.isCronStep = exports.isApiStep = exports.getStreamConfig = exports.getStepConfig = exports.setupCronHandlers = exports.config = exports.trackEvent = exports.isAnalyticsEnabled = exports.getUserIdentifier = exports.getProjectIdentifier = exports.StreamAdapter = exports.DefaultObservabilityAdapter = exports.createDefaultObservabilityAdapter = exports.createCompositeObservabilityAdapter = exports.CompositeObservabilityAdapter = exports.DefaultQueueEventAdapter = exports.DefaultCronAdapter = exports.MemoryStreamAdapter = exports.MemoryStateAdapter = exports.FileStreamAdapter = exports.FileStateAdapter = void 0;
|
|
18
|
+
var defaults_1 = require("./src/adapters/defaults");
|
|
19
|
+
Object.defineProperty(exports, "FileStateAdapter", { enumerable: true, get: function () { return defaults_1.FileStateAdapter; } });
|
|
20
|
+
Object.defineProperty(exports, "FileStreamAdapter", { enumerable: true, get: function () { return defaults_1.FileStreamAdapter; } });
|
|
21
|
+
Object.defineProperty(exports, "MemoryStateAdapter", { enumerable: true, get: function () { return defaults_1.MemoryStateAdapter; } });
|
|
22
|
+
Object.defineProperty(exports, "MemoryStreamAdapter", { enumerable: true, get: function () { return defaults_1.MemoryStreamAdapter; } });
|
|
23
|
+
var in_memory_cron_adapter_1 = require("./src/adapters/defaults/cron/in-memory-cron-adapter");
|
|
24
|
+
Object.defineProperty(exports, "DefaultCronAdapter", { enumerable: true, get: function () { return in_memory_cron_adapter_1.InMemoryCronAdapter; } });
|
|
25
|
+
var in_memory_queue_event_adapter_1 = require("./src/adapters/defaults/event/in-memory-queue-event-adapter");
|
|
26
|
+
Object.defineProperty(exports, "DefaultQueueEventAdapter", { enumerable: true, get: function () { return in_memory_queue_event_adapter_1.InMemoryQueueEventAdapter; } });
|
|
27
|
+
var composite_observability_adapter_1 = require("./src/adapters/defaults/observability/composite-observability-adapter");
|
|
28
|
+
Object.defineProperty(exports, "CompositeObservabilityAdapter", { enumerable: true, get: function () { return composite_observability_adapter_1.CompositeObservabilityAdapter; } });
|
|
29
|
+
Object.defineProperty(exports, "createCompositeObservabilityAdapter", { enumerable: true, get: function () { return composite_observability_adapter_1.createCompositeObservabilityAdapter; } });
|
|
30
|
+
var default_observability_adapter_1 = require("./src/adapters/defaults/observability/default-observability-adapter");
|
|
31
|
+
Object.defineProperty(exports, "createDefaultObservabilityAdapter", { enumerable: true, get: function () { return default_observability_adapter_1.createDefaultObservabilityAdapter; } });
|
|
32
|
+
Object.defineProperty(exports, "DefaultObservabilityAdapter", { enumerable: true, get: function () { return default_observability_adapter_1.DefaultObservabilityAdapter; } });
|
|
33
|
+
var stream_adapter_interface_1 = require("./src/adapters/interfaces/stream-adapter.interface");
|
|
34
|
+
Object.defineProperty(exports, "StreamAdapter", { enumerable: true, get: function () { return stream_adapter_interface_1.StreamAdapter; } });
|
|
18
35
|
var utils_1 = require("./src/analytics/utils");
|
|
19
36
|
Object.defineProperty(exports, "getProjectIdentifier", { enumerable: true, get: function () { return utils_1.getProjectIdentifier; } });
|
|
20
37
|
Object.defineProperty(exports, "getUserIdentifier", { enumerable: true, get: function () { return utils_1.getUserIdentifier; } });
|
|
@@ -24,8 +41,6 @@ var config_1 = require("./src/config");
|
|
|
24
41
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_1.config; } });
|
|
25
42
|
var cron_handler_1 = require("./src/cron-handler");
|
|
26
43
|
Object.defineProperty(exports, "setupCronHandlers", { enumerable: true, get: function () { return cron_handler_1.setupCronHandlers; } });
|
|
27
|
-
var event_manager_1 = require("./src/event-manager");
|
|
28
|
-
Object.defineProperty(exports, "createEventManager", { enumerable: true, get: function () { return event_manager_1.createEventManager; } });
|
|
29
44
|
var get_step_config_1 = require("./src/get-step-config");
|
|
30
45
|
Object.defineProperty(exports, "getStepConfig", { enumerable: true, get: function () { return get_step_config_1.getStepConfig; } });
|
|
31
46
|
Object.defineProperty(exports, "getStreamConfig", { enumerable: true, get: function () { return get_step_config_1.getStreamConfig; } });
|
|
@@ -57,7 +72,5 @@ var create_state_adapter_1 = require("./src/state/create-state-adapter");
|
|
|
57
72
|
Object.defineProperty(exports, "createStateAdapter", { enumerable: true, get: function () { return create_state_adapter_1.createStateAdapter; } });
|
|
58
73
|
var step_handlers_1 = require("./src/step-handlers");
|
|
59
74
|
Object.defineProperty(exports, "createStepHandlers", { enumerable: true, get: function () { return step_handlers_1.createStepHandlers; } });
|
|
60
|
-
var stream_adapter_1 = require("./src/streams/adapters/stream-adapter");
|
|
61
|
-
Object.defineProperty(exports, "StreamAdapter", { enumerable: true, get: function () { return stream_adapter_1.StreamAdapter; } });
|
|
62
75
|
__exportStar(require("./src/types"), exports);
|
|
63
76
|
__exportStar(require("./src/types/schema.types"), exports);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CronAdapter, CronLock, CronLockInfo } from '../../interfaces/cron-adapter.interface';
|
|
2
|
+
export declare class InMemoryCronAdapter implements CronAdapter {
|
|
3
|
+
private locks;
|
|
4
|
+
private instanceId;
|
|
5
|
+
constructor();
|
|
6
|
+
acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
|
|
7
|
+
releaseLock(lock: CronLock): Promise<void>;
|
|
8
|
+
renewLock(lock: CronLock, ttl: number): Promise<boolean>;
|
|
9
|
+
isHealthy(): Promise<boolean>;
|
|
10
|
+
shutdown(): Promise<void>;
|
|
11
|
+
getActiveLocks(): Promise<CronLockInfo[]>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=in-memory-cron-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-cron-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAElG,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,UAAU,CAAQ;;IAMpB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAcnE,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUxD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAQhD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InMemoryCronAdapter = void 0;
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const uuid_1 = require("uuid");
|
|
9
|
+
class InMemoryCronAdapter {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.locks = new Map();
|
|
12
|
+
this.instanceId = `${os_1.default.hostname()}-${(0, uuid_1.v4)()}`;
|
|
13
|
+
}
|
|
14
|
+
async acquireLock(jobName, ttl) {
|
|
15
|
+
const now = Date.now();
|
|
16
|
+
const lock = {
|
|
17
|
+
jobName,
|
|
18
|
+
lockId: (0, uuid_1.v4)(),
|
|
19
|
+
acquiredAt: now,
|
|
20
|
+
expiresAt: now + ttl,
|
|
21
|
+
instanceId: this.instanceId,
|
|
22
|
+
};
|
|
23
|
+
this.locks.set(jobName, lock);
|
|
24
|
+
return lock;
|
|
25
|
+
}
|
|
26
|
+
async releaseLock(lock) {
|
|
27
|
+
this.locks.delete(lock.jobName);
|
|
28
|
+
}
|
|
29
|
+
async renewLock(lock, ttl) {
|
|
30
|
+
const existingLock = this.locks.get(lock.jobName);
|
|
31
|
+
if (existingLock && existingLock.lockId === lock.lockId) {
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
existingLock.expiresAt = now + ttl;
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
async isHealthy() {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
async shutdown() {
|
|
42
|
+
this.locks.clear();
|
|
43
|
+
}
|
|
44
|
+
async getActiveLocks() {
|
|
45
|
+
return Array.from(this.locks.values()).map((lock) => ({
|
|
46
|
+
jobName: lock.jobName,
|
|
47
|
+
instanceId: lock.instanceId,
|
|
48
|
+
acquiredAt: lock.acquiredAt,
|
|
49
|
+
expiresAt: lock.expiresAt,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.InMemoryCronAdapter = InMemoryCronAdapter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type QueueMetrics } from '../../../queue-manager';
|
|
2
|
+
import type { Event, QueueConfig } from '../../../types';
|
|
3
|
+
import type { EventAdapter, SubscriptionHandle } from '../../interfaces/event-adapter.interface';
|
|
4
|
+
export declare class InMemoryQueueEventAdapter implements EventAdapter {
|
|
5
|
+
private queueManager;
|
|
6
|
+
private subscriptions;
|
|
7
|
+
emit<TData>(event: Event<TData>): Promise<void>;
|
|
8
|
+
subscribe<TData>(topic: string, stepName: string, handler: (event: Event<TData>) => void | Promise<void>, queueConfig?: QueueConfig): Promise<SubscriptionHandle>;
|
|
9
|
+
unsubscribe(handle: SubscriptionHandle): Promise<void>;
|
|
10
|
+
shutdown(): Promise<void>;
|
|
11
|
+
getSubscriptionCount(topic: string): Promise<number>;
|
|
12
|
+
listTopics(): Promise<string[]>;
|
|
13
|
+
getAllMetrics(): Record<string, QueueMetrics>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=in-memory-queue-event-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-queue-event-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/event/in-memory-queue-event-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAEhG,qBAAa,yBAA0B,YAAW,YAAY;IAC5D,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CACV;IAEL,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACtD,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAmBxB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;CAG9C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryQueueEventAdapter = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const defaults_1 = require("../../../infrastructure-validator/defaults");
|
|
6
|
+
const queue_manager_1 = require("../../../queue-manager");
|
|
7
|
+
class InMemoryQueueEventAdapter {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.queueManager = new queue_manager_1.QueueManager();
|
|
10
|
+
this.subscriptions = new Map();
|
|
11
|
+
}
|
|
12
|
+
async emit(event) {
|
|
13
|
+
await this.queueManager.enqueue(event.topic, event, event.messageGroupId);
|
|
14
|
+
}
|
|
15
|
+
async subscribe(topic, stepName, handler, queueConfig) {
|
|
16
|
+
const id = (0, uuid_1.v4)();
|
|
17
|
+
this.subscriptions.set(id, { topic, handler: handler });
|
|
18
|
+
const config = queueConfig || defaults_1.DEFAULT_QUEUE_CONFIG;
|
|
19
|
+
this.queueManager.subscribe(topic, handler, config, id);
|
|
20
|
+
const handle = {
|
|
21
|
+
topic,
|
|
22
|
+
id,
|
|
23
|
+
unsubscribe: async () => {
|
|
24
|
+
await this.unsubscribe(handle);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
return handle;
|
|
28
|
+
}
|
|
29
|
+
async unsubscribe(handle) {
|
|
30
|
+
const subscription = this.subscriptions.get(handle.id);
|
|
31
|
+
if (subscription) {
|
|
32
|
+
this.queueManager.unsubscribe(handle.topic, subscription.handler);
|
|
33
|
+
this.subscriptions.delete(handle.id);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async shutdown() {
|
|
37
|
+
this.subscriptions.clear();
|
|
38
|
+
}
|
|
39
|
+
async getSubscriptionCount(topic) {
|
|
40
|
+
return Array.from(this.subscriptions.values()).filter((sub) => sub.topic === topic).length;
|
|
41
|
+
}
|
|
42
|
+
async listTopics() {
|
|
43
|
+
return Array.from(new Set(Array.from(this.subscriptions.values()).map((sub) => sub.topic)));
|
|
44
|
+
}
|
|
45
|
+
getAllMetrics() {
|
|
46
|
+
return this.queueManager.getAllMetrics();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.InMemoryQueueEventAdapter = InMemoryQueueEventAdapter;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { InMemoryCronAdapter } from './cron/in-memory-cron-adapter';
|
|
2
|
+
export { InMemoryQueueEventAdapter } from './event/in-memory-queue-event-adapter';
|
|
3
|
+
export { CompositeObservabilityAdapter, createCompositeObservabilityAdapter, } from './observability/composite-observability-adapter';
|
|
4
|
+
export { createDefaultObservabilityAdapter, DefaultObservabilityAdapter, } from './observability/default-observability-adapter';
|
|
5
|
+
export { type FileAdapterConfig as FileStateAdapterConfig, FileStateAdapter } from './state/file-state-adapter';
|
|
6
|
+
export { MemoryStateAdapter } from './state/memory-state-adapter';
|
|
7
|
+
export { type FileAdapterConfig as FileStreamAdapterConfig, FileStreamAdapter } from './stream/file-stream-adapter';
|
|
8
|
+
export { MemoryStreamAdapter } from './stream/memory-stream-adapter';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,KAAK,iBAAiB,IAAI,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,KAAK,iBAAiB,IAAI,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryStreamAdapter = exports.FileStreamAdapter = exports.MemoryStateAdapter = exports.FileStateAdapter = exports.DefaultObservabilityAdapter = exports.createDefaultObservabilityAdapter = exports.createCompositeObservabilityAdapter = exports.CompositeObservabilityAdapter = exports.InMemoryQueueEventAdapter = exports.InMemoryCronAdapter = void 0;
|
|
4
|
+
var in_memory_cron_adapter_1 = require("./cron/in-memory-cron-adapter");
|
|
5
|
+
Object.defineProperty(exports, "InMemoryCronAdapter", { enumerable: true, get: function () { return in_memory_cron_adapter_1.InMemoryCronAdapter; } });
|
|
6
|
+
var in_memory_queue_event_adapter_1 = require("./event/in-memory-queue-event-adapter");
|
|
7
|
+
Object.defineProperty(exports, "InMemoryQueueEventAdapter", { enumerable: true, get: function () { return in_memory_queue_event_adapter_1.InMemoryQueueEventAdapter; } });
|
|
8
|
+
var composite_observability_adapter_1 = require("./observability/composite-observability-adapter");
|
|
9
|
+
Object.defineProperty(exports, "CompositeObservabilityAdapter", { enumerable: true, get: function () { return composite_observability_adapter_1.CompositeObservabilityAdapter; } });
|
|
10
|
+
Object.defineProperty(exports, "createCompositeObservabilityAdapter", { enumerable: true, get: function () { return composite_observability_adapter_1.createCompositeObservabilityAdapter; } });
|
|
11
|
+
var default_observability_adapter_1 = require("./observability/default-observability-adapter");
|
|
12
|
+
Object.defineProperty(exports, "createDefaultObservabilityAdapter", { enumerable: true, get: function () { return default_observability_adapter_1.createDefaultObservabilityAdapter; } });
|
|
13
|
+
Object.defineProperty(exports, "DefaultObservabilityAdapter", { enumerable: true, get: function () { return default_observability_adapter_1.DefaultObservabilityAdapter; } });
|
|
14
|
+
var file_state_adapter_1 = require("./state/file-state-adapter");
|
|
15
|
+
Object.defineProperty(exports, "FileStateAdapter", { enumerable: true, get: function () { return file_state_adapter_1.FileStateAdapter; } });
|
|
16
|
+
var memory_state_adapter_1 = require("./state/memory-state-adapter");
|
|
17
|
+
Object.defineProperty(exports, "MemoryStateAdapter", { enumerable: true, get: function () { return memory_state_adapter_1.MemoryStateAdapter; } });
|
|
18
|
+
var file_stream_adapter_1 = require("./stream/file-stream-adapter");
|
|
19
|
+
Object.defineProperty(exports, "FileStreamAdapter", { enumerable: true, get: function () { return file_stream_adapter_1.FileStreamAdapter; } });
|
|
20
|
+
var memory_stream_adapter_1 = require("./stream/memory-stream-adapter");
|
|
21
|
+
Object.defineProperty(exports, "MemoryStreamAdapter", { enumerable: true, get: function () { return memory_stream_adapter_1.MemoryStreamAdapter; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Logger } from '../../../logger';
|
|
2
|
+
import type { Step } from '../../../types';
|
|
3
|
+
import type { Metric, ObservabilityAdapter, Tracer } from '../../interfaces/observability-adapter.interface';
|
|
4
|
+
export declare class CompositeObservabilityAdapter implements ObservabilityAdapter {
|
|
5
|
+
private adapters;
|
|
6
|
+
constructor(adapters: ObservabilityAdapter[]);
|
|
7
|
+
createTracer(traceId: string, step: Step, logger: Logger): Promise<Tracer>;
|
|
8
|
+
attachToTrace(traceId: string, step: Step, logger: Logger): Promise<Tracer>;
|
|
9
|
+
clear(): Promise<void>;
|
|
10
|
+
recordMetric(metric: Metric): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare const createCompositeObservabilityAdapter: (adapters: ObservabilityAdapter[]) => CompositeObservabilityAdapter;
|
|
13
|
+
//# sourceMappingURL=composite-observability-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-observability-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/observability/composite-observability-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,kDAAkD,CAAA;AAmC5G,qBAAa,6BAA8B,YAAW,oBAAoB;IAC5D,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,oBAAoB,EAAE;IAE9C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlD;AAED,eAAO,MAAM,mCAAmC,GAC9C,UAAU,oBAAoB,EAAE,KAC/B,6BAEF,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCompositeObservabilityAdapter = exports.CompositeObservabilityAdapter = void 0;
|
|
4
|
+
class CompositeTracer {
|
|
5
|
+
constructor(tracers) {
|
|
6
|
+
this.tracers = tracers;
|
|
7
|
+
}
|
|
8
|
+
end(err) {
|
|
9
|
+
for (const tracer of this.tracers) {
|
|
10
|
+
tracer.end(err);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
stateOperation(operation, input) {
|
|
14
|
+
for (const tracer of this.tracers) {
|
|
15
|
+
tracer.stateOperation(operation, input);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
emitOperation(topic, data, success) {
|
|
19
|
+
for (const tracer of this.tracers) {
|
|
20
|
+
tracer.emitOperation(topic, data, success);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
streamOperation(streamName, operation, input) {
|
|
24
|
+
for (const tracer of this.tracers) {
|
|
25
|
+
tracer.streamOperation(streamName, operation, input);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
child(step, logger) {
|
|
29
|
+
const childTracers = this.tracers.map((tracer) => tracer.child(step, logger));
|
|
30
|
+
return new CompositeTracer(childTracers);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class CompositeObservabilityAdapter {
|
|
34
|
+
constructor(adapters) {
|
|
35
|
+
this.adapters = adapters;
|
|
36
|
+
}
|
|
37
|
+
async createTracer(traceId, step, logger) {
|
|
38
|
+
const tracers = await Promise.all(this.adapters.map((adapter) => adapter.createTracer(traceId, step, logger)));
|
|
39
|
+
return new CompositeTracer(tracers);
|
|
40
|
+
}
|
|
41
|
+
async attachToTrace(traceId, step, logger) {
|
|
42
|
+
const tracers = await Promise.all(this.adapters.map((adapter) => adapter.attachToTrace(traceId, step, logger)));
|
|
43
|
+
return new CompositeTracer(tracers);
|
|
44
|
+
}
|
|
45
|
+
async clear() {
|
|
46
|
+
await Promise.all(this.adapters.map((adapter) => adapter.clear()));
|
|
47
|
+
}
|
|
48
|
+
async recordMetric(metric) {
|
|
49
|
+
await Promise.all(this.adapters.map((adapter) => (adapter.recordMetric ? adapter.recordMetric(metric) : Promise.resolve())));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.CompositeObservabilityAdapter = CompositeObservabilityAdapter;
|
|
53
|
+
const createCompositeObservabilityAdapter = (adapters) => {
|
|
54
|
+
return new CompositeObservabilityAdapter(adapters);
|
|
55
|
+
};
|
|
56
|
+
exports.createCompositeObservabilityAdapter = createCompositeObservabilityAdapter;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LockedData } from '../../../locked-data';
|
|
2
|
+
import type { Logger } from '../../../logger';
|
|
3
|
+
import { StreamTracer } from '../../../observability/stream-tracer';
|
|
4
|
+
import type { Trace, TraceGroup } from '../../../observability/types';
|
|
5
|
+
import type { Step } from '../../../types';
|
|
6
|
+
import type { MotiaStream } from '../../../types-stream';
|
|
7
|
+
import type { ObservabilityAdapter } from '../../interfaces/observability-adapter.interface';
|
|
8
|
+
export declare class DefaultObservabilityAdapter implements ObservabilityAdapter {
|
|
9
|
+
private readonly traceStream;
|
|
10
|
+
private readonly traceGroupStream;
|
|
11
|
+
constructor(traceStream: MotiaStream<Trace>, traceGroupStream: MotiaStream<TraceGroup>);
|
|
12
|
+
private getAllGroups;
|
|
13
|
+
private deleteGroup;
|
|
14
|
+
clear(): Promise<void>;
|
|
15
|
+
createTracer(traceId: string, step: Step, logger: Logger): Promise<StreamTracer>;
|
|
16
|
+
attachToTrace(traceId: string, step: Step, logger: Logger): Promise<StreamTracer>;
|
|
17
|
+
}
|
|
18
|
+
export declare const createDefaultObservabilityAdapter: (lockedData: LockedData) => ObservabilityAdapter;
|
|
19
|
+
//# sourceMappingURL=default-observability-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-observability-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/observability/default-observability-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAI5F,qBAAa,2BAA4B,YAAW,oBAAoB;IAEpE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,EAC/B,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC;YAG9C,YAAY;YAIZ,WAAW;IASnB,KAAK;IAQL,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAiCxD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CAYhE;AAED,eAAO,MAAM,iCAAiC,GAAI,YAAY,UAAU,KAAG,oBAkC1E,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDefaultObservabilityAdapter = exports.DefaultObservabilityAdapter = void 0;
|
|
4
|
+
const create_trace_1 = require("../../../observability/create-trace");
|
|
5
|
+
const stream_tracer_1 = require("../../../observability/stream-tracer");
|
|
6
|
+
const trace_manager_1 = require("../../../observability/trace-manager");
|
|
7
|
+
const trace_stream_adapter_1 = require("../../../observability/trace-stream-adapter");
|
|
8
|
+
const MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS ? parseInt(process.env.MOTIA_MAX_TRACE_GROUPS) : 50;
|
|
9
|
+
class DefaultObservabilityAdapter {
|
|
10
|
+
constructor(traceStream, traceGroupStream) {
|
|
11
|
+
this.traceStream = traceStream;
|
|
12
|
+
this.traceGroupStream = traceGroupStream;
|
|
13
|
+
}
|
|
14
|
+
async getAllGroups() {
|
|
15
|
+
return await this.traceGroupStream.getGroup('default');
|
|
16
|
+
}
|
|
17
|
+
async deleteGroup(group) {
|
|
18
|
+
const traces = await this.traceStream.getGroup(group.id);
|
|
19
|
+
for (const trace of traces) {
|
|
20
|
+
await this.traceStream.delete(group.id, trace.id);
|
|
21
|
+
}
|
|
22
|
+
await this.traceGroupStream.delete('default', group.id);
|
|
23
|
+
}
|
|
24
|
+
async clear() {
|
|
25
|
+
const groups = await this.getAllGroups();
|
|
26
|
+
for (const group of groups) {
|
|
27
|
+
await this.deleteGroup(group);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async createTracer(traceId, step, logger) {
|
|
31
|
+
const traceGroup = {
|
|
32
|
+
id: traceId,
|
|
33
|
+
name: step.config.name,
|
|
34
|
+
lastActivity: Date.now(),
|
|
35
|
+
metadata: {
|
|
36
|
+
completedSteps: 0,
|
|
37
|
+
activeSteps: 0,
|
|
38
|
+
totalSteps: 0,
|
|
39
|
+
},
|
|
40
|
+
correlationId: undefined,
|
|
41
|
+
status: 'running',
|
|
42
|
+
startTime: Date.now(),
|
|
43
|
+
};
|
|
44
|
+
const groups = await this.getAllGroups();
|
|
45
|
+
if (groups.length >= MAX_TRACE_GROUPS) {
|
|
46
|
+
const groupsToDelete = groups
|
|
47
|
+
.sort((a, b) => a.startTime - b.startTime)
|
|
48
|
+
.slice(0, groups.length - MAX_TRACE_GROUPS + 1);
|
|
49
|
+
for (const group of groupsToDelete) {
|
|
50
|
+
await this.deleteGroup(group);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const trace = (0, create_trace_1.createTrace)(traceGroup, step);
|
|
54
|
+
const manager = new trace_manager_1.TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace);
|
|
55
|
+
return new stream_tracer_1.StreamTracer(manager, traceGroup, trace, logger);
|
|
56
|
+
}
|
|
57
|
+
async attachToTrace(traceId, step, logger) {
|
|
58
|
+
const existingGroup = await this.traceGroupStream.get('default', traceId);
|
|
59
|
+
if (!existingGroup) {
|
|
60
|
+
return this.createTracer(traceId, step, logger);
|
|
61
|
+
}
|
|
62
|
+
const trace = (0, create_trace_1.createTrace)(existingGroup, step);
|
|
63
|
+
const manager = new trace_manager_1.TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace);
|
|
64
|
+
return new stream_tracer_1.StreamTracer(manager, existingGroup, trace, logger);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.DefaultObservabilityAdapter = DefaultObservabilityAdapter;
|
|
68
|
+
const createDefaultObservabilityAdapter = (lockedData) => {
|
|
69
|
+
const traceStreamName = 'motia-trace';
|
|
70
|
+
const traceStreamAdapter = new trace_stream_adapter_1.TraceStreamAdapter(lockedData.baseDir, traceStreamName, lockedData.streamAdapter);
|
|
71
|
+
const traceStream = lockedData.createStream({
|
|
72
|
+
filePath: traceStreamName,
|
|
73
|
+
hidden: true,
|
|
74
|
+
config: {
|
|
75
|
+
name: traceStreamName,
|
|
76
|
+
baseConfig: { storageType: 'custom', factory: () => traceStreamAdapter },
|
|
77
|
+
schema: null,
|
|
78
|
+
},
|
|
79
|
+
})();
|
|
80
|
+
const traceGroupName = 'motia-trace-group';
|
|
81
|
+
const traceGroupStreamAdapter = new trace_stream_adapter_1.TraceStreamAdapter(lockedData.baseDir, traceGroupName, lockedData.streamAdapter);
|
|
82
|
+
const traceGroupStream = lockedData.createStream({
|
|
83
|
+
filePath: traceGroupName,
|
|
84
|
+
hidden: true,
|
|
85
|
+
config: {
|
|
86
|
+
name: traceGroupName,
|
|
87
|
+
baseConfig: { storageType: 'custom', factory: () => traceGroupStreamAdapter },
|
|
88
|
+
schema: null,
|
|
89
|
+
},
|
|
90
|
+
})();
|
|
91
|
+
return new DefaultObservabilityAdapter(traceStream, traceGroupStream);
|
|
92
|
+
};
|
|
93
|
+
exports.createDefaultObservabilityAdapter = createDefaultObservabilityAdapter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StateAdapter, StateItem, StateItemsInput } from '
|
|
1
|
+
import type { StateAdapter, StateItem, StateItemsInput } from '../../interfaces/state-adapter.interface';
|
|
2
2
|
export type FileAdapterConfig = {
|
|
3
3
|
adapter: 'default';
|
|
4
4
|
filePath: string;
|
|
@@ -20,4 +20,4 @@ export declare class FileStateAdapter implements StateAdapter {
|
|
|
20
20
|
private _readFile;
|
|
21
21
|
private _writeFile;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=file-state-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-state-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/state/file-state-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAGxG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;gBAErB,MAAM,EAAE,iBAAiB;IAKrC,IAAI;IAeE,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ1C,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOvD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAW7C,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAa1D,KAAK,CAAC,OAAO,EAAE,MAAM;IAarB,IAAI,CAAC,OAAO,EAAE,MAAM;IAOpB,QAAQ;IASR,OAAO;IAEP,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAazD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,UAAU;CAQnB"}
|
|
@@ -110,9 +110,7 @@ class FileStateAdapter {
|
|
|
110
110
|
Object.keys(data).forEach((key) => traceIds.add(key.split(':')[0]));
|
|
111
111
|
return Array.from(traceIds);
|
|
112
112
|
}
|
|
113
|
-
async cleanup() {
|
|
114
|
-
// No cleanup needed for file system
|
|
115
|
-
}
|
|
113
|
+
async cleanup() { }
|
|
116
114
|
async items(input) {
|
|
117
115
|
const data = this._readFile();
|
|
118
116
|
return Object.entries(data)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StateAdapter, StateItem, StateItemsInput } from '
|
|
1
|
+
import type { StateAdapter, StateItem, StateItemsInput } from '../../interfaces/state-adapter.interface';
|
|
2
2
|
export declare class MemoryStateAdapter implements StateAdapter {
|
|
3
3
|
private state;
|
|
4
4
|
constructor();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-state-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/state/memory-state-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAGxG,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,KAAK,CAA8B;;IAMrC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM1C,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMvD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAQ7C,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW1D,KAAK,CAAC,OAAO,EAAE,MAAM;IAUrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,QAAQ;IAQR,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAYnD,OAAO;IAEb,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -58,9 +58,7 @@ class MemoryStateAdapter {
|
|
|
58
58
|
.filter((item) => (input.groupId ? item.groupId === input.groupId : true))
|
|
59
59
|
.filter((item) => (input.filter ? (0, utils_1.filterItem)(item, input.filter) : true));
|
|
60
60
|
}
|
|
61
|
-
async cleanup() {
|
|
62
|
-
// No cleanup needed for memory
|
|
63
|
-
}
|
|
61
|
+
async cleanup() { }
|
|
64
62
|
_makeKey(traceId, key) {
|
|
65
63
|
return `${traceId}:${key}`;
|
|
66
64
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StateFilter, StateItem } from '
|
|
1
|
+
import type { StateFilter, StateItem } from '../../interfaces/state-adapter.interface';
|
|
2
2
|
export declare const inferType: (value: unknown) => StateItem["type"];
|
|
3
3
|
export declare const filterItem: (item: StateItem, filters: StateFilter[]) => boolean;
|
|
4
4
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAA;AAUtF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,SAAS,CAAC,MAAM,CAa1D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,EAAE,SAAS,WAAW,EAAE,KAAG,OAuCpE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BaseStreamItem } from '
|
|
2
|
-
import { StreamAdapter } from '
|
|
1
|
+
import type { BaseStreamItem } from '../../../types-stream';
|
|
2
|
+
import { StreamAdapter } from '../../interfaces/stream-adapter.interface';
|
|
3
3
|
export type FileAdapterConfig = {
|
|
4
4
|
filePath: string;
|
|
5
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-stream-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/stream/file-stream-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,iBAAiB,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,KAAK,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAE,MAAiB;IAMzF,IAAI;IAcE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAQ3D,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAOxE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;;;IAW7C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAa1E,KAAK,CAAC,OAAO,EAAE,MAAM;IAa3B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAI9C,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAU7C,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO;CAQnC"}
|
|
@@ -39,8 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.FileStreamAdapter = void 0;
|
|
40
40
|
const fs_1 = __importDefault(require("fs"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
-
const
|
|
43
|
-
class FileStreamAdapter extends
|
|
42
|
+
const stream_adapter_interface_1 = require("../../interfaces/stream-adapter.interface");
|
|
43
|
+
class FileStreamAdapter extends stream_adapter_interface_1.StreamAdapter {
|
|
44
44
|
constructor(filePath, streamName, motiaFileStoragePath = '.motia') {
|
|
45
45
|
super();
|
|
46
46
|
this.streamsDir = path.join(filePath, motiaFileStoragePath, 'streams');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-stream-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/stream/memory-stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AAEzE,qBAAa,mBAAmB,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,KAAK,CAAC;IAClE,OAAO,CAAC,KAAK,CAA8B;IAErC,IAAI;IAIJ,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM1C,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMtD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;;IAQ5C,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW/D,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MemoryStreamAdapter = void 0;
|
|
4
|
-
const
|
|
5
|
-
class MemoryStreamAdapter extends
|
|
4
|
+
const stream_adapter_interface_1 = require("../../interfaces/stream-adapter.interface");
|
|
5
|
+
class MemoryStreamAdapter extends stream_adapter_interface_1.StreamAdapter {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.state = {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface CronLock {
|
|
2
|
+
jobName: string;
|
|
3
|
+
lockId: string;
|
|
4
|
+
acquiredAt: number;
|
|
5
|
+
expiresAt: number;
|
|
6
|
+
instanceId: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CronLockInfo {
|
|
9
|
+
jobName: string;
|
|
10
|
+
instanceId: string;
|
|
11
|
+
acquiredAt: number;
|
|
12
|
+
expiresAt: number;
|
|
13
|
+
}
|
|
14
|
+
export interface CronAdapterConfig {
|
|
15
|
+
lockTTL?: number;
|
|
16
|
+
lockRetryDelay?: number;
|
|
17
|
+
lockRetryAttempts?: number;
|
|
18
|
+
instanceId?: string;
|
|
19
|
+
enableHealthCheck?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface CronAdapter {
|
|
22
|
+
acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
|
|
23
|
+
releaseLock(lock: CronLock): Promise<void>;
|
|
24
|
+
renewLock(lock: CronLock, ttl: number): Promise<boolean>;
|
|
25
|
+
isHealthy(): Promise<boolean>;
|
|
26
|
+
shutdown(): Promise<void>;
|
|
27
|
+
getActiveLocks(): Promise<CronLockInfo[]>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=cron-adapter.interface.d.ts.map
|