@frontmcp/sdk 0.11.2 → 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 (205) hide show
  1. package/README.md +1 -1
  2. package/adapter/adapter.registry.d.ts.map +1 -1
  3. package/agent/flows/call-agent.flow.d.ts.map +1 -1
  4. package/app/app.registry.d.ts +1 -0
  5. package/app/app.registry.d.ts.map +1 -1
  6. package/app/instances/app.local.instance.d.ts +1 -0
  7. package/app/instances/app.local.instance.d.ts.map +1 -1
  8. package/app/instances/app.remote.instance.d.ts.map +1 -1
  9. package/auth/flows/session.verify.flow.d.ts +2 -0
  10. package/auth/flows/session.verify.flow.d.ts.map +1 -1
  11. package/common/decorators/index.d.ts +2 -0
  12. package/common/decorators/index.d.ts.map +1 -1
  13. package/common/decorators/job.decorator.d.ts +20 -0
  14. package/common/decorators/job.decorator.d.ts.map +1 -0
  15. package/common/decorators/skill.decorator.d.ts +13 -1
  16. package/common/decorators/skill.decorator.d.ts.map +1 -1
  17. package/common/decorators/workflow.decorator.d.ts +12 -0
  18. package/common/decorators/workflow.decorator.d.ts.map +1 -0
  19. package/common/entries/index.d.ts +2 -0
  20. package/common/entries/index.d.ts.map +1 -1
  21. package/common/entries/job.entry.d.ts +40 -0
  22. package/common/entries/job.entry.d.ts.map +1 -0
  23. package/common/entries/skill.entry.d.ts +21 -1
  24. package/common/entries/skill.entry.d.ts.map +1 -1
  25. package/common/entries/workflow.entry.d.ts +15 -0
  26. package/common/entries/workflow.entry.d.ts.map +1 -0
  27. package/common/interfaces/index.d.ts +2 -0
  28. package/common/interfaces/index.d.ts.map +1 -1
  29. package/common/interfaces/internal/registry.interface.d.ts +6 -1
  30. package/common/interfaces/internal/registry.interface.d.ts.map +1 -1
  31. package/common/interfaces/job.interface.d.ts +40 -0
  32. package/common/interfaces/job.interface.d.ts.map +1 -0
  33. package/common/interfaces/skill.interface.d.ts +21 -1
  34. package/common/interfaces/skill.interface.d.ts.map +1 -1
  35. package/common/interfaces/workflow.interface.d.ts +27 -0
  36. package/common/interfaces/workflow.interface.d.ts.map +1 -0
  37. package/common/metadata/app.metadata.d.ts +13 -1
  38. package/common/metadata/app.metadata.d.ts.map +1 -1
  39. package/common/metadata/front-mcp.metadata.d.ts +385 -0
  40. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  41. package/common/metadata/index.d.ts +2 -0
  42. package/common/metadata/index.d.ts.map +1 -1
  43. package/common/metadata/job.metadata.d.ts +109 -0
  44. package/common/metadata/job.metadata.d.ts.map +1 -0
  45. package/common/metadata/skill.metadata.d.ts +56 -0
  46. package/common/metadata/skill.metadata.d.ts.map +1 -1
  47. package/common/metadata/workflow.metadata.d.ts +161 -0
  48. package/common/metadata/workflow.metadata.d.ts.map +1 -0
  49. package/common/records/index.d.ts +2 -0
  50. package/common/records/index.d.ts.map +1 -1
  51. package/common/records/job.record.d.ts +28 -0
  52. package/common/records/job.record.d.ts.map +1 -0
  53. package/common/records/workflow.record.d.ts +26 -0
  54. package/common/records/workflow.record.d.ts.map +1 -0
  55. package/common/schemas/annotated-class.schema.d.ts +2 -0
  56. package/common/schemas/annotated-class.schema.d.ts.map +1 -1
  57. package/common/tokens/app.tokens.d.ts.map +1 -1
  58. package/common/tokens/front-mcp.tokens.d.ts.map +1 -1
  59. package/common/tokens/index.d.ts +2 -0
  60. package/common/tokens/index.d.ts.map +1 -1
  61. package/common/tokens/job.tokens.d.ts +17 -0
  62. package/common/tokens/job.tokens.d.ts.map +1 -0
  63. package/common/tokens/skill.tokens.d.ts +5 -0
  64. package/common/tokens/skill.tokens.d.ts.map +1 -1
  65. package/common/tokens/workflow.tokens.d.ts +20 -0
  66. package/common/tokens/workflow.tokens.d.ts.map +1 -0
  67. package/direct/client.types.d.ts +127 -0
  68. package/direct/client.types.d.ts.map +1 -1
  69. package/direct/create.d.ts.map +1 -1
  70. package/direct/create.types.d.ts +13 -1
  71. package/direct/create.types.d.ts.map +1 -1
  72. package/direct/direct-server.d.ts +10 -0
  73. package/direct/direct-server.d.ts.map +1 -1
  74. package/direct/direct.types.d.ts +52 -0
  75. package/direct/direct.types.d.ts.map +1 -1
  76. package/direct/index.d.ts +1 -1
  77. package/direct/index.d.ts.map +1 -1
  78. package/errors/index.d.ts +2 -1
  79. package/errors/index.d.ts.map +1 -1
  80. package/errors/sdk.errors.d.ts +13 -0
  81. package/errors/sdk.errors.d.ts.map +1 -1
  82. package/errors/workflow.errors.d.ts +14 -0
  83. package/errors/workflow.errors.d.ts.map +1 -0
  84. package/esm/index.mjs +4454 -1278
  85. package/esm/package.json +10 -6
  86. package/flows/flow.instance.d.ts +1 -0
  87. package/flows/flow.instance.d.ts.map +1 -1
  88. package/front-mcp/front-mcp.d.ts +1 -0
  89. package/front-mcp/front-mcp.d.ts.map +1 -1
  90. package/front-mcp/front-mcp.providers.d.ts +124 -0
  91. package/front-mcp/front-mcp.providers.d.ts.map +1 -1
  92. package/index.d.ts +6 -0
  93. package/index.d.ts.map +1 -1
  94. package/index.js +4664 -1445
  95. package/job/enclave/index.d.ts +4 -0
  96. package/job/enclave/index.d.ts.map +1 -0
  97. package/job/enclave/job-dynamic.executor.d.ts +16 -0
  98. package/job/enclave/job-dynamic.executor.d.ts.map +1 -0
  99. package/job/enclave/job-enclave.bridge.d.ts +28 -0
  100. package/job/enclave/job-enclave.bridge.d.ts.map +1 -0
  101. package/job/execution/index.d.ts +2 -0
  102. package/job/execution/index.d.ts.map +1 -0
  103. package/job/execution/job-execution.manager.d.ts +62 -0
  104. package/job/execution/job-execution.manager.d.ts.map +1 -0
  105. package/job/index.d.ts +11 -0
  106. package/job/index.d.ts.map +1 -0
  107. package/job/job-permission.guard.d.ts +14 -0
  108. package/job/job-permission.guard.d.ts.map +1 -0
  109. package/job/job-scope.helper.d.ts +46 -0
  110. package/job/job-scope.helper.d.ts.map +1 -0
  111. package/job/job.events.d.ts +18 -0
  112. package/job/job.events.d.ts.map +1 -0
  113. package/job/job.instance.d.ts +38 -0
  114. package/job/job.instance.d.ts.map +1 -0
  115. package/job/job.registry.d.ts +66 -0
  116. package/job/job.registry.d.ts.map +1 -0
  117. package/job/job.utils.d.ts +11 -0
  118. package/job/job.utils.d.ts.map +1 -0
  119. package/job/store/index.d.ts +11 -0
  120. package/job/store/index.d.ts.map +1 -0
  121. package/job/store/job-definition-store.factory.d.ts +21 -0
  122. package/job/store/job-definition-store.factory.d.ts.map +1 -0
  123. package/job/store/job-definition.interface.d.ts +14 -0
  124. package/job/store/job-definition.interface.d.ts.map +1 -0
  125. package/job/store/job-state-store.factory.d.ts +23 -0
  126. package/job/store/job-state-store.factory.d.ts.map +1 -0
  127. package/job/store/job-state.interface.d.ts +48 -0
  128. package/job/store/job-state.interface.d.ts.map +1 -0
  129. package/job/store/memory-job-definition.store.d.ts +21 -0
  130. package/job/store/memory-job-definition.store.d.ts.map +1 -0
  131. package/job/store/memory-job-state.store.d.ts +20 -0
  132. package/job/store/memory-job-state.store.d.ts.map +1 -0
  133. package/job/store/redis-job-definition.store.d.ts +35 -0
  134. package/job/store/redis-job-definition.store.d.ts.map +1 -0
  135. package/job/store/redis-job-state.store.d.ts +37 -0
  136. package/job/store/redis-job-state.store.d.ts.map +1 -0
  137. package/job/tools/execute-job.tool.d.ts +9 -0
  138. package/job/tools/execute-job.tool.d.ts.map +1 -0
  139. package/job/tools/get-job-status.tool.d.ts +21 -0
  140. package/job/tools/get-job-status.tool.d.ts.map +1 -0
  141. package/job/tools/index.d.ts +6 -0
  142. package/job/tools/index.d.ts.map +1 -0
  143. package/job/tools/list-jobs.tool.d.ts +17 -0
  144. package/job/tools/list-jobs.tool.d.ts.map +1 -0
  145. package/job/tools/register-job.tool.d.ts +15 -0
  146. package/job/tools/register-job.tool.d.ts.map +1 -0
  147. package/job/tools/remove-job.tool.d.ts +10 -0
  148. package/job/tools/remove-job.tool.d.ts.map +1 -0
  149. package/package.json +10 -6
  150. package/plugin/plugin.registry.d.ts +7 -0
  151. package/plugin/plugin.registry.d.ts.map +1 -1
  152. package/scope/scope.instance.d.ts +11 -0
  153. package/scope/scope.instance.d.ts.map +1 -1
  154. package/scope/scope.registry.d.ts +1 -0
  155. package/scope/scope.registry.d.ts.map +1 -1
  156. package/skill/index.d.ts +16 -0
  157. package/skill/index.d.ts.map +1 -1
  158. package/skill/skill-directory-loader.d.ts +51 -0
  159. package/skill/skill-directory-loader.d.ts.map +1 -0
  160. package/skill/skill-http.utils.d.ts +6 -1
  161. package/skill/skill-http.utils.d.ts.map +1 -1
  162. package/skill/skill-md-parser.d.ts +60 -0
  163. package/skill/skill-md-parser.d.ts.map +1 -0
  164. package/skill/skill.instance.d.ts.map +1 -1
  165. package/skill/skill.utils.d.ts.map +1 -1
  166. package/tool/flows/call-tool.flow.d.ts.map +1 -1
  167. package/transport/flows/handle.stateless-http.flow.d.ts.map +1 -1
  168. package/transport/flows/handle.streamable-http.flow.d.ts.map +1 -1
  169. package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -1
  170. package/transport/mcp-handlers/complete-request.handler.d.ts.map +1 -1
  171. package/transport/mcp-handlers/get-prompt-request.handler.d.ts.map +1 -1
  172. package/transport/mcp-handlers/list-prompts-request.handler.d.ts.map +1 -1
  173. package/transport/mcp-handlers/list-resource-templates-request.handler.d.ts.map +1 -1
  174. package/transport/mcp-handlers/list-resources-request.handler.d.ts.map +1 -1
  175. package/transport/mcp-handlers/list-tools-request.handler.d.ts.map +1 -1
  176. package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -1
  177. package/transport/mcp-handlers/unsubscribe-request.handler.d.ts.map +1 -1
  178. package/workflow/engine/index.d.ts +3 -0
  179. package/workflow/engine/index.d.ts.map +1 -0
  180. package/workflow/engine/workflow-step.executor.d.ts +18 -0
  181. package/workflow/engine/workflow-step.executor.d.ts.map +1 -0
  182. package/workflow/engine/workflow.engine.d.ts +34 -0
  183. package/workflow/engine/workflow.engine.d.ts.map +1 -0
  184. package/workflow/index.d.ts +7 -0
  185. package/workflow/index.d.ts.map +1 -0
  186. package/workflow/tools/execute-workflow.tool.d.ts +9 -0
  187. package/workflow/tools/execute-workflow.tool.d.ts.map +1 -0
  188. package/workflow/tools/get-workflow-status.tool.d.ts +23 -0
  189. package/workflow/tools/get-workflow-status.tool.d.ts.map +1 -0
  190. package/workflow/tools/index.d.ts +6 -0
  191. package/workflow/tools/index.d.ts.map +1 -0
  192. package/workflow/tools/list-workflows.tool.d.ts +18 -0
  193. package/workflow/tools/list-workflows.tool.d.ts.map +1 -0
  194. package/workflow/tools/register-workflow.tool.d.ts +21 -0
  195. package/workflow/tools/register-workflow.tool.d.ts.map +1 -0
  196. package/workflow/tools/remove-workflow.tool.d.ts +10 -0
  197. package/workflow/tools/remove-workflow.tool.d.ts.map +1 -0
  198. package/workflow/workflow.events.d.ts +18 -0
  199. package/workflow/workflow.events.d.ts.map +1 -0
  200. package/workflow/workflow.instance.d.ts +20 -0
  201. package/workflow/workflow.instance.d.ts.map +1 -0
  202. package/workflow/workflow.registry.d.ts +66 -0
  203. package/workflow/workflow.registry.d.ts.map +1 -0
  204. package/workflow/workflow.utils.d.ts +6 -0
  205. package/workflow/workflow.utils.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"unsubscribe-request.handler.d.ts","sourceRoot":"","sources":["../../../src/transport/mcp-handlers/unsubscribe-request.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,kBAAkB,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB;;;;;;;;;;;;;uBAGjD,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;WAAQ,OAAO,CAAC,WAAW,CAAC;EAyB1E"}
1
+ {"version":3,"file":"unsubscribe-request.handler.d.ts","sourceRoot":"","sources":["../../../src/transport/mcp-handlers/unsubscribe-request.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,kBAAkB,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB;;;;;;;;;;;;;uBAGjD,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;WAAQ,OAAO,CAAC,WAAW,CAAC;EAuB1E"}
@@ -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":"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"}
@@ -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"}