@motiadev/core 0.8.2-beta.140-709523 → 0.8.2-beta.140-504654
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 +5 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -18
- package/dist/src/call-step-file.js +1 -1
- package/dist/src/cron-handler.d.ts +3 -4
- package/dist/src/cron-handler.d.ts.map +1 -1
- package/dist/src/cron-handler.js +2 -46
- package/dist/src/event-manager.d.ts +4 -0
- package/dist/src/event-manager.d.ts.map +1 -0
- package/dist/src/event-manager.js +32 -0
- 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 +6 -4
- package/dist/src/motia.d.ts.map +1 -1
- package/dist/src/node/logger.d.ts +3 -0
- package/dist/src/node/logger.d.ts.map +1 -1
- package/dist/src/node/logger.js +5 -0
- package/dist/src/observability/index.d.ts +14 -3
- 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 +0 -1
- package/dist/src/observability/tracer.d.ts.map +1 -1
- package/dist/src/observability/tracer.js +1 -10
- package/dist/src/printer.d.ts +6 -0
- package/dist/src/printer.d.ts.map +1 -1
- package/dist/src/printer.js +19 -2
- package/dist/src/python/motia_logger.py +10 -1
- 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 +3 -17
- package/dist/src/server.d.ts +5 -11
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +12 -13
- package/dist/src/{adapters/defaults/state/file-state-adapter.d.ts → state/adapters/default-state-adapter.d.ts} +2 -2
- package/dist/src/state/adapters/default-state-adapter.d.ts.map +1 -0
- package/dist/src/{adapters/defaults/state/file-state-adapter.js → state/adapters/default-state-adapter.js} +3 -1
- package/dist/src/{adapters/defaults/state → state/adapters}/memory-state-adapter.d.ts +1 -1
- package/dist/src/state/adapters/memory-state-adapter.d.ts.map +1 -0
- package/dist/src/{adapters/defaults/state → state/adapters}/memory-state-adapter.js +3 -1
- package/dist/src/{adapters/defaults/state → state/adapters}/utils.d.ts +1 -1
- package/dist/src/state/adapters/utils.d.ts.map +1 -0
- 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/{adapters/interfaces/state-adapter.interface.d.ts → state/state-adapter.d.ts} +5 -2
- package/dist/src/state/state-adapter.d.ts.map +1 -0
- 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 +10 -14
- package/dist/src/{adapters/defaults/stream → streams/adapters}/file-stream-adapter.d.ts +2 -2
- package/dist/src/streams/adapters/file-stream-adapter.d.ts.map +1 -0
- package/dist/src/{adapters/defaults/stream → streams/adapters}/file-stream-adapter.js +2 -2
- package/dist/src/{adapters/defaults/stream → streams/adapters}/memory-stream-adapter.d.ts +1 -1
- package/dist/src/streams/adapters/memory-stream-adapter.d.ts.map +1 -0
- package/dist/src/{adapters/defaults/stream → streams/adapters}/memory-stream-adapter.js +2 -2
- package/dist/src/{adapters/interfaces/stream-adapter.interface.d.ts → streams/adapters/stream-adapter.d.ts} +4 -12
- package/dist/src/streams/adapters/stream-adapter.d.ts.map +1 -0
- package/dist/src/{adapters/interfaces/stream-adapter.interface.js → streams/adapters/stream-adapter.js} +3 -6
- 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 +0 -11
- package/dist/src/types/app-config-types.d.ts.map +1 -1
- package/dist/src/types.d.ts +5 -0
- 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 +1 -3
- package/package.json +1 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
- package/dist/src/adapters/defaults/index.d.ts +0 -9
- package/dist/src/adapters/defaults/index.d.ts.map +0 -1
- package/dist/src/adapters/defaults/index.js +0 -21
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.d.ts +0 -13
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/observability/composite-observability-adapter.js +0 -56
- package/dist/src/adapters/defaults/observability/default-observability-adapter.d.ts +0 -19
- package/dist/src/adapters/defaults/observability/default-observability-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/observability/default-observability-adapter.js +0 -93
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/index.d.ts +0 -6
- package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/index.js +0 -5
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
- /package/dist/src/{adapters/defaults/state → state/adapters}/utils.js +0 -0
- /package/dist/src/{adapters/interfaces/cron-adapter.interface.js → state/state-adapter.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
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';
|
|
11
1
|
export { getProjectIdentifier, getUserIdentifier, isAnalyticsEnabled, trackEvent } from './src/analytics/utils';
|
|
12
2
|
export { config } from './src/config';
|
|
13
3
|
export { CronManager, setupCronHandlers } from './src/cron-handler';
|
|
4
|
+
export { createEventManager } from './src/event-manager';
|
|
14
5
|
export { getStepConfig, getStreamConfig } from './src/get-step-config';
|
|
15
6
|
export { isApiStep, isCronStep, isEventStep, isNoopStep } from './src/guards';
|
|
16
7
|
export { type InfrastructureValidationError, type InfrastructureValidationResult, validateInfrastructureConfig, } from './src/infrastructure-validator';
|
|
@@ -20,12 +11,13 @@ export { createMermaidGenerator } from './src/mermaid-generator';
|
|
|
20
11
|
export { Motia, MotiaPluginContext, PLUGIN_FLOW_ID, PluginApiConfig, UnregisterMotiaPluginApi } from './src/motia';
|
|
21
12
|
export { NoTracer } from './src/observability/no-tracer';
|
|
22
13
|
export { NoPrinter, Printer } from './src/printer';
|
|
23
|
-
export { QueueManager
|
|
14
|
+
export { QueueManager } from './src/queue-manager';
|
|
24
15
|
export { createServer, MotiaServer } from './src/server';
|
|
25
16
|
export { createStateAdapter } from './src/state/create-state-adapter';
|
|
17
|
+
export { StateAdapter } from './src/state/state-adapter';
|
|
26
18
|
export { createStepHandlers, MotiaEventManager } from './src/step-handlers';
|
|
19
|
+
export { StreamAdapter } from './src/streams/adapters/stream-adapter';
|
|
27
20
|
export * from './src/types';
|
|
28
|
-
export type { AdapterConfig, Config } from './src/types/app-config-types';
|
|
29
21
|
export * from './src/types/schema.types';
|
|
30
|
-
export {
|
|
22
|
+
export { MotiaStream, StreamConfig } from './src/types-stream';
|
|
31
23
|
//# 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,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,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,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,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,cAAc,aAAa,CAAA;AAC3B,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,24 +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.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 =
|
|
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; } });
|
|
17
|
+
exports.StreamAdapter = 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.createEventManager = exports.setupCronHandlers = exports.config = exports.trackEvent = exports.isAnalyticsEnabled = exports.getUserIdentifier = exports.getProjectIdentifier = void 0;
|
|
35
18
|
var utils_1 = require("./src/analytics/utils");
|
|
36
19
|
Object.defineProperty(exports, "getProjectIdentifier", { enumerable: true, get: function () { return utils_1.getProjectIdentifier; } });
|
|
37
20
|
Object.defineProperty(exports, "getUserIdentifier", { enumerable: true, get: function () { return utils_1.getUserIdentifier; } });
|
|
@@ -41,6 +24,8 @@ var config_1 = require("./src/config");
|
|
|
41
24
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_1.config; } });
|
|
42
25
|
var cron_handler_1 = require("./src/cron-handler");
|
|
43
26
|
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; } });
|
|
44
29
|
var get_step_config_1 = require("./src/get-step-config");
|
|
45
30
|
Object.defineProperty(exports, "getStepConfig", { enumerable: true, get: function () { return get_step_config_1.getStepConfig; } });
|
|
46
31
|
Object.defineProperty(exports, "getStreamConfig", { enumerable: true, get: function () { return get_step_config_1.getStreamConfig; } });
|
|
@@ -72,5 +57,7 @@ var create_state_adapter_1 = require("./src/state/create-state-adapter");
|
|
|
72
57
|
Object.defineProperty(exports, "createStateAdapter", { enumerable: true, get: function () { return create_state_adapter_1.createStateAdapter; } });
|
|
73
58
|
var step_handlers_1 = require("./src/step-handlers");
|
|
74
59
|
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; } });
|
|
75
62
|
__exportStar(require("./src/types"), exports);
|
|
76
63
|
__exportStar(require("./src/types/schema.types"), exports);
|
|
@@ -125,7 +125,7 @@ const callStepFile = (options, motia) => {
|
|
|
125
125
|
return motia.printer.printInvalidEmit(step, input.topic);
|
|
126
126
|
}
|
|
127
127
|
tracer.emitOperation(input.topic, input.data, true);
|
|
128
|
-
return motia.
|
|
128
|
+
return motia.eventManager.emit({ ...input, traceId, flows, logger, tracer }, step.filePath);
|
|
129
129
|
});
|
|
130
130
|
Object.entries(streamConfig).forEach(([name, streamFactory]) => {
|
|
131
131
|
const stateStream = streamFactory();
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type { CronAdapter } from './adapters/interfaces/cron-adapter.interface';
|
|
2
1
|
import type { Motia } from './motia';
|
|
3
2
|
import type { CronConfig, Step } from './types';
|
|
4
3
|
export type CronManager = {
|
|
5
4
|
createCronJob: (step: Step<CronConfig>) => void;
|
|
6
5
|
removeCronJob: (step: Step<CronConfig>) => void;
|
|
7
|
-
close: () =>
|
|
6
|
+
close: () => void;
|
|
8
7
|
};
|
|
9
|
-
export declare const setupCronHandlers: (motia: Motia
|
|
8
|
+
export declare const setupCronHandlers: (motia: Motia) => {
|
|
10
9
|
createCronJob: (step: Step<CronConfig>) => void;
|
|
11
10
|
removeCronJob: (step: Step<CronConfig>) => void;
|
|
12
|
-
close: () =>
|
|
11
|
+
close: () => void;
|
|
13
12
|
};
|
|
14
13
|
//# sourceMappingURL=cron-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-handler.d.ts","sourceRoot":"","sources":["../../src/cron-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cron-handler.d.ts","sourceRoot":"","sources":["../../src/cron-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK;0BAGf,IAAI,CAAC,UAAU,CAAC;0BAoChB,IAAI,CAAC,UAAU,CAAC;;CAiB9C,CAAA"}
|
package/dist/src/cron-handler.js
CHANGED
|
@@ -38,7 +38,7 @@ const cron = __importStar(require("node-cron"));
|
|
|
38
38
|
const call_step_file_1 = require("./call-step-file");
|
|
39
39
|
const generate_trace_id_1 = require("./generate-trace-id");
|
|
40
40
|
const logger_1 = require("./logger");
|
|
41
|
-
const setupCronHandlers = (motia
|
|
41
|
+
const setupCronHandlers = (motia) => {
|
|
42
42
|
const cronJobs = new Map();
|
|
43
43
|
const createCronJob = (step) => {
|
|
44
44
|
const { config, filePath } = step;
|
|
@@ -56,30 +56,6 @@ const setupCronHandlers = (motia, cronAdapter) => {
|
|
|
56
56
|
cron: cronExpression,
|
|
57
57
|
});
|
|
58
58
|
const task = cron.schedule(cronExpression, async () => {
|
|
59
|
-
let lock = null;
|
|
60
|
-
if (cronAdapter) {
|
|
61
|
-
try {
|
|
62
|
-
lock = await cronAdapter.acquireLock(stepName, 300000);
|
|
63
|
-
if (!lock) {
|
|
64
|
-
logger_1.globalLogger.debug('[cron handler] failed to acquire lock, skipping execution', {
|
|
65
|
-
step: stepName,
|
|
66
|
-
});
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
logger_1.globalLogger.debug('[cron handler] acquired lock for cron job', {
|
|
70
|
-
step: stepName,
|
|
71
|
-
lockId: lock.lockId,
|
|
72
|
-
instanceId: lock.instanceId,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
logger_1.globalLogger.error('[cron handler] error acquiring lock', {
|
|
77
|
-
error: error.message,
|
|
78
|
-
step: stepName,
|
|
79
|
-
});
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
59
|
const traceId = (0, generate_trace_id_1.generateTraceId)();
|
|
84
60
|
const logger = motia.loggerFactory.create({ traceId, flows, stepName });
|
|
85
61
|
const tracer = await motia.tracerFactory.createTracer(traceId, step, logger);
|
|
@@ -92,23 +68,6 @@ const setupCronHandlers = (motia, cronAdapter) => {
|
|
|
92
68
|
step: step.config.name,
|
|
93
69
|
});
|
|
94
70
|
}
|
|
95
|
-
finally {
|
|
96
|
-
if (lock && cronAdapter) {
|
|
97
|
-
try {
|
|
98
|
-
await cronAdapter.releaseLock(lock);
|
|
99
|
-
logger_1.globalLogger.debug('[cron handler] released lock for cron job', {
|
|
100
|
-
step: stepName,
|
|
101
|
-
lockId: lock.lockId,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
logger_1.globalLogger.error('[cron handler] error releasing lock', {
|
|
106
|
-
error: error.message,
|
|
107
|
-
step: stepName,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
71
|
});
|
|
113
72
|
cronJobs.set(step.filePath, task);
|
|
114
73
|
};
|
|
@@ -119,12 +78,9 @@ const setupCronHandlers = (motia, cronAdapter) => {
|
|
|
119
78
|
cronJobs.delete(step.filePath);
|
|
120
79
|
}
|
|
121
80
|
};
|
|
122
|
-
const close =
|
|
81
|
+
const close = () => {
|
|
123
82
|
cronJobs.forEach((task) => task.stop());
|
|
124
83
|
cronJobs.clear();
|
|
125
|
-
if (cronAdapter) {
|
|
126
|
-
await cronAdapter.shutdown();
|
|
127
|
-
}
|
|
128
84
|
};
|
|
129
85
|
motia.lockedData.cronSteps().forEach(createCronJob);
|
|
130
86
|
return { createCronJob, removeCronJob, close };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../src/event-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAS,YAAY,EAA+C,MAAM,SAAS,CAAA;AAO/F,eAAO,MAAM,kBAAkB,GAAI,cAAc,YAAY,KAAG,YAmC/D,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEventManager = void 0;
|
|
4
|
+
const defaults_1 = require("./infrastructure-validator/defaults");
|
|
5
|
+
const createEventManager = (queueManager) => {
|
|
6
|
+
const handlers = {};
|
|
7
|
+
const emit = async (event, file) => {
|
|
8
|
+
await queueManager.enqueue(event.topic, event, event.messageGroupId);
|
|
9
|
+
};
|
|
10
|
+
const subscribe = (config) => {
|
|
11
|
+
const { event, handler, filePath } = config;
|
|
12
|
+
if (!handlers[event]) {
|
|
13
|
+
handlers[event] = [];
|
|
14
|
+
}
|
|
15
|
+
handlers[event].push({ filePath, handler: handler });
|
|
16
|
+
queueManager.subscribe(event, handler, defaults_1.DEFAULT_QUEUE_CONFIG, filePath);
|
|
17
|
+
};
|
|
18
|
+
const unsubscribe = (config) => {
|
|
19
|
+
const { filePath, event } = config;
|
|
20
|
+
const eventHandlers = handlers[event];
|
|
21
|
+
if (!eventHandlers) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const handlerToRemove = eventHandlers.find((h) => h.filePath === filePath);
|
|
25
|
+
if (handlerToRemove) {
|
|
26
|
+
queueManager.unsubscribe(event, handlerToRemove.handler);
|
|
27
|
+
}
|
|
28
|
+
handlers[event] = eventHandlers.filter((handler) => handler.filePath !== filePath);
|
|
29
|
+
};
|
|
30
|
+
return { emit, subscribe, unsubscribe };
|
|
31
|
+
};
|
|
32
|
+
exports.createEventManager = createEventManager;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Step } from '
|
|
1
|
+
import type { Step } from 'src/types';
|
|
2
2
|
import type { FlowResponse } from '../types/flows-types';
|
|
3
3
|
export declare const STEP_NAMESPACE = "7f1c3ff2-9b00-4d0a-bdd7-efb8bca49d4f";
|
|
4
4
|
export declare const generateStepId: (filePath: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows-helper.d.ts","sourceRoot":"","sources":["../../../src/helper/flows-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flows-helper.d.ts","sourceRoot":"","sources":["../../../src/helper/flows-helper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,WAAW,CAAA;AAI3C,OAAO,KAAK,EAAY,YAAY,EAAoB,MAAM,sBAAsB,CAAA;AA2IpF,eAAO,MAAM,cAAc,yCAAyC,CAAA;AACpE,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,MAEjD,CAAA;AAqBD,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,WAAW,IAAI,EAAE,KAAG,YAMhE,CAAA"}
|
|
@@ -47,12 +47,12 @@ export declare const queueSchema: z.ZodObject<{
|
|
|
47
47
|
maxRetries: z.ZodNumber;
|
|
48
48
|
delaySeconds: z.ZodOptional<z.ZodNumber>;
|
|
49
49
|
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
type: "
|
|
50
|
+
type: "fifo" | "standard";
|
|
51
51
|
visibilityTimeout: number;
|
|
52
52
|
maxRetries: number;
|
|
53
53
|
delaySeconds?: number | undefined;
|
|
54
54
|
}, {
|
|
55
|
-
type: "
|
|
55
|
+
type: "fifo" | "standard";
|
|
56
56
|
visibilityTimeout: number;
|
|
57
57
|
maxRetries: number;
|
|
58
58
|
delaySeconds?: number | undefined;
|
|
@@ -85,12 +85,12 @@ export declare const infrastructureSchema: z.ZodEffects<z.ZodObject<{
|
|
|
85
85
|
maxRetries: z.ZodOptional<z.ZodNumber>;
|
|
86
86
|
delaySeconds: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
87
87
|
}, "strip", z.ZodTypeAny, {
|
|
88
|
-
type?: "
|
|
88
|
+
type?: "fifo" | "standard" | undefined;
|
|
89
89
|
visibilityTimeout?: number | undefined;
|
|
90
90
|
maxRetries?: number | undefined;
|
|
91
91
|
delaySeconds?: number | undefined;
|
|
92
92
|
}, {
|
|
93
|
-
type?: "
|
|
93
|
+
type?: "fifo" | "standard" | undefined;
|
|
94
94
|
visibilityTimeout?: number | undefined;
|
|
95
95
|
maxRetries?: number | undefined;
|
|
96
96
|
delaySeconds?: number | undefined;
|
|
@@ -102,7 +102,7 @@ export declare const infrastructureSchema: z.ZodEffects<z.ZodObject<{
|
|
|
102
102
|
cpu?: number | undefined;
|
|
103
103
|
} | undefined;
|
|
104
104
|
queue?: {
|
|
105
|
-
type?: "
|
|
105
|
+
type?: "fifo" | "standard" | undefined;
|
|
106
106
|
visibilityTimeout?: number | undefined;
|
|
107
107
|
maxRetries?: number | undefined;
|
|
108
108
|
delaySeconds?: number | undefined;
|
|
@@ -114,7 +114,7 @@ export declare const infrastructureSchema: z.ZodEffects<z.ZodObject<{
|
|
|
114
114
|
cpu?: number | undefined;
|
|
115
115
|
} | undefined;
|
|
116
116
|
queue?: {
|
|
117
|
-
type?: "
|
|
117
|
+
type?: "fifo" | "standard" | undefined;
|
|
118
118
|
visibilityTimeout?: number | undefined;
|
|
119
119
|
maxRetries?: number | undefined;
|
|
120
120
|
delaySeconds?: number | undefined;
|
|
@@ -126,7 +126,7 @@ export declare const infrastructureSchema: z.ZodEffects<z.ZodObject<{
|
|
|
126
126
|
cpu?: number | undefined;
|
|
127
127
|
} | undefined;
|
|
128
128
|
queue?: {
|
|
129
|
-
type?: "
|
|
129
|
+
type?: "fifo" | "standard" | undefined;
|
|
130
130
|
visibilityTimeout?: number | undefined;
|
|
131
131
|
maxRetries?: number | undefined;
|
|
132
132
|
delaySeconds?: number | undefined;
|
|
@@ -138,7 +138,7 @@ export declare const infrastructureSchema: z.ZodEffects<z.ZodObject<{
|
|
|
138
138
|
cpu?: number | undefined;
|
|
139
139
|
} | undefined;
|
|
140
140
|
queue?: {
|
|
141
|
-
type?: "
|
|
141
|
+
type?: "fifo" | "standard" | undefined;
|
|
142
142
|
visibilityTimeout?: number | undefined;
|
|
143
143
|
maxRetries?: number | undefined;
|
|
144
144
|
delaySeconds?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locked-data.d.ts","sourceRoot":"","sources":["../../src/locked-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locked-data.d.ts","sourceRoot":"","sources":["../../src/locked-data.ts"],"names":[],"mappings":"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"}
|
package/dist/src/locked-data.js
CHANGED
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.LockedData = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const file_stream_adapter_1 = require("./adapters/defaults/stream/file-stream-adapter");
|
|
10
|
-
const memory_stream_adapter_1 = require("./adapters/defaults/stream/memory-stream-adapter");
|
|
11
9
|
const guards_1 = require("./guards");
|
|
12
10
|
const motia_1 = require("./motia");
|
|
13
11
|
const step_validator_1 = require("./step-validator");
|
|
12
|
+
const file_stream_adapter_1 = require("./streams/adapters/file-stream-adapter");
|
|
13
|
+
const memory_stream_adapter_1 = require("./streams/adapters/memory-stream-adapter");
|
|
14
14
|
const generate_types_1 = require("./types/generate-types");
|
|
15
15
|
class LockedData {
|
|
16
16
|
constructor(baseDir, streamAdapter = 'file', printer, motiaFileStoragePath = '.motia') {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Logger } from './logger';
|
|
2
|
+
import type { StreamAdapter } from './streams/adapters/stream-adapter';
|
|
2
3
|
import type { Log } from './streams/logs-stream';
|
|
3
|
-
import type { MotiaStream } from './types-stream';
|
|
4
4
|
type CreateLogger = {
|
|
5
5
|
traceId: string;
|
|
6
6
|
flows?: string[];
|
|
@@ -12,7 +12,7 @@ export interface LoggerFactory {
|
|
|
12
12
|
export declare class BaseLoggerFactory implements LoggerFactory {
|
|
13
13
|
private readonly isVerbose;
|
|
14
14
|
private readonly logStream;
|
|
15
|
-
constructor(isVerbose: boolean, logStream:
|
|
15
|
+
constructor(isVerbose: boolean, logStream: StreamAdapter<Log>);
|
|
16
16
|
create({ stepName, traceId, flows }: CreateLogger): Logger;
|
|
17
17
|
}
|
|
18
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-factory.d.ts","sourceRoot":"","sources":["../../src/logger-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"logger-factory.d.ts","sourceRoot":"","sources":["../../src/logger-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAEhD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAA;CACvC;AAED,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC;IAGhD,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM;CAiB3D"}
|
package/dist/src/motia.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import type { Express } from 'express';
|
|
2
|
-
import type { EventAdapter } from './adapters/interfaces/event-adapter.interface';
|
|
3
|
-
import type { StateAdapter } from './adapters/interfaces/state-adapter.interface';
|
|
4
2
|
import type { LockedData } from './locked-data';
|
|
5
3
|
import type { LoggerFactory } from './logger-factory';
|
|
6
4
|
import type { TracerFactory } from './observability';
|
|
7
5
|
import type { Printer } from './printer';
|
|
8
|
-
import type {
|
|
6
|
+
import type { QueueManager } from './queue-manager';
|
|
7
|
+
import type { StateAdapter } from './state/state-adapter';
|
|
8
|
+
import type { ApiResponse, ApiRouteConfig, ApiRouteHandler, EventManager, InternalStateManager } from './types';
|
|
9
9
|
export type Motia = {
|
|
10
10
|
loggerFactory: LoggerFactory;
|
|
11
|
-
|
|
11
|
+
eventManager: EventManager;
|
|
12
12
|
state: InternalStateManager;
|
|
13
13
|
lockedData: LockedData;
|
|
14
14
|
printer: Printer;
|
|
15
15
|
tracerFactory: TracerFactory;
|
|
16
|
+
queueManager: QueueManager;
|
|
16
17
|
app: Express;
|
|
17
18
|
stateAdapter: StateAdapter;
|
|
18
19
|
};
|
|
@@ -22,6 +23,7 @@ export type PluginApiConfig = {
|
|
|
22
23
|
};
|
|
23
24
|
export type UnregisterMotiaPluginApi = () => void;
|
|
24
25
|
export type MotiaPluginContext = {
|
|
26
|
+
printer: Printer;
|
|
25
27
|
state: StateAdapter;
|
|
26
28
|
lockedData: LockedData;
|
|
27
29
|
tracerFactory: TracerFactory;
|
package/dist/src/motia.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motia.d.ts","sourceRoot":"","sources":["../../src/motia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"motia.d.ts","sourceRoot":"","sources":["../../src/motia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE/G,MAAM,MAAM,KAAK,GAAG;IAClB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAE1B,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,CACX,YAAY,GAAG,OAAO,EACtB,aAAa,SAAS,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACjF,SAAS,GAAG,KAAK,EAEjB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,KAC7D,wBAAwB,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,cAAc,YAAY,CAAA"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { RpcSender } from './rpc';
|
|
2
|
+
export type LogListener = (level: string, message: string, args?: unknown) => void;
|
|
2
3
|
export declare class Logger {
|
|
3
4
|
private readonly traceId;
|
|
4
5
|
private readonly flows;
|
|
5
6
|
private readonly sender;
|
|
7
|
+
private readonly listeners;
|
|
6
8
|
constructor(traceId: string, flows: string[], sender: RpcSender);
|
|
7
9
|
private _log;
|
|
8
10
|
info(message: string, args?: Record<string, unknown>): void;
|
|
9
11
|
error(message: string, args?: Record<string, unknown>): void;
|
|
10
12
|
debug(message: string, args?: Record<string, unknown>): void;
|
|
11
13
|
warn(message: string, args?: Record<string, unknown>): void;
|
|
14
|
+
addListener(listener: LogListener): void;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/node/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,qBAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/node/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAElF,qBAAa,MAAM;IAIf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAG3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,SAAS;IAGpC,OAAO,CAAC,IAAI;IA0BZ,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,WAAW,CAAC,QAAQ,EAAE,WAAW;CAGlC"}
|
package/dist/src/node/logger.js
CHANGED
|
@@ -6,6 +6,7 @@ class Logger {
|
|
|
6
6
|
this.traceId = traceId;
|
|
7
7
|
this.flows = flows;
|
|
8
8
|
this.sender = sender;
|
|
9
|
+
this.listeners = [];
|
|
9
10
|
}
|
|
10
11
|
_log(level, message, args) {
|
|
11
12
|
const argsCopy = args ? { ...args } : {};
|
|
@@ -26,6 +27,7 @@ class Logger {
|
|
|
26
27
|
msg: message,
|
|
27
28
|
};
|
|
28
29
|
this.sender.sendNoWait('log', logEntry);
|
|
30
|
+
this.listeners.forEach((listener) => listener(level, message, args));
|
|
29
31
|
}
|
|
30
32
|
info(message, args) {
|
|
31
33
|
this._log('info', message, args);
|
|
@@ -39,5 +41,8 @@ class Logger {
|
|
|
39
41
|
warn(message, args) {
|
|
40
42
|
this._log('warn', message, args);
|
|
41
43
|
}
|
|
44
|
+
addListener(listener) {
|
|
45
|
+
this.listeners.push(listener);
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
48
|
exports.Logger = Logger;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { Logger } from '../logger';
|
|
2
|
+
import type { Step } from '../types';
|
|
3
|
+
import type { StateOperation, StreamOperation, TraceError } from './types';
|
|
4
|
+
export interface TracerFactory {
|
|
5
|
+
createTracer(traceId: string, step: Step, logger: Logger): Promise<Tracer> | Tracer;
|
|
6
|
+
clear(): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export interface Tracer {
|
|
9
|
+
end(err?: TraceError): void;
|
|
10
|
+
stateOperation(operation: StateOperation, input: unknown): void;
|
|
11
|
+
emitOperation(topic: string, data: unknown, success: boolean): void;
|
|
12
|
+
streamOperation(streamName: string, operation: StreamOperation, input: unknown): void;
|
|
13
|
+
child(step: Step, logger: Logger): Tracer;
|
|
14
|
+
}
|
|
4
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE1E,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IACnF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IACrF,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileStreamAdapter } from '../adapters/
|
|
1
|
+
import { FileStreamAdapter } from '../streams/adapters/file-stream-adapter';
|
|
2
2
|
import type { BaseStreamItem } from '../types-stream';
|
|
3
3
|
export declare class TraceStreamAdapter<TData> extends FileStreamAdapter<TData> {
|
|
4
4
|
private state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-stream-adapter.d.ts","sourceRoot":"","sources":["../../../src/observability/trace-stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"trace-stream-adapter.d.ts","sourceRoot":"","sources":["../../../src/observability/trace-stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,qBAAa,kBAAkB,CAAC,KAAK,CAAE,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IACrE,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,OAAO,CAAiB;gBAEpB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ;IAuB5E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAMvE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAS7E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAY1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;CAKlE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TraceStreamAdapter = void 0;
|
|
4
|
-
const file_stream_adapter_1 = require("../adapters/
|
|
4
|
+
const file_stream_adapter_1 = require("../streams/adapters/file-stream-adapter");
|
|
5
5
|
class TraceStreamAdapter extends file_stream_adapter_1.FileStreamAdapter {
|
|
6
6
|
constructor(filePath, streamName, streamAdapter) {
|
|
7
7
|
super(filePath ?? '', streamName);
|
|
@@ -13,7 +13,6 @@ export declare class BaseTracerFactory implements TracerFactory {
|
|
|
13
13
|
private deleteGroup;
|
|
14
14
|
clear(): Promise<void>;
|
|
15
15
|
createTracer(traceId: string, step: Step, logger: Logger): Promise<StreamTracer>;
|
|
16
|
-
attachToTrace(traceId: string, step: Step, logger: Logger): Promise<StreamTracer>;
|
|
17
16
|
}
|
|
18
17
|
export declare const createTracerFactory: (lockedData: LockedData) => TracerFactory;
|
|
19
18
|
//# sourceMappingURL=tracer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/observability/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMhD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,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;
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/observability/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMhD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,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;CAgC/D;AAED,eAAO,MAAM,mBAAmB,GAAI,YAAY,UAAU,KAAG,aAkC5D,CAAA"}
|
|
@@ -6,7 +6,7 @@ const stream_tracer_1 = require("./stream-tracer");
|
|
|
6
6
|
const trace_manager_1 = require("./trace-manager");
|
|
7
7
|
const trace_stream_adapter_1 = require("./trace-stream-adapter");
|
|
8
8
|
const MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS //
|
|
9
|
-
? parseInt(process.env.MOTIA_MAX_TRACE_GROUPS)
|
|
9
|
+
? Number.parseInt(process.env.MOTIA_MAX_TRACE_GROUPS, 10)
|
|
10
10
|
: 50;
|
|
11
11
|
class BaseTracerFactory {
|
|
12
12
|
constructor(traceStream, traceGroupStream) {
|
|
@@ -56,15 +56,6 @@ class BaseTracerFactory {
|
|
|
56
56
|
const manager = new trace_manager_1.TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace);
|
|
57
57
|
return new stream_tracer_1.StreamTracer(manager, traceGroup, trace, logger);
|
|
58
58
|
}
|
|
59
|
-
async attachToTrace(traceId, step, logger) {
|
|
60
|
-
const existingGroup = await this.traceGroupStream.get('default', traceId);
|
|
61
|
-
if (!existingGroup) {
|
|
62
|
-
return this.createTracer(traceId, step, logger);
|
|
63
|
-
}
|
|
64
|
-
const trace = (0, create_trace_1.createTrace)(existingGroup, step);
|
|
65
|
-
const manager = new trace_manager_1.TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace);
|
|
66
|
-
return new stream_tracer_1.StreamTracer(manager, existingGroup, trace, logger);
|
|
67
|
-
}
|
|
68
59
|
}
|
|
69
60
|
exports.BaseTracerFactory = BaseTracerFactory;
|
|
70
61
|
const createTracerFactory = (lockedData) => {
|
package/dist/src/printer.d.ts
CHANGED
|
@@ -35,6 +35,9 @@ export declare class Printer {
|
|
|
35
35
|
getStepType(step: Step): string;
|
|
36
36
|
getStepPath(step: Step): string;
|
|
37
37
|
getStreamPath(stream: Stream): string;
|
|
38
|
+
printPluginLog(message: string): void;
|
|
39
|
+
printPluginWarn(message: string): void;
|
|
40
|
+
printPluginError(message: string, ...args: unknown[]): void;
|
|
38
41
|
}
|
|
39
42
|
export declare class NoPrinter extends Printer {
|
|
40
43
|
constructor();
|
|
@@ -51,5 +54,8 @@ export declare class NoPrinter extends Printer {
|
|
|
51
54
|
printStreamCreated(): void;
|
|
52
55
|
printStreamUpdated(): void;
|
|
53
56
|
printStreamRemoved(): void;
|
|
57
|
+
printPluginLog(): void;
|
|
58
|
+
printPluginWarn(): void;
|
|
59
|
+
printPluginError(): void;
|
|
54
60
|
}
|
|
55
61
|
//# sourceMappingURL=printer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../src/printer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../src/printer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAiB5C,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,OAAO,SAAU;IACjB,OAAO,SAAU;IACjB,UAAU,SAAa;IACvB,QAAQ,SAAW;IACnB,KAAK,SAAQ;IACb,OAAO,SAAU;IACjB,OAAO,SAAU;IAEjB,8BAA8B,CAC5B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACvB,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IA6B1F,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;IAMzC,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAI3B,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAI3B,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAI3B,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAIjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAIjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAIjC,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAIjC,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAIjC,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAIjC,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;IAMtD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;IAO9C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAcvE,eAAe,CAAC,QAAQ,EAAE,MAAM;IAIhC,WAAW,CAAC,IAAI,EAAE,IAAI;IAStB,WAAW,CAAC,IAAI,EAAE,IAAI;IAKtB,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,cAAc,CAAC,OAAO,EAAE,MAAM;IAK9B,eAAe,CAAC,OAAO,EAAE,MAAM;IAK/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAIrD;AAED,qBAAa,SAAU,SAAQ,OAAO;;IAKpC,8BAA8B;IAE9B,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,aAAa;IAEb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAElB,cAAc;IACd,eAAe;IACf,gBAAgB;CACjB"}
|