@motiadev/core 0.8.2-beta.140-424079 → 0.8.2-beta.140-428722
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 +12 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -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 +19 -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/adapters/defaults/stream/file-stream-adapter-manager.d.ts +9 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +14 -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 +3 -3
- package/dist/src/adapters/defaults/stream/index.d.ts +5 -0
- package/dist/src/adapters/defaults/stream/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/index.js +11 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +6 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +10 -0
- package/dist/src/{streams/adapters → adapters/defaults/stream}/memory-stream-adapter.d.ts +4 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +55 -0
- 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 +7 -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/adapters/interfaces/stream-adapter-manager.interface.d.ts +6 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +2 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +22 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.js +16 -0
- 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 +3 -3
- package/dist/src/locked-data.d.ts.map +1 -1
- package/dist/src/locked-data.js +2 -8
- 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/node/logger.d.ts +0 -3
- package/dist/src/node/logger.d.ts.map +1 -1
- package/dist/src/node/logger.js +0 -5
- 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 +3 -2
- 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 +14 -3
- 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/python/motia_logger.py +1 -10
- 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 +3 -3
- 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 +3 -3
- package/dist/src/streams/logs-stream.d.ts +2 -1
- package/dist/src/streams/logs-stream.d.ts.map +1 -1
- package/dist/src/streams/logs-stream.js +3 -3
- 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/memory-stream-adapter.js +0 -39
- package/dist/src/streams/adapters/stream-adapter.d.ts +0 -12
- package/dist/src/streams/adapters/stream-adapter.d.ts.map +0 -1
- package/dist/src/streams/adapters/stream-adapter.js +0 -10
- /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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Logger } from '../../logger';
|
|
2
|
+
import type { StateOperation, StreamOperation, TraceError } from '../../observability/types';
|
|
3
|
+
import type { Step } from '../../types';
|
|
4
|
+
export interface Metric {
|
|
5
|
+
name: string;
|
|
6
|
+
value: number;
|
|
7
|
+
tags?: Record<string, string>;
|
|
8
|
+
timestamp?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface Tracer {
|
|
11
|
+
end(err?: TraceError): void;
|
|
12
|
+
stateOperation(operation: StateOperation, input: unknown): void;
|
|
13
|
+
emitOperation(topic: string, data: unknown, success: boolean): void;
|
|
14
|
+
streamOperation(streamName: string, operation: StreamOperation, input: unknown): void;
|
|
15
|
+
child(step: Step, logger: Logger): Tracer;
|
|
16
|
+
}
|
|
17
|
+
export interface ObservabilityAdapter {
|
|
18
|
+
createTracer(traceId: string, step: Step, logger: Logger): Promise<Tracer> | Tracer;
|
|
19
|
+
attachToTrace(traceId: string, step: Step, logger: Logger): Promise<Tracer> | Tracer;
|
|
20
|
+
clear(): Promise<void>;
|
|
21
|
+
recordMetric?(metric: Metric): Promise<void> | void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=observability-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability-adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/adapters/interfaces/observability-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;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;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IACnF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACpD"}
|
package/dist/src/{state/state-adapter.d.ts → adapters/interfaces/state-adapter.interface.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InternalStateManager } from '
|
|
1
|
+
import type { InternalStateManager } from '../../types';
|
|
2
2
|
export interface StateItem {
|
|
3
3
|
groupId: string;
|
|
4
4
|
key: string;
|
|
@@ -14,9 +14,6 @@ export interface StateItemsInput {
|
|
|
14
14
|
groupId?: string;
|
|
15
15
|
filter?: StateFilter[];
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Interface for state management adapters
|
|
19
|
-
*/
|
|
20
17
|
export interface StateAdapter extends InternalStateManager {
|
|
21
18
|
clear(traceId: string): Promise<void>;
|
|
22
19
|
cleanup(): Promise<void>;
|
|
@@ -24,4 +21,4 @@ export interface StateAdapter extends InternalStateManager {
|
|
|
24
21
|
traceIds(): Promise<string[]>;
|
|
25
22
|
items(input: StateItemsInput): Promise<StateItem[]>;
|
|
26
23
|
}
|
|
27
|
-
//# sourceMappingURL=state-adapter.d.ts.map
|
|
24
|
+
//# sourceMappingURL=state-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/adapters/interfaces/state-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IACnE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAAA;CAC7D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,WAAW,GACX,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,oBAAoB;IACxD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE7B,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CACpD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { StreamAdapter } from './stream-adapter.interface';
|
|
2
|
+
export interface StreamAdapterManager {
|
|
3
|
+
createStream<TData>(streamName: string): StreamAdapter<TData>;
|
|
4
|
+
shutdown?(): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=stream-adapter-manager.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-adapter-manager.interface.d.ts","sourceRoot":"","sources":["../../../../src/adapters/interfaces/stream-adapter-manager.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7D,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel } from '../../types-stream';
|
|
2
|
+
export interface StreamQueryFilter<TData> {
|
|
3
|
+
limit?: number;
|
|
4
|
+
offset?: number;
|
|
5
|
+
orderBy?: keyof TData;
|
|
6
|
+
orderDirection?: 'asc' | 'desc';
|
|
7
|
+
where?: Partial<TData>;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class StreamAdapter<TData> implements MotiaStream<TData> {
|
|
10
|
+
protected streamName: string;
|
|
11
|
+
constructor(streamName: string);
|
|
12
|
+
abstract get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
|
|
13
|
+
abstract set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>>;
|
|
14
|
+
abstract delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
|
|
15
|
+
abstract getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>;
|
|
16
|
+
send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void>;
|
|
17
|
+
subscribe<T>(channel: StateStreamEventChannel, handler: (event: StateStreamEvent<T>) => void | Promise<void>): Promise<void>;
|
|
18
|
+
unsubscribe(channel: StateStreamEventChannel): Promise<void>;
|
|
19
|
+
clear(groupId: string): Promise<void>;
|
|
20
|
+
query(groupId: string, filter: StreamQueryFilter<TData>): Promise<BaseStreamItem<TData>[]>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=stream-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/adapters/interfaces/stream-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEhH,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,KAAK,CAAA;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB;AAED,8BAAsB,aAAa,CAAC,KAAK,CAAE,YAAW,WAAW,CAAC,KAAK,CAAC;IACtE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;gBAEhB,UAAU,EAAE,MAAM;IAI9B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtF,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACnF,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAE9D,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpF,SAAS,CAAC,CAAC,EACf,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC;IAEV,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAErC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;CAGjG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StreamAdapter = void 0;
|
|
4
|
+
class StreamAdapter {
|
|
5
|
+
constructor(streamName) {
|
|
6
|
+
this.streamName = streamName;
|
|
7
|
+
}
|
|
8
|
+
async send(channel, event) { }
|
|
9
|
+
async subscribe(channel, handler) { }
|
|
10
|
+
async unsubscribe(channel) { }
|
|
11
|
+
async clear(groupId) { }
|
|
12
|
+
async query(groupId, filter) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.StreamAdapter = StreamAdapter;
|
|
@@ -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.eventAdapter.emit({ ...input, traceId, flows, logger, tracer });
|
|
129
129
|
});
|
|
130
130
|
Object.entries(streamConfig).forEach(([name, streamFactory]) => {
|
|
131
131
|
const stateStream = streamFactory();
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import type { CronAdapter } from './adapters/interfaces/cron-adapter.interface';
|
|
1
2
|
import type { Motia } from './motia';
|
|
2
3
|
import type { CronConfig, Step } from './types';
|
|
3
4
|
export type CronManager = {
|
|
4
5
|
createCronJob: (step: Step<CronConfig>) => void;
|
|
5
6
|
removeCronJob: (step: Step<CronConfig>) => void;
|
|
6
|
-
close: () => void
|
|
7
|
+
close: () => Promise<void>;
|
|
7
8
|
};
|
|
8
|
-
export declare const setupCronHandlers: (motia: Motia) => {
|
|
9
|
+
export declare const setupCronHandlers: (motia: Motia, cronAdapter?: CronAdapter) => {
|
|
9
10
|
createCronJob: (step: Step<CronConfig>) => void;
|
|
10
11
|
removeCronJob: (step: Step<CronConfig>) => void;
|
|
11
|
-
close: () => void
|
|
12
|
+
close: () => Promise<void>;
|
|
12
13
|
};
|
|
13
14
|
//# 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":"AACA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,8CAA8C,CAAA;AAIzF,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,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,cAAc,WAAW;0BAG1C,IAAI,CAAC,UAAU,CAAC;0BA8EhB,IAAI,CAAC,UAAU,CAAC;;CAqB9C,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, cronAdapter) => {
|
|
42
42
|
const cronJobs = new Map();
|
|
43
43
|
const createCronJob = (step) => {
|
|
44
44
|
const { config, filePath } = step;
|
|
@@ -56,6 +56,30 @@ const setupCronHandlers = (motia) => {
|
|
|
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
|
+
}
|
|
59
83
|
const traceId = (0, generate_trace_id_1.generateTraceId)();
|
|
60
84
|
const logger = motia.loggerFactory.create({ traceId, flows, stepName });
|
|
61
85
|
const tracer = await motia.tracerFactory.createTracer(traceId, step, logger);
|
|
@@ -68,6 +92,23 @@ const setupCronHandlers = (motia) => {
|
|
|
68
92
|
step: step.config.name,
|
|
69
93
|
});
|
|
70
94
|
}
|
|
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
|
+
}
|
|
71
112
|
});
|
|
72
113
|
cronJobs.set(step.filePath, task);
|
|
73
114
|
};
|
|
@@ -78,9 +119,12 @@ const setupCronHandlers = (motia) => {
|
|
|
78
119
|
cronJobs.delete(step.filePath);
|
|
79
120
|
}
|
|
80
121
|
};
|
|
81
|
-
const close = () => {
|
|
122
|
+
const close = async () => {
|
|
82
123
|
cronJobs.forEach((task) => task.stop());
|
|
83
124
|
cronJobs.clear();
|
|
125
|
+
if (cronAdapter) {
|
|
126
|
+
await cronAdapter.shutdown();
|
|
127
|
+
}
|
|
84
128
|
};
|
|
85
129
|
motia.lockedData.cronSteps().forEach(createCronJob);
|
|
86
130
|
return { createCronJob, removeCronJob, close };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Step } from '
|
|
1
|
+
import type { Step } from '../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":"AAOA,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,UAAU,CAAA;AAC1C,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: "standard" | "fifo";
|
|
51
51
|
visibilityTimeout: number;
|
|
52
52
|
maxRetries: number;
|
|
53
53
|
delaySeconds?: number | undefined;
|
|
54
54
|
}, {
|
|
55
|
-
type: "
|
|
55
|
+
type: "standard" | "fifo";
|
|
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?: "standard" | "fifo" | undefined;
|
|
89
89
|
visibilityTimeout?: number | undefined;
|
|
90
90
|
maxRetries?: number | undefined;
|
|
91
91
|
delaySeconds?: number | undefined;
|
|
92
92
|
}, {
|
|
93
|
-
type?: "
|
|
93
|
+
type?: "standard" | "fifo" | 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?: "standard" | "fifo" | 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?: "standard" | "fifo" | 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?: "standard" | "fifo" | 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?: "standard" | "fifo" | undefined;
|
|
142
142
|
visibilityTimeout?: number | undefined;
|
|
143
143
|
maxRetries?: number | undefined;
|
|
144
144
|
delaySeconds?: number | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface';
|
|
1
2
|
import type { Printer } from './printer';
|
|
2
3
|
import type { StreamFactory } from './streams/stream-factory';
|
|
3
4
|
import type { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from './types';
|
|
@@ -8,9 +9,8 @@ type StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated';
|
|
|
8
9
|
type StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>;
|
|
9
10
|
export declare class LockedData {
|
|
10
11
|
readonly baseDir: string;
|
|
11
|
-
readonly streamAdapter:
|
|
12
|
+
readonly streamAdapter: StreamAdapterManager;
|
|
12
13
|
private readonly printer;
|
|
13
|
-
readonly motiaFileStoragePath: string;
|
|
14
14
|
flows: Record<string, Flow>;
|
|
15
15
|
activeSteps: Step[];
|
|
16
16
|
devSteps: Step[];
|
|
@@ -20,7 +20,7 @@ export declare class LockedData {
|
|
|
20
20
|
private streamHandlers;
|
|
21
21
|
private streams;
|
|
22
22
|
private streamWrapper?;
|
|
23
|
-
constructor(baseDir: string, streamAdapter:
|
|
23
|
+
constructor(baseDir: string, streamAdapter: StreamAdapterManager, printer: Printer);
|
|
24
24
|
applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void;
|
|
25
25
|
saveTypes(): void;
|
|
26
26
|
on(event: FlowEvent, handler: (flowName: string) => void): void;
|
|
@@ -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
|
@@ -9,15 +9,12 @@ const path_1 = __importDefault(require("path"));
|
|
|
9
9
|
const guards_1 = require("./guards");
|
|
10
10
|
const motia_1 = require("./motia");
|
|
11
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
12
|
const generate_types_1 = require("./types/generate-types");
|
|
15
13
|
class LockedData {
|
|
16
|
-
constructor(baseDir, streamAdapter
|
|
14
|
+
constructor(baseDir, streamAdapter, printer) {
|
|
17
15
|
this.baseDir = baseDir;
|
|
18
16
|
this.streamAdapter = streamAdapter;
|
|
19
17
|
this.printer = printer;
|
|
20
|
-
this.motiaFileStoragePath = motiaFileStoragePath;
|
|
21
18
|
this.flows = {};
|
|
22
19
|
this.activeSteps = [];
|
|
23
20
|
this.devSteps = [];
|
|
@@ -269,10 +266,7 @@ class LockedData {
|
|
|
269
266
|
return validationResult.success;
|
|
270
267
|
}
|
|
271
268
|
createStreamAdapter(streamName) {
|
|
272
|
-
|
|
273
|
-
return new file_stream_adapter_1.FileStreamAdapter(this.baseDir, streamName, this.motiaFileStoragePath);
|
|
274
|
-
}
|
|
275
|
-
return new memory_stream_adapter_1.MemoryStreamAdapter();
|
|
269
|
+
return this.streamAdapter.createStream(streamName);
|
|
276
270
|
}
|
|
277
271
|
}
|
|
278
272
|
exports.LockedData = LockedData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Logger } from './logger';
|
|
2
|
-
import type { StreamAdapter } from './streams/adapters/stream-adapter';
|
|
3
2
|
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: MotiaStream<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,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,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,WAAW,CAAC,GAAG,CAAC;IAG9C,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM;CAiB3D"}
|
package/dist/src/motia.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
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';
|
|
2
4
|
import type { LockedData } from './locked-data';
|
|
3
5
|
import type { LoggerFactory } from './logger-factory';
|
|
4
6
|
import type { TracerFactory } from './observability';
|
|
5
7
|
import type { Printer } from './printer';
|
|
6
|
-
import type {
|
|
7
|
-
import type { StateAdapter } from './state/state-adapter';
|
|
8
|
-
import type { ApiResponse, ApiRouteConfig, ApiRouteHandler, EventManager, InternalStateManager } from './types';
|
|
8
|
+
import type { ApiResponse, ApiRouteConfig, ApiRouteHandler, InternalStateManager } from './types';
|
|
9
9
|
export type Motia = {
|
|
10
10
|
loggerFactory: LoggerFactory;
|
|
11
|
-
|
|
11
|
+
eventAdapter: EventAdapter;
|
|
12
12
|
state: InternalStateManager;
|
|
13
13
|
lockedData: LockedData;
|
|
14
14
|
printer: Printer;
|
|
15
15
|
tracerFactory: TracerFactory;
|
|
16
|
-
queueManager: QueueManager;
|
|
17
16
|
app: Express;
|
|
18
17
|
stateAdapter: StateAdapter;
|
|
19
18
|
};
|
|
@@ -23,7 +22,6 @@ export type PluginApiConfig = {
|
|
|
23
22
|
};
|
|
24
23
|
export type UnregisterMotiaPluginApi = () => void;
|
|
25
24
|
export type MotiaPluginContext = {
|
|
26
|
-
printer: Printer;
|
|
27
25
|
state: StateAdapter;
|
|
28
26
|
lockedData: LockedData;
|
|
29
27
|
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,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,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,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEjG,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;IAE5B,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,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,16 +1,13 @@
|
|
|
1
1
|
import type { RpcSender } from './rpc';
|
|
2
|
-
export type LogListener = (level: string, message: string, args?: unknown) => void;
|
|
3
2
|
export declare class Logger {
|
|
4
3
|
private readonly traceId;
|
|
5
4
|
private readonly flows;
|
|
6
5
|
private readonly sender;
|
|
7
|
-
private readonly listeners;
|
|
8
6
|
constructor(traceId: string, flows: string[], sender: RpcSender);
|
|
9
7
|
private _log;
|
|
10
8
|
info(message: string, args?: Record<string, unknown>): void;
|
|
11
9
|
error(message: string, args?: Record<string, unknown>): void;
|
|
12
10
|
debug(message: string, args?: Record<string, unknown>): void;
|
|
13
11
|
warn(message: string, args?: Record<string, unknown>): void;
|
|
14
|
-
addListener(listener: LogListener): void;
|
|
15
12
|
}
|
|
16
13
|
//# 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,
|
|
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;IAEf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,SAAS;IAGpC,OAAO,CAAC,IAAI;IAwBZ,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;CAG5D"}
|
package/dist/src/node/logger.js
CHANGED
|
@@ -6,7 +6,6 @@ class Logger {
|
|
|
6
6
|
this.traceId = traceId;
|
|
7
7
|
this.flows = flows;
|
|
8
8
|
this.sender = sender;
|
|
9
|
-
this.listeners = [];
|
|
10
9
|
}
|
|
11
10
|
_log(level, message, args) {
|
|
12
11
|
const argsCopy = args ? { ...args } : {};
|
|
@@ -27,7 +26,6 @@ class Logger {
|
|
|
27
26
|
msg: message,
|
|
28
27
|
};
|
|
29
28
|
this.sender.sendNoWait('log', logEntry);
|
|
30
|
-
this.listeners.forEach((listener) => listener(level, message, args));
|
|
31
29
|
}
|
|
32
30
|
info(message, args) {
|
|
33
31
|
this._log('info', message, args);
|
|
@@ -41,8 +39,5 @@ class Logger {
|
|
|
41
39
|
warn(message, args) {
|
|
42
40
|
this._log('warn', message, args);
|
|
43
41
|
}
|
|
44
|
-
addListener(listener) {
|
|
45
|
-
this.listeners.push(listener);
|
|
46
|
-
}
|
|
47
42
|
}
|
|
48
43
|
exports.Logger = Logger;
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
}
|
|
1
|
+
import type { ObservabilityAdapter, Tracer } from '../adapters/interfaces/observability-adapter.interface';
|
|
2
|
+
export type { ObservabilityAdapter, Tracer };
|
|
3
|
+
export type TracerFactory = ObservabilityAdapter;
|
|
15
4
|
//# 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,oBAAoB,EAAE,MAAM,EAAE,MAAM,wDAAwD,CAAA;AAE1G,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileStreamAdapter } from '../
|
|
1
|
+
import { FileStreamAdapter } from '../adapters/defaults/stream/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,iDAAiD,CAAA;AACnF,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;CAMlE"}
|
|
@@ -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("../
|
|
4
|
+
const file_stream_adapter_1 = require("../adapters/defaults/stream/file-stream-adapter");
|
|
5
5
|
class TraceStreamAdapter extends file_stream_adapter_1.FileStreamAdapter {
|
|
6
6
|
constructor(filePath, streamName, streamAdapter) {
|
|
7
7
|
super(filePath ?? '', streamName);
|
|
@@ -45,8 +45,9 @@ class TraceStreamAdapter extends file_stream_adapter_1.FileStreamAdapter {
|
|
|
45
45
|
return value;
|
|
46
46
|
}
|
|
47
47
|
async getGroup(groupId) {
|
|
48
|
+
const prefix = this._makeKey(groupId, '');
|
|
48
49
|
return Object.entries(this.state)
|
|
49
|
-
.filter(([key]) => key.startsWith(
|
|
50
|
+
.filter(([key]) => key.startsWith(prefix))
|
|
50
51
|
.map(([, value]) => value);
|
|
51
52
|
}
|
|
52
53
|
}
|
|
@@ -13,6 +13,7 @@ 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>;
|
|
16
17
|
}
|
|
17
18
|
export declare const createTracerFactory: (lockedData: LockedData) => TracerFactory;
|
|
18
19
|
//# sourceMappingURL=tracer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/observability/tracer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/observability/tracer.ts"],"names":[],"mappings":"AACA,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;IAiCxD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CAYhE;AAED,eAAO,MAAM,mBAAmB,GAAI,YAAY,UAAU,KAAG,aA2B5D,CAAA"}
|