@frontmcp/sdk 0.11.3 → 0.12.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 (156) hide show
  1. package/README.md +1 -1
  2. package/common/decorators/index.d.ts +2 -0
  3. package/common/decorators/index.d.ts.map +1 -1
  4. package/common/decorators/job.decorator.d.ts +20 -0
  5. package/common/decorators/job.decorator.d.ts.map +1 -0
  6. package/common/decorators/workflow.decorator.d.ts +12 -0
  7. package/common/decorators/workflow.decorator.d.ts.map +1 -0
  8. package/common/entries/index.d.ts +2 -0
  9. package/common/entries/index.d.ts.map +1 -1
  10. package/common/entries/job.entry.d.ts +40 -0
  11. package/common/entries/job.entry.d.ts.map +1 -0
  12. package/common/entries/workflow.entry.d.ts +15 -0
  13. package/common/entries/workflow.entry.d.ts.map +1 -0
  14. package/common/interfaces/index.d.ts +2 -0
  15. package/common/interfaces/index.d.ts.map +1 -1
  16. package/common/interfaces/internal/registry.interface.d.ts +5 -1
  17. package/common/interfaces/internal/registry.interface.d.ts.map +1 -1
  18. package/common/interfaces/job.interface.d.ts +40 -0
  19. package/common/interfaces/job.interface.d.ts.map +1 -0
  20. package/common/interfaces/workflow.interface.d.ts +27 -0
  21. package/common/interfaces/workflow.interface.d.ts.map +1 -0
  22. package/common/metadata/app.metadata.d.ts +13 -1
  23. package/common/metadata/app.metadata.d.ts.map +1 -1
  24. package/common/metadata/front-mcp.metadata.d.ts +385 -0
  25. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  26. package/common/metadata/index.d.ts +2 -0
  27. package/common/metadata/index.d.ts.map +1 -1
  28. package/common/metadata/job.metadata.d.ts +109 -0
  29. package/common/metadata/job.metadata.d.ts.map +1 -0
  30. package/common/metadata/workflow.metadata.d.ts +161 -0
  31. package/common/metadata/workflow.metadata.d.ts.map +1 -0
  32. package/common/records/index.d.ts +2 -0
  33. package/common/records/index.d.ts.map +1 -1
  34. package/common/records/job.record.d.ts +28 -0
  35. package/common/records/job.record.d.ts.map +1 -0
  36. package/common/records/workflow.record.d.ts +26 -0
  37. package/common/records/workflow.record.d.ts.map +1 -0
  38. package/common/schemas/annotated-class.schema.d.ts +2 -0
  39. package/common/schemas/annotated-class.schema.d.ts.map +1 -1
  40. package/common/tokens/app.tokens.d.ts.map +1 -1
  41. package/common/tokens/front-mcp.tokens.d.ts.map +1 -1
  42. package/common/tokens/index.d.ts +2 -0
  43. package/common/tokens/index.d.ts.map +1 -1
  44. package/common/tokens/job.tokens.d.ts +17 -0
  45. package/common/tokens/job.tokens.d.ts.map +1 -0
  46. package/common/tokens/workflow.tokens.d.ts +20 -0
  47. package/common/tokens/workflow.tokens.d.ts.map +1 -0
  48. package/direct/client.types.d.ts +127 -0
  49. package/direct/client.types.d.ts.map +1 -1
  50. package/direct/create.d.ts.map +1 -1
  51. package/direct/create.types.d.ts +13 -1
  52. package/direct/create.types.d.ts.map +1 -1
  53. package/direct/direct-server.d.ts +10 -0
  54. package/direct/direct-server.d.ts.map +1 -1
  55. package/direct/direct.types.d.ts +52 -0
  56. package/direct/direct.types.d.ts.map +1 -1
  57. package/direct/index.d.ts +1 -1
  58. package/direct/index.d.ts.map +1 -1
  59. package/errors/index.d.ts +2 -1
  60. package/errors/index.d.ts.map +1 -1
  61. package/errors/sdk.errors.d.ts +13 -0
  62. package/errors/sdk.errors.d.ts.map +1 -1
  63. package/errors/workflow.errors.d.ts +14 -0
  64. package/errors/workflow.errors.d.ts.map +1 -0
  65. package/esm/index.mjs +4176 -1323
  66. package/esm/package.json +10 -6
  67. package/front-mcp/front-mcp.providers.d.ts +124 -0
  68. package/front-mcp/front-mcp.providers.d.ts.map +1 -1
  69. package/index.d.ts +6 -0
  70. package/index.d.ts.map +1 -1
  71. package/index.js +4319 -1424
  72. package/job/enclave/index.d.ts +4 -0
  73. package/job/enclave/index.d.ts.map +1 -0
  74. package/job/enclave/job-dynamic.executor.d.ts +16 -0
  75. package/job/enclave/job-dynamic.executor.d.ts.map +1 -0
  76. package/job/enclave/job-enclave.bridge.d.ts +28 -0
  77. package/job/enclave/job-enclave.bridge.d.ts.map +1 -0
  78. package/job/execution/index.d.ts +2 -0
  79. package/job/execution/index.d.ts.map +1 -0
  80. package/job/execution/job-execution.manager.d.ts +62 -0
  81. package/job/execution/job-execution.manager.d.ts.map +1 -0
  82. package/job/index.d.ts +11 -0
  83. package/job/index.d.ts.map +1 -0
  84. package/job/job-permission.guard.d.ts +14 -0
  85. package/job/job-permission.guard.d.ts.map +1 -0
  86. package/job/job-scope.helper.d.ts +46 -0
  87. package/job/job-scope.helper.d.ts.map +1 -0
  88. package/job/job.events.d.ts +18 -0
  89. package/job/job.events.d.ts.map +1 -0
  90. package/job/job.instance.d.ts +38 -0
  91. package/job/job.instance.d.ts.map +1 -0
  92. package/job/job.registry.d.ts +66 -0
  93. package/job/job.registry.d.ts.map +1 -0
  94. package/job/job.utils.d.ts +11 -0
  95. package/job/job.utils.d.ts.map +1 -0
  96. package/job/store/index.d.ts +11 -0
  97. package/job/store/index.d.ts.map +1 -0
  98. package/job/store/job-definition-store.factory.d.ts +21 -0
  99. package/job/store/job-definition-store.factory.d.ts.map +1 -0
  100. package/job/store/job-definition.interface.d.ts +14 -0
  101. package/job/store/job-definition.interface.d.ts.map +1 -0
  102. package/job/store/job-state-store.factory.d.ts +23 -0
  103. package/job/store/job-state-store.factory.d.ts.map +1 -0
  104. package/job/store/job-state.interface.d.ts +48 -0
  105. package/job/store/job-state.interface.d.ts.map +1 -0
  106. package/job/store/memory-job-definition.store.d.ts +21 -0
  107. package/job/store/memory-job-definition.store.d.ts.map +1 -0
  108. package/job/store/memory-job-state.store.d.ts +20 -0
  109. package/job/store/memory-job-state.store.d.ts.map +1 -0
  110. package/job/store/redis-job-definition.store.d.ts +35 -0
  111. package/job/store/redis-job-definition.store.d.ts.map +1 -0
  112. package/job/store/redis-job-state.store.d.ts +37 -0
  113. package/job/store/redis-job-state.store.d.ts.map +1 -0
  114. package/job/tools/execute-job.tool.d.ts +9 -0
  115. package/job/tools/execute-job.tool.d.ts.map +1 -0
  116. package/job/tools/get-job-status.tool.d.ts +21 -0
  117. package/job/tools/get-job-status.tool.d.ts.map +1 -0
  118. package/job/tools/index.d.ts +6 -0
  119. package/job/tools/index.d.ts.map +1 -0
  120. package/job/tools/list-jobs.tool.d.ts +17 -0
  121. package/job/tools/list-jobs.tool.d.ts.map +1 -0
  122. package/job/tools/register-job.tool.d.ts +15 -0
  123. package/job/tools/register-job.tool.d.ts.map +1 -0
  124. package/job/tools/remove-job.tool.d.ts +10 -0
  125. package/job/tools/remove-job.tool.d.ts.map +1 -0
  126. package/package.json +10 -6
  127. package/scope/scope.instance.d.ts +10 -0
  128. package/scope/scope.instance.d.ts.map +1 -1
  129. package/workflow/engine/index.d.ts +3 -0
  130. package/workflow/engine/index.d.ts.map +1 -0
  131. package/workflow/engine/workflow-step.executor.d.ts +18 -0
  132. package/workflow/engine/workflow-step.executor.d.ts.map +1 -0
  133. package/workflow/engine/workflow.engine.d.ts +34 -0
  134. package/workflow/engine/workflow.engine.d.ts.map +1 -0
  135. package/workflow/index.d.ts +7 -0
  136. package/workflow/index.d.ts.map +1 -0
  137. package/workflow/tools/execute-workflow.tool.d.ts +9 -0
  138. package/workflow/tools/execute-workflow.tool.d.ts.map +1 -0
  139. package/workflow/tools/get-workflow-status.tool.d.ts +23 -0
  140. package/workflow/tools/get-workflow-status.tool.d.ts.map +1 -0
  141. package/workflow/tools/index.d.ts +6 -0
  142. package/workflow/tools/index.d.ts.map +1 -0
  143. package/workflow/tools/list-workflows.tool.d.ts +18 -0
  144. package/workflow/tools/list-workflows.tool.d.ts.map +1 -0
  145. package/workflow/tools/register-workflow.tool.d.ts +21 -0
  146. package/workflow/tools/register-workflow.tool.d.ts.map +1 -0
  147. package/workflow/tools/remove-workflow.tool.d.ts +10 -0
  148. package/workflow/tools/remove-workflow.tool.d.ts.map +1 -0
  149. package/workflow/workflow.events.d.ts +18 -0
  150. package/workflow/workflow.events.d.ts.map +1 -0
  151. package/workflow/workflow.instance.d.ts +20 -0
  152. package/workflow/workflow.instance.d.ts.map +1 -0
  153. package/workflow/workflow.registry.d.ts +66 -0
  154. package/workflow/workflow.registry.d.ts.map +1 -0
  155. package/workflow/workflow.utils.d.ts +6 -0
  156. package/workflow/workflow.utils.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-job-definition.store.d.ts","sourceRoot":"","sources":["../../../src/job/store/redis-job-definition.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,SAAkB;IAMjG,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAOb,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAM9D,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAW9C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjD,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAM1E,uBAAuB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAW3D,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,37 @@
1
+ import { JobStateStore, JobRunRecord, WorkflowRunRecord, JobExecutionState } from './job-state.interface';
2
+ import { FrontMcpLogger } from '../../common/interfaces/logger.interface';
3
+ /** Minimal Redis client interface covering operations used by this store. */
4
+ export interface RedisStateStoreLike {
5
+ get(key: string): Promise<string | null>;
6
+ set(key: string, value: string, ...args: (string | number)[]): Promise<unknown>;
7
+ del(key: string | string[]): Promise<number>;
8
+ sadd(key: string, ...members: string[]): Promise<number>;
9
+ srem(key: string, ...members: string[]): Promise<number>;
10
+ smembers(key: string): Promise<string[]>;
11
+ keys(pattern: string): Promise<string[]>;
12
+ }
13
+ /**
14
+ * Redis implementation of JobStateStore.
15
+ * Uses Redis hashes with TTL for production deployments.
16
+ */
17
+ export declare class RedisJobStateStore implements JobStateStore {
18
+ private readonly client;
19
+ private readonly keyPrefix;
20
+ private readonly logger;
21
+ private readonly ttlSeconds;
22
+ constructor(client: RedisStateStoreLike, logger: FrontMcpLogger, keyPrefix?: string, ttlSeconds?: number);
23
+ private key;
24
+ private indexKey;
25
+ createRun(record: JobRunRecord | WorkflowRunRecord): Promise<void>;
26
+ updateRun(runId: string, updates: Partial<JobRunRecord | WorkflowRunRecord>): Promise<void>;
27
+ getRun(runId: string): Promise<JobRunRecord | WorkflowRunRecord | null>;
28
+ listRuns(opts?: {
29
+ jobId?: string;
30
+ sessionId?: string;
31
+ state?: JobExecutionState;
32
+ limit?: number;
33
+ }): Promise<(JobRunRecord | WorkflowRunRecord)[]>;
34
+ cleanup(olderThanMs: number): Promise<number>;
35
+ dispose(): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=redis-job-state.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-job-state.store.d.ts","sourceRoot":"","sources":["../../../src/job/store/redis-job-state.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,SAAc,EAAE,UAAU,SAAQ;IAO5G,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,QAAQ;IAIV,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3F,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAMvE,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC;IA8B3C,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,9 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class ExecuteJobTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ input?: Record<string, unknown>;
6
+ background: boolean;
7
+ }): Promise<import("../execution/job-execution.manager").InlineJobResult | import("../execution/job-execution.manager").BackgroundJobResult>;
8
+ }
9
+ //# sourceMappingURL=execute-job.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-job.tool.d.ts","sourceRoot":"","sources":["../../../src/job/tools/execute-job.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IAC/C,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CAsB5F"}
@@ -0,0 +1,21 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class GetJobStatusTool extends ToolContext {
3
+ execute(input: {
4
+ runId: string;
5
+ }): Promise<{
6
+ runId: string;
7
+ jobName: string;
8
+ state: import("@frontmcp/sdk").JobExecutionState;
9
+ result: unknown;
10
+ error: {
11
+ message: string;
12
+ name: string;
13
+ stack?: string;
14
+ } | undefined;
15
+ startedAt: number;
16
+ completedAt: number | undefined;
17
+ attempt: number;
18
+ logs: string[];
19
+ }>;
20
+ }
21
+ //# sourceMappingURL=get-job-status.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-job-status.tool.d.ts","sourceRoot":"","sources":["../../../src/job/tools/get-job-status.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;CAyBvC"}
@@ -0,0 +1,6 @@
1
+ export { default as ListJobsTool } from './list-jobs.tool';
2
+ export { default as ExecuteJobTool } from './execute-job.tool';
3
+ export { default as GetJobStatusTool } from './get-job-status.tool';
4
+ export { default as RegisterJobTool } from './register-job.tool';
5
+ export { default as RemoveJobTool } from './remove-job.tool';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/job/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class ListJobsTool extends ToolContext {
3
+ execute(input: {
4
+ tags?: string[];
5
+ labels?: Record<string, string>;
6
+ query?: string;
7
+ }): Promise<{
8
+ jobs: {
9
+ name: string;
10
+ description: string | undefined;
11
+ tags: string[];
12
+ labels: Record<string, string>;
13
+ }[];
14
+ count: number;
15
+ }>;
16
+ }
17
+ //# sourceMappingURL=list-jobs.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-jobs.tool.d.ts","sourceRoot":"","sources":["../../../src/job/tools/list-jobs.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAyBjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;CAuB1F"}
@@ -0,0 +1,15 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class RegisterJobTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ description?: string;
6
+ script: string;
7
+ inputSchema?: Record<string, unknown>;
8
+ outputSchema?: Record<string, unknown>;
9
+ tags?: string[];
10
+ }): Promise<{
11
+ success: boolean;
12
+ jobId: string;
13
+ }>;
14
+ }
15
+ //# sourceMappingURL=register-job.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-job.tool.d.ts","sourceRoot":"","sources":["../../../src/job/tools/register-job.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAsBjD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IAChD,OAAO,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB;;;;CAkCF"}
@@ -0,0 +1,10 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class RemoveJobTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ }): Promise<{
6
+ success: boolean;
7
+ message: string;
8
+ }>;
9
+ }
10
+ //# sourceMappingURL=remove-job.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-job.tool.d.ts","sourceRoot":"","sources":["../../../src/job/tools/remove-job.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAejD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAC9C,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;CAuBtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/sdk",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "FrontMCP SDK",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "homepage": "https://docs.agentfront.dev",
@@ -64,7 +64,8 @@
64
64
  "content-type": "^1.0.5",
65
65
  "vectoriadb": "^2.1.3",
66
66
  "@vercel/kv": "^3.0.0",
67
- "@frontmcp/storage-sqlite": "0.11.3"
67
+ "@frontmcp/storage-sqlite": "0.12.0",
68
+ "@enclave-vm/core": "^2.11.1"
68
69
  },
69
70
  "peerDependenciesMeta": {
70
71
  "@vercel/kv": {
@@ -72,13 +73,16 @@
72
73
  },
73
74
  "@frontmcp/storage-sqlite": {
74
75
  "optional": true
76
+ },
77
+ "@enclave-vm/core": {
78
+ "optional": true
75
79
  }
76
80
  },
77
81
  "dependencies": {
78
- "@frontmcp/utils": "0.11.3",
79
- "@frontmcp/di": "0.11.3",
80
- "@frontmcp/uipack": "0.11.3",
81
- "@frontmcp/auth": "0.11.3",
82
+ "@frontmcp/utils": "0.12.0",
83
+ "@frontmcp/di": "0.12.0",
84
+ "@frontmcp/uipack": "0.12.0",
85
+ "@frontmcp/auth": "0.12.0",
82
86
  "@modelcontextprotocol/sdk": "1.26.0",
83
87
  "@langchain/core": "^1.1.8",
84
88
  "@langchain/openai": "^1.2.0",
@@ -15,6 +15,8 @@ import { ToolUIRegistry } from '../tool/ui';
15
15
  import PluginRegistry from '../plugin/plugin.registry';
16
16
  import { ElicitationStore } from '../elicitation';
17
17
  import type { EventStore } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
18
+ import JobRegistry from '../job/job.registry';
19
+ import WorkflowRegistry from '../workflow/workflow.registry';
18
20
  export declare class Scope extends ScopeEntry {
19
21
  readonly id: string;
20
22
  private readonly globalProviders;
@@ -43,6 +45,12 @@ export declare class Scope extends ScopeEntry {
43
45
  private _skillSession?;
44
46
  /** EventStore for SSE resumability support (optional) */
45
47
  private _eventStore?;
48
+ /** Job/workflow registries and execution (optional) */
49
+ private _scopeJobs?;
50
+ private _scopeWorkflows?;
51
+ private _jobExecutionManager?;
52
+ private _jobStateStore?;
53
+ private _jobDefinitionStore?;
46
54
  constructor(rec: ScopeRecord, globalProviders: ProviderRegistry);
47
55
  protected initialize(): Promise<void>;
48
56
  private formatScopeSummary;
@@ -58,6 +66,8 @@ export declare class Scope extends ScopeEntry {
58
66
  get prompts(): PromptRegistry;
59
67
  get agents(): AgentRegistry;
60
68
  get skills(): SkillRegistry;
69
+ get jobs(): JobRegistry | undefined;
70
+ get workflows(): WorkflowRegistry | undefined;
61
71
  /**
62
72
  * Get the skill session manager for tool authorization enforcement.
63
73
  * Returns undefined if skill sessions are not enabled.
@@ -1 +1 @@
1
- {"version":3,"file":"scope.instance.d.ts","sourceRoot":"","sources":["../../src/scope/scope.instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.instance.d.ts","sourceRoot":"","sources":["../../src/scope/scope.instance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { WorkflowEngine } from './workflow.engine';
2
+ export { WorkflowStepExecutor } from './workflow-step.executor';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { WorkflowStep, WorkflowStepResult } from '../../common/metadata/workflow.metadata';
2
+ import { FrontMcpLogger } from '../../common/interfaces/logger.interface';
3
+ import { JobRegistryInterface } from '../../job/job.registry';
4
+ /**
5
+ * Executes a single workflow step by resolving the job and running it.
6
+ */
7
+ export declare class WorkflowStepExecutor {
8
+ private readonly jobRegistry;
9
+ private readonly logger;
10
+ private readonly extra;
11
+ constructor(jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: {
12
+ authInfo: Partial<Record<string, unknown>>;
13
+ contextProviders?: unknown;
14
+ });
15
+ executeStep(step: WorkflowStep, input: Record<string, unknown>): Promise<WorkflowStepResult>;
16
+ private executeWithTimeout;
17
+ }
18
+ //# sourceMappingURL=workflow-step.executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-step.executor.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow-step.executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6E;gBAGjG,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAO7E,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwCpF,kBAAkB;CAwBjC"}
@@ -0,0 +1,34 @@
1
+ import { WorkflowMetadata } from '../../common/metadata/workflow.metadata';
2
+ import { WorkflowExecutionResult } from '../../common/interfaces/workflow.interface';
3
+ import { FrontMcpLogger } from '../../common/interfaces/logger.interface';
4
+ import { JobRegistryInterface } from '../../job/job.registry';
5
+ /**
6
+ * DAG-based workflow execution engine.
7
+ *
8
+ * Algorithm:
9
+ * 1. Validate DAG (topological sort, detect cycles)
10
+ * 2. Build step dependency graph
11
+ * 3. Loop:
12
+ * a. Find ready steps (all dependsOn completed/skipped)
13
+ * b. Evaluate conditions
14
+ * c. Compute inputs
15
+ * d. Execute ready steps in parallel (bounded by maxConcurrency)
16
+ * e. Record results
17
+ * 4. Return WorkflowExecutionResult
18
+ */
19
+ export declare class WorkflowEngine {
20
+ private readonly metadata;
21
+ private readonly stepExecutor;
22
+ private readonly logger;
23
+ private readonly maxConcurrency;
24
+ constructor(metadata: WorkflowMetadata, jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: {
25
+ authInfo: Partial<Record<string, unknown>>;
26
+ contextProviders?: unknown;
27
+ });
28
+ execute(workflowInput?: Record<string, unknown>): Promise<WorkflowExecutionResult>;
29
+ /**
30
+ * Validate the DAG: detect cycles and missing step references.
31
+ */
32
+ private validateDag;
33
+ }
34
+ //# sourceMappingURL=workflow.engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.engine.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAIjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ7E,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoJxF;;OAEG;IACH,OAAO,CAAC,WAAW;CA2CpB"}
@@ -0,0 +1,7 @@
1
+ export { default as WorkflowRegistry } from './workflow.registry';
2
+ export type { WorkflowRegistryInterface, IndexedWorkflow } from './workflow.registry';
3
+ export { WorkflowInstance } from './workflow.instance';
4
+ export * from './workflow.events';
5
+ export * from './workflow.utils';
6
+ export * from './engine';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class ExecuteWorkflowTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ input?: Record<string, unknown>;
6
+ background: boolean;
7
+ }): Promise<import("../../job/execution/job-execution.manager").InlineJobResult | import("../../job/execution/job-execution.manager").BackgroundJobResult>;
8
+ }
9
+ //# sourceMappingURL=execute-workflow.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/execute-workflow.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CA4B5F"}
@@ -0,0 +1,23 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class GetWorkflowStatusTool extends ToolContext {
3
+ execute(input: {
4
+ runId: string;
5
+ }): Promise<{
6
+ runId: string;
7
+ workflowName: string;
8
+ state: import("../../job/store/job-state.interface").JobExecutionState;
9
+ stepResults: Record<string, {
10
+ jobName: string;
11
+ state: import("../../job/store/job-state.interface").JobExecutionState;
12
+ outputs?: Record<string, unknown>;
13
+ error?: {
14
+ message: string;
15
+ };
16
+ startedAt: number;
17
+ completedAt?: number;
18
+ }>;
19
+ startedAt: number;
20
+ completedAt: number | undefined;
21
+ }>;
22
+ }
23
+ //# sourceMappingURL=get-workflow-status.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow-status.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/get-workflow-status.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAW;IACtD,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;CAuBvC"}
@@ -0,0 +1,6 @@
1
+ export { default as ListWorkflowsTool } from './list-workflows.tool';
2
+ export { default as ExecuteWorkflowTool } from './execute-workflow.tool';
3
+ export { default as GetWorkflowStatusTool } from './get-workflow-status.tool';
4
+ export { default as RegisterWorkflowTool } from './register-workflow.tool';
5
+ export { default as RemoveWorkflowTool } from './remove-workflow.tool';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class ListWorkflowsTool extends ToolContext {
3
+ execute(input: {
4
+ tags?: string[];
5
+ labels?: Record<string, string>;
6
+ query?: string;
7
+ }): Promise<{
8
+ workflows: {
9
+ name: string;
10
+ description: string | undefined;
11
+ trigger: string;
12
+ stepCount: number;
13
+ tags: string[];
14
+ }[];
15
+ count: number;
16
+ }>;
17
+ }
18
+ //# sourceMappingURL=list-workflows.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-workflows.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/list-workflows.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA0BjD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IAClD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;CAyB1F"}
@@ -0,0 +1,21 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class RegisterWorkflowTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ description?: string;
6
+ steps: Array<{
7
+ id: string;
8
+ jobName: string;
9
+ input?: Record<string, unknown>;
10
+ dependsOn?: string[];
11
+ continueOnError?: boolean;
12
+ timeout?: number;
13
+ }>;
14
+ trigger?: 'manual' | 'webhook' | 'event';
15
+ tags?: string[];
16
+ }): Promise<{
17
+ success: boolean;
18
+ workflowId: string;
19
+ }>;
20
+ }
21
+ //# sourceMappingURL=register-workflow.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/register-workflow.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA+BjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IACrD,OAAO,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;QACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB;;;;CAgCF"}
@@ -0,0 +1,10 @@
1
+ import { ToolContext } from '../../common';
2
+ export default class RemoveWorkflowTool extends ToolContext {
3
+ execute(input: {
4
+ name: string;
5
+ }): Promise<{
6
+ success: boolean;
7
+ message: string;
8
+ }>;
9
+ }
10
+ //# sourceMappingURL=remove-workflow.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/remove-workflow.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAejD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACnD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;CAuBtC"}
@@ -0,0 +1,18 @@
1
+ import { WorkflowEntry } from '../common/entries/workflow.entry';
2
+ export type WorkflowChangeKind = 'added' | 'updated' | 'removed' | 'reset';
3
+ export type WorkflowChangeScope = 'global' | 'session';
4
+ export type WorkflowChangeEvent = {
5
+ kind: WorkflowChangeKind;
6
+ changeScope: WorkflowChangeScope;
7
+ sessionId?: string;
8
+ version: number;
9
+ snapshot: readonly WorkflowEntry[];
10
+ };
11
+ type Listener = (e: WorkflowChangeEvent) => void;
12
+ export declare class WorkflowEmitter {
13
+ private listeners;
14
+ on(l: Listener): () => void;
15
+ emit(e: WorkflowChangeEvent): void;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=workflow.events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.events.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAEjD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAuB;IAExC,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,IAAI;IAK3B,IAAI,CAAC,CAAC,EAAE,mBAAmB;CAG5B"}
@@ -0,0 +1,20 @@
1
+ import { EntryOwnerRef } from '../common';
2
+ import { WorkflowEntry } from '../common/entries/workflow.entry';
3
+ import { WorkflowMetadata } from '../common/metadata/workflow.metadata';
4
+ import { WorkflowRecord } from '../common/records/workflow.record';
5
+ import ProviderRegistry from '../provider/provider.registry';
6
+ import { Scope } from '../scope';
7
+ import HookRegistry from '../hooks/hook.registry';
8
+ /**
9
+ * Concrete implementation of a workflow that can be executed.
10
+ */
11
+ export declare class WorkflowInstance extends WorkflowEntry {
12
+ private readonly _providers;
13
+ readonly scope: Scope;
14
+ readonly hooks: HookRegistry;
15
+ constructor(record: WorkflowRecord, providers: ProviderRegistry, owner: EntryOwnerRef);
16
+ protected initialize(): Promise<void>;
17
+ getMetadata(): WorkflowMetadata;
18
+ get providers(): ProviderRegistry;
19
+ }
20
+ //# sourceMappingURL=workflow.instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.instance.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAElD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;gBAEjB,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa;cAYrE,UAAU;IAK1B,WAAW,IAAI,gBAAgB;IAI/B,IAAI,SAAS,IAAI,gBAAgB,CAEhC;CACF"}
@@ -0,0 +1,66 @@
1
+ import { Token } from '@frontmcp/di';
2
+ import { EntryLineage, EntryOwnerRef } from '../common';
3
+ import { WorkflowEntry } from '../common/entries/workflow.entry';
4
+ import { WorkflowRecord, WorkflowDynamicRecord } from '../common/records/workflow.record';
5
+ import { WorkflowType } from '../common/interfaces/workflow.interface';
6
+ import { WorkflowChangeEvent } from './workflow.events';
7
+ import ProviderRegistry from '../provider/provider.registry';
8
+ import { RegistryAbstract, RegistryBuildMapResult } from '../regsitry';
9
+ import { WorkflowInstance } from './workflow.instance';
10
+ export interface IndexedWorkflow {
11
+ token: Token;
12
+ instance: WorkflowEntry;
13
+ baseName: string;
14
+ lineage: EntryLineage;
15
+ ownerKey: string;
16
+ qualifiedName: string;
17
+ qualifiedId: string;
18
+ source: WorkflowRegistry;
19
+ }
20
+ export interface WorkflowRegistryInterface {
21
+ readonly owner: EntryOwnerRef;
22
+ getWorkflows(includeHidden?: boolean): WorkflowEntry[];
23
+ findByName(name: string): WorkflowEntry | undefined;
24
+ findById(id: string): WorkflowEntry | undefined;
25
+ search(query?: string, opts?: {
26
+ tags?: string[];
27
+ labels?: Record<string, string>;
28
+ }): WorkflowEntry[];
29
+ registerDynamic(record: WorkflowDynamicRecord): void;
30
+ removeDynamic(workflowId: string): boolean;
31
+ subscribe(opts: {
32
+ immediate?: boolean;
33
+ }, cb: (evt: WorkflowChangeEvent) => void): () => void;
34
+ hasAny(): boolean;
35
+ }
36
+ export default class WorkflowRegistry extends RegistryAbstract<WorkflowInstance, WorkflowRecord, WorkflowType[]> implements WorkflowRegistryInterface {
37
+ readonly owner: EntryOwnerRef;
38
+ private localRows;
39
+ private dynamicRows;
40
+ private byName;
41
+ private byId;
42
+ private version;
43
+ private emitter;
44
+ private logger?;
45
+ constructor(providers: ProviderRegistry, list: WorkflowType[], owner: EntryOwnerRef);
46
+ protected buildMap(list: WorkflowType[]): RegistryBuildMapResult<WorkflowRecord>;
47
+ protected buildGraph(): void;
48
+ protected initialize(): Promise<void>;
49
+ getWorkflows(includeHidden?: boolean): WorkflowEntry[];
50
+ findByName(name: string): WorkflowEntry | undefined;
51
+ findById(id: string): WorkflowEntry | undefined;
52
+ search(query?: string, opts?: {
53
+ tags?: string[];
54
+ labels?: Record<string, string>;
55
+ }): WorkflowEntry[];
56
+ registerDynamic(record: WorkflowDynamicRecord): void;
57
+ removeDynamic(workflowId: string): boolean;
58
+ subscribe(opts: {
59
+ immediate?: boolean;
60
+ }, cb: (evt: WorkflowChangeEvent) => void): () => void;
61
+ hasAny(): boolean;
62
+ private reindex;
63
+ private bump;
64
+ private makeRow;
65
+ }
66
+ //# sourceMappingURL=workflow.registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.registry.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAmB,MAAM,mBAAmB,CAAC;AACzE,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC;IACvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,aAAa,EAAE,CAAC;IACrG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC7F,MAAM,IAAI,OAAO,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,OAAO,gBACnB,SAAQ,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,CACzE,YAAW,yBAAyB;IAEpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,IAAI,CAAsC;IAElD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa;cAYhE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,sBAAsB,CAAC,cAAc,CAAC;IAczF,SAAS,CAAC,UAAU;cAIK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpD,YAAY,CAAC,aAAa,UAAQ,GAAG,aAAa,EAAE;IAKpD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAInD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,aAAa,EAAE;IA6BpG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAkBpD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAc1C,SAAS,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI;IAY5F,MAAM,IAAI,OAAO;IAMjB,OAAO,CAAC,OAAO;IAsBf,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,OAAO;CAOhB"}
@@ -0,0 +1,6 @@
1
+ import { WorkflowMetadata } from '../common/metadata/workflow.metadata';
2
+ import { WorkflowRecord } from '../common/records/workflow.record';
3
+ import { WorkflowType } from '../common/interfaces/workflow.interface';
4
+ export declare function collectWorkflowMetadata(cls: WorkflowType): WorkflowMetadata;
5
+ export declare function normalizeWorkflow(item: unknown): WorkflowRecord;
6
+ //# sourceMappingURL=workflow.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.utils.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,gBAAgB,CAa3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CA0B/D"}