@loopstack/core 0.37.0 → 0.39.0
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/common/errors/index.d.ts +1 -0
- package/dist/common/errors/index.d.ts.map +1 -1
- package/dist/common/errors/index.js +1 -0
- package/dist/common/errors/index.js.map +1 -1
- package/dist/common/errors/transition-aborted.error.d.ts +4 -0
- package/dist/common/errors/transition-aborted.error.d.ts.map +1 -0
- package/dist/common/errors/transition-aborted.error.js +7 -0
- package/dist/common/errors/transition-aborted.error.js.map +1 -0
- package/dist/common/interfaces/app-config.interface.d.ts +1 -0
- package/dist/common/interfaces/app-config.interface.d.ts.map +1 -1
- package/dist/common/services/index.d.ts +1 -0
- package/dist/common/services/index.d.ts.map +1 -1
- package/dist/common/services/index.js +1 -0
- package/dist/common/services/index.js.map +1 -1
- package/dist/common/services/system-clock.d.ts +6 -0
- package/dist/common/services/system-clock.d.ts.map +1 -0
- package/dist/common/services/system-clock.js +21 -0
- package/dist/common/services/system-clock.js.map +1 -0
- package/dist/loop-core.module.d.ts +0 -1
- package/dist/loop-core.module.d.ts.map +1 -1
- package/dist/loop-core.module.js +10 -5
- package/dist/loop-core.module.js.map +1 -1
- package/dist/persistence/services/workflow.service.d.ts.map +1 -1
- package/dist/persistence/services/workflow.service.js +4 -1
- package/dist/persistence/services/workflow.service.js.map +1 -1
- package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts +1 -0
- package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts.map +1 -1
- package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.js +8 -0
- package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.js.map +1 -1
- package/dist/scheduler/services/task-processor.service.d.ts.map +1 -1
- package/dist/scheduler/services/task-processor.service.js +1 -0
- package/dist/scheduler/services/task-processor.service.js.map +1 -1
- package/dist/scheduler/services/workflow-runner.service.d.ts.map +1 -1
- package/dist/scheduler/services/workflow-runner.service.js +7 -1
- package/dist/scheduler/services/workflow-runner.service.js.map +1 -1
- package/dist/scheduler/task-queue.module.d.ts.map +1 -1
- package/dist/scheduler/task-queue.module.js +9 -5
- package/dist/scheduler/task-queue.module.js.map +1 -1
- package/dist/workflow-processor/services/document-persistence.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/document-persistence.service.js +12 -1
- package/dist/workflow-processor/services/document-persistence.service.js.map +1 -1
- package/dist/workflow-processor/services/document-store.service.d.ts +1 -0
- package/dist/workflow-processor/services/document-store.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/document-store.service.js +14 -1
- package/dist/workflow-processor/services/document-store.service.js.map +1 -1
- package/dist/workflow-processor/services/index.d.ts +2 -1
- package/dist/workflow-processor/services/index.d.ts.map +1 -1
- package/dist/workflow-processor/services/index.js +2 -1
- package/dist/workflow-processor/services/index.js.map +1 -1
- package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts +7 -2
- package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/processors/workflow-processor.service.js +163 -16
- package/dist/workflow-processor/services/processors/workflow-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/run-trace.service.d.ts +19 -0
- package/dist/workflow-processor/services/run-trace.service.d.ts.map +1 -0
- package/dist/workflow-processor/services/run-trace.service.js +110 -0
- package/dist/workflow-processor/services/run-trace.service.js.map +1 -0
- package/dist/workflow-processor/services/stateless-child-runner.service.d.ts +14 -0
- package/dist/workflow-processor/services/stateless-child-runner.service.d.ts.map +1 -0
- package/dist/workflow-processor/services/stateless-child-runner.service.js +40 -0
- package/dist/workflow-processor/services/stateless-child-runner.service.js.map +1 -0
- package/dist/workflow-processor/services/tool-pipeline.service.d.ts +4 -1
- package/dist/workflow-processor/services/tool-pipeline.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/tool-pipeline.service.js +63 -5
- package/dist/workflow-processor/services/tool-pipeline.service.js.map +1 -1
- package/dist/workflow-processor/services/workflow-orchestration.service.d.ts +4 -1
- package/dist/workflow-processor/services/workflow-orchestration.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/workflow-orchestration.service.js +56 -4
- package/dist/workflow-processor/services/workflow-orchestration.service.js.map +1 -1
- package/dist/workflow-processor/utils/execution-scope.d.ts +10 -3
- package/dist/workflow-processor/utils/execution-scope.d.ts.map +1 -1
- package/dist/workflow-processor/utils/execution-scope.js.map +1 -1
- package/dist/workflow-processor/utils/index.d.ts +1 -0
- package/dist/workflow-processor/utils/index.d.ts.map +1 -1
- package/dist/workflow-processor/utils/index.js +1 -0
- package/dist/workflow-processor/utils/index.js.map +1 -1
- package/dist/workflow-processor/utils/run-trace-collector.d.ts +14 -0
- package/dist/workflow-processor/utils/run-trace-collector.d.ts.map +1 -0
- package/dist/workflow-processor/utils/run-trace-collector.js +44 -0
- package/dist/workflow-processor/utils/run-trace-collector.js.map +1 -0
- package/package.json +2 -2
- package/dist/workflow-processor/services/tool-logging.interceptor.d.ts +0 -6
- package/dist/workflow-processor/services/tool-logging.interceptor.d.ts.map +0 -1
- package/dist/workflow-processor/services/tool-logging.interceptor.js +0 -34
- package/dist/workflow-processor/services/tool-logging.interceptor.js.map +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class RunTraceCollector {
|
|
2
|
+
now;
|
|
3
|
+
events;
|
|
4
|
+
seq;
|
|
5
|
+
toolSeqByTransition = new Map();
|
|
6
|
+
constructor(seed, now = () => Date.now()) {
|
|
7
|
+
this.now = now;
|
|
8
|
+
this.events = seed ? [...seed] : [];
|
|
9
|
+
this.seq = this.events.length > 0 ? this.events[this.events.length - 1].seq + 1 : 0;
|
|
10
|
+
}
|
|
11
|
+
continueFrom(nextSeq) {
|
|
12
|
+
this.seq = Math.max(this.seq, nextSeq);
|
|
13
|
+
}
|
|
14
|
+
emit(event) {
|
|
15
|
+
this.events.push({ ...event, seq: this.seq++, ts: this.now() });
|
|
16
|
+
}
|
|
17
|
+
nextToolSeq(transitionId) {
|
|
18
|
+
const key = transitionId ?? '';
|
|
19
|
+
const next = this.toolSeqByTransition.get(key) ?? 0;
|
|
20
|
+
this.toolSeqByTransition.set(key, next + 1);
|
|
21
|
+
return next;
|
|
22
|
+
}
|
|
23
|
+
startedSince(index) {
|
|
24
|
+
let count = 0;
|
|
25
|
+
for (let i = index; i < this.events.length; i++) {
|
|
26
|
+
if (this.events[i].type === 'transition.started')
|
|
27
|
+
count++;
|
|
28
|
+
}
|
|
29
|
+
return count;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function shallowStateDiff(before, after) {
|
|
33
|
+
const diff = {};
|
|
34
|
+
for (const key of new Set([...Object.keys(before), ...Object.keys(after)])) {
|
|
35
|
+
if (!Object.is(before[key], after[key])) {
|
|
36
|
+
diff[key] = {
|
|
37
|
+
...(key in before ? { before: before[key] } : {}),
|
|
38
|
+
...(key in after ? { after: after[key] } : {}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return diff;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=run-trace-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-trace-collector.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/run-trace-collector.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,iBAAiB;IAOT;IANV,MAAM,CAAkB;IACzB,GAAG,CAAS;IACZ,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,YACE,IAAsB,EACL,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAApC,QAAG,GAAH,GAAG,CAAiC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAMD,YAAY,CAAC,OAAe;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,KAAyB;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAmB,CAAC,CAAC;IACnF,CAAC;IAGD,WAAW,CAAC,YAAgC;QAC1C,MAAM,GAAG,GAAG,YAAY,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB;gBAAE,KAAK,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAOD,MAAM,UAAU,gBAAgB,CAAC,MAA+B,EAAE,KAA8B;IAC9F,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@loopstack/core",
|
|
3
3
|
"displayName": "Loopstack Core Module",
|
|
4
4
|
"description": "The core module of the loopstack automation framework",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.39.0",
|
|
6
6
|
"repository": "loopstack-ai/core",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"watch": "nest build --watch"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@loopstack/common": "^0.
|
|
34
|
+
"@loopstack/common": "^0.39.0",
|
|
35
35
|
"handlebars": "^4.7.9",
|
|
36
36
|
"lodash": "^4.18.1",
|
|
37
37
|
"yaml": "^2.8.3"
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ToolEnvelope, ToolExecutionContext, ToolInterceptor } from '@loopstack/common';
|
|
2
|
-
export declare class ToolLoggingInterceptor implements ToolInterceptor {
|
|
3
|
-
private readonly logger;
|
|
4
|
-
intercept(context: ToolExecutionContext, next: () => Promise<ToolEnvelope>): Promise<ToolEnvelope>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=tool-logging.interceptor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-logging.interceptor.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-logging.interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAM5G,qBACa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEhD,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CA2BzG"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { Logger } from '@nestjs/common';
|
|
8
|
-
import { UseToolInterceptor } from '@loopstack/common';
|
|
9
|
-
let ToolLoggingInterceptor = class ToolLoggingInterceptor {
|
|
10
|
-
logger = new Logger('ToolExecution');
|
|
11
|
-
async intercept(context, next) {
|
|
12
|
-
const toolName = context.tool.constructor.name;
|
|
13
|
-
const startTime = performance.now();
|
|
14
|
-
this.logger.debug(`${toolName} — executing`);
|
|
15
|
-
try {
|
|
16
|
-
const result = await next();
|
|
17
|
-
const durationMs = Math.round(performance.now() - startTime);
|
|
18
|
-
context.metadata.durationMs = durationMs;
|
|
19
|
-
this.logger.debug(`${toolName} — completed in ${durationMs}ms`);
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
const durationMs = Math.round(performance.now() - startTime);
|
|
24
|
-
context.metadata.durationMs = durationMs;
|
|
25
|
-
this.logger.warn(`${toolName} — failed after ${durationMs}ms: ${error instanceof Error ? error.message : String(error)}`);
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
ToolLoggingInterceptor = __decorate([
|
|
31
|
-
UseToolInterceptor({ priority: 0 })
|
|
32
|
-
], ToolLoggingInterceptor);
|
|
33
|
-
export { ToolLoggingInterceptor };
|
|
34
|
-
//# sourceMappingURL=tool-logging.interceptor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-logging.interceptor.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-logging.interceptor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAuD,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOrG,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAChB,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,OAA6B,EAAE,IAAiC;QAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,cAAc,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YAE7D,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,mBAAmB,UAAU,IAAI,CAAC,CAAC;YAEhE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YAE7D,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,QAAQ,mBAAmB,UAAU,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxG,CAAC;YAEF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA9BY,sBAAsB;IADlC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;GACvB,sBAAsB,CA8BlC"}
|