@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.
Files changed (85) hide show
  1. package/dist/common/errors/index.d.ts +1 -0
  2. package/dist/common/errors/index.d.ts.map +1 -1
  3. package/dist/common/errors/index.js +1 -0
  4. package/dist/common/errors/index.js.map +1 -1
  5. package/dist/common/errors/transition-aborted.error.d.ts +4 -0
  6. package/dist/common/errors/transition-aborted.error.d.ts.map +1 -0
  7. package/dist/common/errors/transition-aborted.error.js +7 -0
  8. package/dist/common/errors/transition-aborted.error.js.map +1 -0
  9. package/dist/common/interfaces/app-config.interface.d.ts +1 -0
  10. package/dist/common/interfaces/app-config.interface.d.ts.map +1 -1
  11. package/dist/common/services/index.d.ts +1 -0
  12. package/dist/common/services/index.d.ts.map +1 -1
  13. package/dist/common/services/index.js +1 -0
  14. package/dist/common/services/index.js.map +1 -1
  15. package/dist/common/services/system-clock.d.ts +6 -0
  16. package/dist/common/services/system-clock.d.ts.map +1 -0
  17. package/dist/common/services/system-clock.js +21 -0
  18. package/dist/common/services/system-clock.js.map +1 -0
  19. package/dist/loop-core.module.d.ts +0 -1
  20. package/dist/loop-core.module.d.ts.map +1 -1
  21. package/dist/loop-core.module.js +10 -5
  22. package/dist/loop-core.module.js.map +1 -1
  23. package/dist/persistence/services/workflow.service.d.ts.map +1 -1
  24. package/dist/persistence/services/workflow.service.js +4 -1
  25. package/dist/persistence/services/workflow.service.js.map +1 -1
  26. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts +1 -0
  27. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts.map +1 -1
  28. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.js +8 -0
  29. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.js.map +1 -1
  30. package/dist/scheduler/services/task-processor.service.d.ts.map +1 -1
  31. package/dist/scheduler/services/task-processor.service.js +1 -0
  32. package/dist/scheduler/services/task-processor.service.js.map +1 -1
  33. package/dist/scheduler/services/workflow-runner.service.d.ts.map +1 -1
  34. package/dist/scheduler/services/workflow-runner.service.js +7 -1
  35. package/dist/scheduler/services/workflow-runner.service.js.map +1 -1
  36. package/dist/scheduler/task-queue.module.d.ts.map +1 -1
  37. package/dist/scheduler/task-queue.module.js +9 -5
  38. package/dist/scheduler/task-queue.module.js.map +1 -1
  39. package/dist/workflow-processor/services/document-persistence.service.d.ts.map +1 -1
  40. package/dist/workflow-processor/services/document-persistence.service.js +12 -1
  41. package/dist/workflow-processor/services/document-persistence.service.js.map +1 -1
  42. package/dist/workflow-processor/services/document-store.service.d.ts +1 -0
  43. package/dist/workflow-processor/services/document-store.service.d.ts.map +1 -1
  44. package/dist/workflow-processor/services/document-store.service.js +14 -1
  45. package/dist/workflow-processor/services/document-store.service.js.map +1 -1
  46. package/dist/workflow-processor/services/index.d.ts +2 -1
  47. package/dist/workflow-processor/services/index.d.ts.map +1 -1
  48. package/dist/workflow-processor/services/index.js +2 -1
  49. package/dist/workflow-processor/services/index.js.map +1 -1
  50. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts +7 -2
  51. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts.map +1 -1
  52. package/dist/workflow-processor/services/processors/workflow-processor.service.js +163 -16
  53. package/dist/workflow-processor/services/processors/workflow-processor.service.js.map +1 -1
  54. package/dist/workflow-processor/services/run-trace.service.d.ts +19 -0
  55. package/dist/workflow-processor/services/run-trace.service.d.ts.map +1 -0
  56. package/dist/workflow-processor/services/run-trace.service.js +110 -0
  57. package/dist/workflow-processor/services/run-trace.service.js.map +1 -0
  58. package/dist/workflow-processor/services/stateless-child-runner.service.d.ts +14 -0
  59. package/dist/workflow-processor/services/stateless-child-runner.service.d.ts.map +1 -0
  60. package/dist/workflow-processor/services/stateless-child-runner.service.js +40 -0
  61. package/dist/workflow-processor/services/stateless-child-runner.service.js.map +1 -0
  62. package/dist/workflow-processor/services/tool-pipeline.service.d.ts +4 -1
  63. package/dist/workflow-processor/services/tool-pipeline.service.d.ts.map +1 -1
  64. package/dist/workflow-processor/services/tool-pipeline.service.js +63 -5
  65. package/dist/workflow-processor/services/tool-pipeline.service.js.map +1 -1
  66. package/dist/workflow-processor/services/workflow-orchestration.service.d.ts +4 -1
  67. package/dist/workflow-processor/services/workflow-orchestration.service.d.ts.map +1 -1
  68. package/dist/workflow-processor/services/workflow-orchestration.service.js +56 -4
  69. package/dist/workflow-processor/services/workflow-orchestration.service.js.map +1 -1
  70. package/dist/workflow-processor/utils/execution-scope.d.ts +10 -3
  71. package/dist/workflow-processor/utils/execution-scope.d.ts.map +1 -1
  72. package/dist/workflow-processor/utils/execution-scope.js.map +1 -1
  73. package/dist/workflow-processor/utils/index.d.ts +1 -0
  74. package/dist/workflow-processor/utils/index.d.ts.map +1 -1
  75. package/dist/workflow-processor/utils/index.js +1 -0
  76. package/dist/workflow-processor/utils/index.js.map +1 -1
  77. package/dist/workflow-processor/utils/run-trace-collector.d.ts +14 -0
  78. package/dist/workflow-processor/utils/run-trace-collector.d.ts.map +1 -0
  79. package/dist/workflow-processor/utils/run-trace-collector.js +44 -0
  80. package/dist/workflow-processor/utils/run-trace-collector.js.map +1 -0
  81. package/package.json +2 -2
  82. package/dist/workflow-processor/services/tool-logging.interceptor.d.ts +0 -6
  83. package/dist/workflow-processor/services/tool-logging.interceptor.d.ts.map +0 -1
  84. package/dist/workflow-processor/services/tool-logging.interceptor.js +0 -34
  85. package/dist/workflow-processor/services/tool-logging.interceptor.js.map +0 -1
@@ -0,0 +1,110 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var RunTraceService_1;
14
+ import { Injectable, Logger } from '@nestjs/common';
15
+ import { ConfigService } from '@nestjs/config';
16
+ import { InjectRepository } from '@nestjs/typeorm';
17
+ import { In, Repository } from 'typeorm';
18
+ import { RunTraceEventEntity } from '@loopstack/common';
19
+ const STATE_DIFF_VALUE_CAP = 2_000;
20
+ let RunTraceService = RunTraceService_1 = class RunTraceService {
21
+ repository;
22
+ configService;
23
+ logger = new Logger(RunTraceService_1.name);
24
+ constructor(repository, configService) {
25
+ this.repository = repository;
26
+ this.configService = configService;
27
+ }
28
+ isEnabled(runFlag) {
29
+ return runFlag === true || this.configService.get('app.trace') === true;
30
+ }
31
+ async saveBatch(context, events) {
32
+ if (events.length === 0)
33
+ return;
34
+ try {
35
+ const rows = events.map((event) => this.repository.create({
36
+ workflowId: context.workflowId,
37
+ workflowName: context.workflowName,
38
+ workspaceId: context.workspaceId,
39
+ seq: event.seq,
40
+ type: event.type,
41
+ payload: event.type === 'transition.completed' ? { ...event, stateDiff: capStateDiff(event.stateDiff) } : event,
42
+ }));
43
+ await this.repository.save(rows);
44
+ }
45
+ catch (error) {
46
+ this.logger.warn(`Failed to persist ${events.length} trace event(s) for workflow ${context.workflowId}: ` +
47
+ (error instanceof Error ? error.message : String(error)));
48
+ }
49
+ }
50
+ async nextSeq(workflowId) {
51
+ try {
52
+ const row = (await this.repository
53
+ .createQueryBuilder('e')
54
+ .select('MAX(e.seq)', 'max')
55
+ .where('e.workflowId = :workflowId', { workflowId })
56
+ .getRawOne());
57
+ return row?.max === null || row?.max === undefined ? 0 : Number(row.max) + 1;
58
+ }
59
+ catch (error) {
60
+ this.logger.warn(`Failed to read max trace seq for workflow ${workflowId}: ` +
61
+ (error instanceof Error ? error.message : String(error)));
62
+ return 0;
63
+ }
64
+ }
65
+ async findByRunTree(rootId, types) {
66
+ const rows = (await this.repository.query(`WITH RECURSIVE tree AS (
67
+ SELECT id FROM core_workflow WHERE id = $1
68
+ UNION ALL
69
+ SELECT w.id FROM core_workflow w JOIN tree t ON w.parent_id = t.id
70
+ )
71
+ SELECT id FROM tree`, [rootId]));
72
+ return this.repository.find({
73
+ where: {
74
+ workflowId: In(rows.map((row) => row.id)),
75
+ ...(types ? { type: In(types) } : {}),
76
+ },
77
+ order: { createdAt: 'ASC', seq: 'ASC' },
78
+ });
79
+ }
80
+ };
81
+ RunTraceService = RunTraceService_1 = __decorate([
82
+ Injectable(),
83
+ __param(0, InjectRepository(RunTraceEventEntity)),
84
+ __metadata("design:paramtypes", [Repository,
85
+ ConfigService])
86
+ ], RunTraceService);
87
+ export { RunTraceService };
88
+ function capStateDiff(diff) {
89
+ const capped = {};
90
+ for (const [key, change] of Object.entries(diff)) {
91
+ capped[key] = {
92
+ ...('before' in change ? { before: capValue(change.before) } : {}),
93
+ ...('after' in change ? { after: capValue(change.after) } : {}),
94
+ };
95
+ }
96
+ return capped;
97
+ }
98
+ function capValue(value) {
99
+ try {
100
+ const serialized = JSON.stringify(value);
101
+ if (serialized && serialized.length > STATE_DIFF_VALUE_CAP) {
102
+ return `[truncated: ${serialized.length} chars]`;
103
+ }
104
+ }
105
+ catch {
106
+ return '[unserializable]';
107
+ }
108
+ return value;
109
+ }
110
+ //# sourceMappingURL=run-trace.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-trace.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/run-trace.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { WorkflowInterface, WorkflowMetadataInterface } from '@loopstack/common';
2
+ import { BlockProcessor } from './block-processor.service.js';
3
+ export declare class StatelessChildRunner {
4
+ private readonly blockProcessor;
5
+ private readonly logger;
6
+ constructor(blockProcessor: BlockProcessor);
7
+ run(workflow: WorkflowInterface, params: {
8
+ workflowName: string;
9
+ userId: string;
10
+ workspaceId: string;
11
+ args?: Record<string, unknown>;
12
+ }): Promise<WorkflowMetadataInterface>;
13
+ }
14
+ //# sourceMappingURL=stateless-child-runner.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateless-child-runner.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/stateless-child-runner.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,yBAAyB,EAE1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAO9D,qBACa,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAF3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;gBAEnC,cAAc,EAAE,cAAc;IAErD,GAAG,CACP,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GACA,OAAO,CAAC,yBAAyB,CAAC;CAiBtC"}
@@ -0,0 +1,40 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var StatelessChildRunner_1;
11
+ import { Injectable, Logger } from '@nestjs/common';
12
+ import { getBlockArgsSchema, } from '@loopstack/common';
13
+ import { BlockProcessor } from './block-processor.service.js';
14
+ let StatelessChildRunner = StatelessChildRunner_1 = class StatelessChildRunner {
15
+ blockProcessor;
16
+ logger = new Logger(StatelessChildRunner_1.name);
17
+ constructor(blockProcessor) {
18
+ this.blockProcessor = blockProcessor;
19
+ }
20
+ async run(workflow, params) {
21
+ const ctx = {
22
+ root: params.workflowName,
23
+ userId: params.userId,
24
+ workspaceId: params.workspaceId,
25
+ labels: [],
26
+ payload: {},
27
+ options: { stateless: true },
28
+ };
29
+ this.logger.debug(`Running stateless sub-workflow inline: ${params.workflowName}`);
30
+ const schema = getBlockArgsSchema(workflow);
31
+ const validArgs = schema ? schema.parse(params.args ?? {}) : params.args;
32
+ return this.blockProcessor.processBlock(workflow, validArgs, ctx);
33
+ }
34
+ };
35
+ StatelessChildRunner = StatelessChildRunner_1 = __decorate([
36
+ Injectable(),
37
+ __metadata("design:paramtypes", [BlockProcessor])
38
+ ], StatelessChildRunner);
39
+ export { StatelessChildRunner };
40
+ //# sourceMappingURL=stateless-child-runner.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateless-child-runner.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/stateless-child-runner.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAIL,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQvD,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAGF;IAFZ,MAAM,GAAG,IAAI,MAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IAEhE,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE/D,KAAK,CAAC,GAAG,CACP,QAA2B,EAC3B,MAKC;QAED,MAAM,GAAG,GAAuB;YAC9B,IAAI,EAAE,MAAM,CAAC,YAAY;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC7B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAEtG,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA9BY,oBAAoB;IADhC,UAAU,EAAE;qCAIkC,cAAc;GAHhD,oBAAoB,CA8BhC"}
@@ -2,13 +2,16 @@ import { OnModuleInit } from '@nestjs/common';
2
2
  import { DiscoveryService } from '@nestjs/core';
3
3
  import { BaseTool, ToolCallOptions, ToolEnvelope, ToolPipeline } from '@loopstack/common';
4
4
  import { ExecutionScope } from '../utils/index.js';
5
+ import { DocumentStore } from './document-store.service.js';
5
6
  export declare class ToolPipelineService implements ToolPipeline, OnModuleInit {
6
7
  private readonly executionScope;
7
8
  private readonly discoveryService;
9
+ private readonly documentStore;
8
10
  private readonly logger;
9
11
  private interceptors;
10
- constructor(executionScope: ExecutionScope, discoveryService: DiscoveryService);
12
+ constructor(executionScope: ExecutionScope, discoveryService: DiscoveryService, documentStore: DocumentStore);
11
13
  onModuleInit(): void;
12
14
  execute<TArgs extends object, TConfig extends object, TResult, TMeta = Record<string, unknown>>(tool: BaseTool<TArgs, TConfig, TResult, TMeta>, args: TArgs | undefined, options?: ToolCallOptions<TConfig>): Promise<ToolEnvelope<TResult, TMeta>>;
15
+ private applyDocumentDeclarations;
13
16
  }
14
17
  //# sourceMappingURL=tool-pipeline.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-pipeline.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-pipeline.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,QAAQ,EAGR,eAAe,EACf,YAAY,EAGZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnD,qBACa,mBAAoB,YAAW,YAAY,EAAE,YAAY;IAOlE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAPnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAG/D,OAAO,CAAC,YAAY,CAAyB;gBAG1B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB;IAGrD,YAAY,IAAI,IAAI;IA6Bd,OAAO,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClG,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAC9C,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;CAiDzC"}
1
+ {"version":3,"file":"tool-pipeline.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-pipeline.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,QAAQ,EAGR,eAAe,EAEf,YAAY,EAGZ,YAAY,EAKb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAwB,MAAM,6BAA6B,CAAC;AAYlF,qBACa,mBAAoB,YAAW,YAAY,EAAE,YAAY;IAOlE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAG/D,OAAO,CAAC,YAAY,CAAyB;gBAG1B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa;IAG/C,YAAY,IAAI,IAAI;IA6Bd,OAAO,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClG,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAC9C,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YA4G1B,yBAAyB;CAOxC"}
@@ -10,16 +10,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var ToolPipelineService_1;
11
11
  import { Injectable, Logger } from '@nestjs/common';
12
12
  import { DiscoveryService } from '@nestjs/core';
13
- import { TOOL_INTERCEPTOR_METADATA_KEY, getBlockArgsSchema, getBlockConfigSchema, } from '@loopstack/common';
13
+ import { TOOL_INTERCEPTOR_METADATA_KEY, ToolDocumentDeclarationSchema, getBlockArgsSchema, getBlockConfigSchema, getBlockName, parseToolResult, } from '@loopstack/common';
14
+ import { TransitionAbortedError } from '../../common/index.js';
14
15
  import { ExecutionScope } from '../utils/index.js';
16
+ import { DocumentStore, resolveDocumentClass } from './document-store.service.js';
15
17
  let ToolPipelineService = ToolPipelineService_1 = class ToolPipelineService {
16
18
  executionScope;
17
19
  discoveryService;
20
+ documentStore;
18
21
  logger = new Logger(ToolPipelineService_1.name);
19
22
  interceptors = [];
20
- constructor(executionScope, discoveryService) {
23
+ constructor(executionScope, discoveryService, documentStore) {
21
24
  this.executionScope = executionScope;
22
25
  this.discoveryService = discoveryService;
26
+ this.documentStore = documentStore;
23
27
  }
24
28
  onModuleInit() {
25
29
  const providers = this.discoveryService.getProviders();
@@ -43,29 +47,83 @@ let ToolPipelineService = ToolPipelineService_1 = class ToolPipelineService {
43
47
  const validConfig = configSchema && options?.config ? configSchema.parse(options.config) : options?.config;
44
48
  const validOptions = validConfig !== options?.config ? { ...options, config: validConfig } : options;
45
49
  const scope = this.executionScope.getOptional();
50
+ if (scope?.abortController.signal.aborted) {
51
+ throw new TransitionAbortedError();
52
+ }
46
53
  const runContext = scope
47
54
  ? {
48
55
  userId: scope.userId,
49
56
  workspaceId: scope.workspaceId,
50
57
  workflowId: scope.workflowId,
51
58
  args: scope.args,
59
+ signal: scope.abortController.signal,
52
60
  }
53
- : { userId: '', workspaceId: '', workflowId: '', args: undefined };
61
+ : { userId: '', workspaceId: '', workflowId: '', args: undefined, signal: new AbortController().signal };
54
62
  const execContext = {
55
63
  tool,
56
64
  args: validArgs,
65
+ ...(validConfig !== undefined ? { config: validConfig } : {}),
57
66
  runContext,
58
67
  metadata: {},
59
68
  };
60
69
  const toolCall = () => tool.handle(validArgs, runContext, validOptions);
61
70
  const chain = this.interceptors.reduceRight((next, interceptor) => () => interceptor.intercept(execContext, next), toolCall);
62
- return chain();
71
+ const trace = scope?.trace;
72
+ const toolName = getBlockName(tool);
73
+ const transitionId = scope?.transition?.id;
74
+ const toolSeq = trace?.nextToolSeq(transitionId) ?? 0;
75
+ const traceConfig = validConfig !== undefined ? { config: validConfig } : {};
76
+ trace?.emit({ type: 'tool.called', transitionId, toolName, toolSeq, args: validArgs, ...traceConfig });
77
+ this.logger.debug(`${toolName} — executing`);
78
+ const startedAt = performance.now();
79
+ try {
80
+ const envelope = parseToolResult(tool, await chain());
81
+ await this.applyDocumentDeclarations(toolName, envelope);
82
+ const durationMs = Math.round(performance.now() - startedAt);
83
+ trace?.emit({
84
+ type: 'tool.completed',
85
+ transitionId,
86
+ toolName,
87
+ toolSeq,
88
+ args: validArgs,
89
+ ...traceConfig,
90
+ envelope,
91
+ durationMs,
92
+ });
93
+ this.logger.debug(`${toolName} — completed in ${durationMs}ms`);
94
+ return envelope;
95
+ }
96
+ catch (error) {
97
+ const durationMs = Math.round(performance.now() - startedAt);
98
+ const message = error instanceof Error ? error.message : String(error);
99
+ trace?.emit({
100
+ type: 'tool.failed',
101
+ transitionId,
102
+ toolName,
103
+ toolSeq,
104
+ args: validArgs,
105
+ ...traceConfig,
106
+ error: message,
107
+ durationMs,
108
+ });
109
+ this.logger.warn(`${toolName} — failed after ${durationMs}ms: ${message}`);
110
+ throw error;
111
+ }
112
+ }
113
+ async applyDocumentDeclarations(toolName, envelope) {
114
+ if (!envelope.documents?.length || envelope.error !== undefined || envelope.pending)
115
+ return;
116
+ const declarations = ToolDocumentDeclarationSchema.array().parse(envelope.documents);
117
+ for (const decl of declarations) {
118
+ await this.documentStore.save(resolveDocumentClass(decl.documentName, toolName), decl.content, decl.options);
119
+ }
63
120
  }
64
121
  };
65
122
  ToolPipelineService = ToolPipelineService_1 = __decorate([
66
123
  Injectable(),
67
124
  __metadata("design:paramtypes", [ExecutionScope,
68
- DiscoveryService])
125
+ DiscoveryService,
126
+ DocumentStore])
69
127
  ], ToolPipelineService);
70
128
  export { ToolPipelineService };
71
129
  //# sourceMappingURL=tool-pipeline.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-pipeline.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-pipeline.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-pipeline.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/tool-pipeline.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { TaskSchedulerService } from '../../scheduler/services/task-scheduler.se
5
5
  import { ExecutionScope } from '../utils/index.js';
6
6
  import { CreateWorkflowService } from './create-workflow.service.js';
7
7
  import { DocumentStore } from './document-store.service.js';
8
+ import { StatelessChildRunner } from './stateless-child-runner.service.js';
8
9
  import { WorkflowRegistryService } from './workflow-registry.service.js';
9
10
  export declare class WorkflowOrchestrationService implements WorkflowOrchestrator {
10
11
  private readonly executionScope;
@@ -13,9 +14,11 @@ export declare class WorkflowOrchestrationService implements WorkflowOrchestrato
13
14
  private readonly workflowService;
14
15
  private readonly workflowRegistryService;
15
16
  private readonly documentStore;
17
+ private readonly statelessChildRunner;
16
18
  private readonly logger;
17
- constructor(executionScope: ExecutionScope, createWorkflowService: CreateWorkflowService, taskSchedulerService: TaskSchedulerService, workflowService: WorkflowService, workflowRegistryService: WorkflowRegistryService, documentStore: DocumentStore);
19
+ constructor(executionScope: ExecutionScope, createWorkflowService: CreateWorkflowService, taskSchedulerService: TaskSchedulerService, workflowService: WorkflowService, workflowRegistryService: WorkflowRegistryService, documentStore: DocumentStore, statelessChildRunner: StatelessChildRunner);
18
20
  queue(workflowClass: Type, args?: Record<string, unknown>, options?: RunOptions): Promise<QueueResult>;
21
+ private queueInline;
19
22
  private persistSubWorkflowLink;
20
23
  resume(workflowId: string, payload: Record<string, unknown>, options: ResumeOptions): Promise<void>;
21
24
  cancel(workflowId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestration.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/workflow-orchestration.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAEV,cAAc,EACd,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAUzE,qBACa,4BAA6B,YAAW,oBAAoB;IAIrE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;gBAGrD,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa;IAGzC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;YA6C9F,sBAAsB;IAqB9B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzC,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B9D"}
1
+ {"version":3,"file":"workflow-orchestration.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/workflow-orchestration.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAGV,cAAc,EACd,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAUzE,qBACa,4BAA6B,YAAW,oBAAoB;IAIrE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IATvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;gBAGrD,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB;IAGvD,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;YAgE9F,WAAW;YAgDX,sBAAsB;IAqB9B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzC,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B9D"}
@@ -10,12 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var WorkflowOrchestrationService_1;
11
11
  import { Injectable, Logger } from '@nestjs/common';
12
12
  import { randomUUID } from 'node:crypto';
13
- import { LinkDocument, WorkflowState, } from '@loopstack/common';
13
+ import { LinkDocument, WorkflowState, statelessChildCallback, statelessChildResultFields, } from '@loopstack/common';
14
+ import { TransitionAbortedError } from '../../common/index.js';
14
15
  import { WorkflowService } from '../../persistence/services/workflow.service.js';
15
16
  import { TaskSchedulerService } from '../../scheduler/services/task-scheduler.service.js';
16
17
  import { ExecutionScope } from '../utils/index.js';
17
18
  import { CreateWorkflowService } from './create-workflow.service.js';
18
19
  import { DocumentStore } from './document-store.service.js';
20
+ import { StatelessChildRunner } from './stateless-child-runner.service.js';
19
21
  import { WorkflowRegistryService } from './workflow-registry.service.js';
20
22
  let WorkflowOrchestrationService = WorkflowOrchestrationService_1 = class WorkflowOrchestrationService {
21
23
  executionScope;
@@ -24,19 +26,24 @@ let WorkflowOrchestrationService = WorkflowOrchestrationService_1 = class Workfl
24
26
  workflowService;
25
27
  workflowRegistryService;
26
28
  documentStore;
29
+ statelessChildRunner;
27
30
  logger = new Logger(WorkflowOrchestrationService_1.name);
28
- constructor(executionScope, createWorkflowService, taskSchedulerService, workflowService, workflowRegistryService, documentStore) {
31
+ constructor(executionScope, createWorkflowService, taskSchedulerService, workflowService, workflowRegistryService, documentStore, statelessChildRunner) {
29
32
  this.executionScope = executionScope;
30
33
  this.createWorkflowService = createWorkflowService;
31
34
  this.taskSchedulerService = taskSchedulerService;
32
35
  this.workflowService = workflowService;
33
36
  this.workflowRegistryService = workflowRegistryService;
34
37
  this.documentStore = documentStore;
38
+ this.statelessChildRunner = statelessChildRunner;
35
39
  }
36
40
  async queue(workflowClass, args, options) {
37
41
  const scope = this.executionScope.get();
42
+ if (scope.abortController.signal.aborted) {
43
+ throw new TransitionAbortedError();
44
+ }
38
45
  if (scope.options?.stateless) {
39
- throw new Error('Sub-workflow launching requires stateful workflow execution.');
46
+ return this.queueInline(scope, workflowClass, args, options);
40
47
  }
41
48
  const { instance: workflow, workflowName } = this.workflowRegistryService.resolve(workflowClass);
42
49
  const workflowEntity = await this.createWorkflowService.create(workflow, { id: scope.workspaceId }, {
@@ -45,6 +52,7 @@ let WorkflowOrchestrationService = WorkflowOrchestrationService_1 = class Workfl
45
52
  args: { ...args },
46
53
  callbackTransition: options?.callback?.transition ?? null,
47
54
  callbackMetadata: options?.callback?.metadata ?? null,
55
+ ...(scope.tracePersist ? { trace: true } : {}),
48
56
  }, scope.userId, scope.workflowId);
49
57
  await this.taskSchedulerService.addTask({
50
58
  id: 'sub_workflow_execution-' + randomUUID(),
@@ -61,10 +69,53 @@ let WorkflowOrchestrationService = WorkflowOrchestrationService_1 = class Workfl
61
69
  },
62
70
  });
63
71
  await this.persistSubWorkflowLink(workflowEntity.id, workflowName, options);
72
+ scope.trace.emit({
73
+ type: 'child.queued',
74
+ transitionId: scope.transition?.id,
75
+ childWorkflowId: workflowEntity.id,
76
+ workflowName,
77
+ ...(options?.show ? { show: options.show } : {}),
78
+ });
64
79
  return {
65
80
  workflowId: workflowEntity.id,
66
81
  };
67
82
  }
83
+ async queueInline(scope, workflowClass, args, options) {
84
+ const { instance, workflowName } = this.workflowRegistryService.resolve(workflowClass);
85
+ const childId = `stateless-${randomUUID()}`;
86
+ const childMeta = await this.statelessChildRunner.run(instance, {
87
+ workflowName,
88
+ userId: scope.userId,
89
+ workspaceId: scope.workspaceId,
90
+ args,
91
+ });
92
+ const callbackTransition = options?.callback?.transition ?? null;
93
+ const callbackMetadata = options?.callback?.metadata ?? null;
94
+ const record = {
95
+ workflowId: childId,
96
+ workflowName,
97
+ args,
98
+ callbackTransition,
99
+ callbackMetadata,
100
+ ...statelessChildResultFields(childMeta),
101
+ };
102
+ (scope.statelessChildren ??= []).push(record);
103
+ scope.trace.emit({
104
+ type: 'child.queued',
105
+ transitionId: scope.transition?.id,
106
+ childWorkflowId: childId,
107
+ workflowName,
108
+ ...(options?.show ? { show: options.show } : {}),
109
+ });
110
+ if (record.status !== WorkflowState.Waiting) {
111
+ scope.trace.emit({ type: 'child.settled', childWorkflowId: childId, status: record.status });
112
+ }
113
+ const callback = statelessChildCallback(record, scope.workflowId);
114
+ if (callback) {
115
+ (scope.statelessCallbacks ??= []).push(callback);
116
+ }
117
+ return { workflowId: childId };
118
+ }
68
119
  async persistSubWorkflowLink(childWorkflowId, workflowName, options) {
69
120
  const show = options?.show ?? 'inline';
70
121
  if (show === 'hidden')
@@ -159,7 +210,8 @@ WorkflowOrchestrationService = WorkflowOrchestrationService_1 = __decorate([
159
210
  TaskSchedulerService,
160
211
  WorkflowService,
161
212
  WorkflowRegistryService,
162
- DocumentStore])
213
+ DocumentStore,
214
+ StatelessChildRunner])
163
215
  ], WorkflowOrchestrationService);
164
216
  export { WorkflowOrchestrationService };
165
217
  //# sourceMappingURL=workflow-orchestration.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestration.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/workflow-orchestration.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-orchestration.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/workflow-orchestration.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { QueryRunner } from 'typeorm';
2
- import type { DocumentEntity } from '@loopstack/common';
3
- import type { HistoryTransition } from '@loopstack/contracts/types';
2
+ import type { ActiveTransition, DocumentEntity, StatelessChildRecord } from '@loopstack/common';
3
+ import type { TransitionPayloadInterface } from '@loopstack/contracts/types';
4
+ import type { RunTraceCollector } from './run-trace-collector.js';
4
5
  export interface ExecutionScopeData {
5
6
  userId: string;
6
7
  workspaceId: string;
7
8
  workflowId: string;
9
+ workflowName: string;
8
10
  labels: string[];
9
11
  args: Readonly<Record<string, unknown> | undefined>;
10
12
  options: {
@@ -16,7 +18,12 @@ export interface ExecutionScopeData {
16
18
  persistenceState: {
17
19
  documentsUpdated: boolean;
18
20
  };
19
- transition?: HistoryTransition;
21
+ transition?: ActiveTransition;
22
+ trace: RunTraceCollector;
23
+ tracePersist: boolean;
24
+ statelessCallbacks?: TransitionPayloadInterface[];
25
+ statelessChildren?: StatelessChildRecord[];
26
+ abortController: AbortController;
20
27
  stateDraft: Record<string, unknown>;
21
28
  resultDraft: Record<string, unknown>;
22
29
  resultDirty: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"execution-scope.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/execution-scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AASpE,MAAM,WAAW,kBAAkB;IAEjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACpD,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAGhC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAGrC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,gBAAgB,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAK/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;CACtB;AAWD,qBACa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA+C;IAE9D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKhD,GAAG,IAAI,kBAAkB;IAQzB,WAAW,IAAI,kBAAkB,GAAG,SAAS;IAQ7C,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAQhE"}
1
+ {"version":3,"file":"execution-scope.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/execution-scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,MAAM,WAAW,kBAAkB;IAEjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACpD,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAGhC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAGrC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,gBAAgB,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAG9B,KAAK,EAAE,iBAAiB,CAAC;IAGzB,YAAY,EAAE,OAAO,CAAC;IAItB,kBAAkB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAClD,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAK3C,eAAe,EAAE,eAAe,CAAC;IAKjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;CACtB;AAWD,qBACa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA+C;IAE9D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKhD,GAAG,IAAI,kBAAkB;IAQzB,WAAW,IAAI,kBAAkB,GAAG,SAAS;IAQ7C,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAQhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution-scope.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/execution-scope.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAgD9C,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,OAAO,GAAG,IAAI,iBAAiB,EAAsB,CAAC;IAI9D,GAAG,CAAI,IAAwB,EAAE,EAAwB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAMD,SAAS,CAAI,GAAW,EAAE,MAAwB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAe,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAjCY,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAiC1B"}
1
+ {"version":3,"file":"execution-scope.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/execution-scope.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmE9C,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,OAAO,GAAG,IAAI,iBAAiB,EAAsB,CAAC;IAI9D,GAAG,CAAI,IAAwB,EAAE,EAAwB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAMD,SAAS,CAAI,GAAW,EAAE,MAAwB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAe,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAjCY,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAiC1B"}
@@ -1,3 +1,4 @@
1
1
  export * from './execution-scope.js';
2
+ export * from './run-trace-collector.js';
2
3
  export * from './workflow-templates.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './execution-scope.js';
2
+ export * from './run-trace-collector.js';
2
3
  export * from './workflow-templates.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { RunTraceEvent, RunTraceEventInput, StateDiff } from '@loopstack/contracts/types';
2
+ export declare class RunTraceCollector {
3
+ private readonly now;
4
+ readonly events: RunTraceEvent[];
5
+ private seq;
6
+ private toolSeqByTransition;
7
+ constructor(seed?: RunTraceEvent[], now?: () => number);
8
+ continueFrom(nextSeq: number): void;
9
+ emit(event: RunTraceEventInput): void;
10
+ nextToolSeq(transitionId: string | undefined): number;
11
+ startedSince(index: number): number;
12
+ }
13
+ export declare function shallowStateDiff(before: Record<string, unknown>, after: Record<string, unknown>): StateDiff;
14
+ //# sourceMappingURL=run-trace-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-trace-collector.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/run-trace-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAO/F,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,mBAAmB,CAA6B;gBAGtD,IAAI,CAAC,EAAE,aAAa,EAAE,EACL,GAAG,GAAE,MAAM,MAAyB;IAUvD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKrC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAQrD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAOpC;AAOD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAW3G"}