@elizaos/plugin-workflow 2.0.0-beta.1

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 (294) hide show
  1. package/README.md +71 -0
  2. package/auto-enable.ts +18 -0
  3. package/dist/actions/index.d.ts +2 -0
  4. package/dist/actions/index.d.ts.map +1 -0
  5. package/dist/actions/index.js +2 -0
  6. package/dist/actions/index.js.map +1 -0
  7. package/dist/actions/workflow.d.ts +23 -0
  8. package/dist/actions/workflow.d.ts.map +1 -0
  9. package/dist/actions/workflow.js +425 -0
  10. package/dist/actions/workflow.js.map +1 -0
  11. package/dist/data/defaultNodes.json +9887 -0
  12. package/dist/data/schemaIndex.json +1 -0
  13. package/dist/data/triggerSchemaIndex.json +1 -0
  14. package/dist/db/index.d.ts +2 -0
  15. package/dist/db/index.d.ts.map +1 -0
  16. package/dist/db/index.js +2 -0
  17. package/dist/db/index.js.map +1 -0
  18. package/dist/db/schema.d.ts +588 -0
  19. package/dist/db/schema.d.ts.map +1 -0
  20. package/dist/db/schema.js +59 -0
  21. package/dist/db/schema.js.map +1 -0
  22. package/dist/index.d.ts +34 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +126 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/lib/automations-builder.d.ts +21 -0
  27. package/dist/lib/automations-builder.d.ts.map +1 -0
  28. package/dist/lib/automations-builder.js +557 -0
  29. package/dist/lib/automations-builder.js.map +1 -0
  30. package/dist/lib/automations-types.d.ts +153 -0
  31. package/dist/lib/automations-types.d.ts.map +1 -0
  32. package/dist/lib/automations-types.js +191 -0
  33. package/dist/lib/automations-types.js.map +1 -0
  34. package/dist/lib/index.d.ts +3 -0
  35. package/dist/lib/index.d.ts.map +1 -0
  36. package/dist/lib/index.js +3 -0
  37. package/dist/lib/index.js.map +1 -0
  38. package/dist/lib/legacy-task-migration.d.ts +20 -0
  39. package/dist/lib/legacy-task-migration.d.ts.map +1 -0
  40. package/dist/lib/legacy-task-migration.js +110 -0
  41. package/dist/lib/legacy-task-migration.js.map +1 -0
  42. package/dist/lib/legacy-text-trigger-migration.d.ts +18 -0
  43. package/dist/lib/legacy-text-trigger-migration.d.ts.map +1 -0
  44. package/dist/lib/legacy-text-trigger-migration.js +131 -0
  45. package/dist/lib/legacy-text-trigger-migration.js.map +1 -0
  46. package/dist/lib/workflow-clarification.d.ts +113 -0
  47. package/dist/lib/workflow-clarification.d.ts.map +1 -0
  48. package/dist/lib/workflow-clarification.js +425 -0
  49. package/dist/lib/workflow-clarification.js.map +1 -0
  50. package/dist/plugin-routes.d.ts +9 -0
  51. package/dist/plugin-routes.d.ts.map +1 -0
  52. package/dist/plugin-routes.js +147 -0
  53. package/dist/plugin-routes.js.map +1 -0
  54. package/dist/providers/activeWorkflows.d.ts +11 -0
  55. package/dist/providers/activeWorkflows.d.ts.map +1 -0
  56. package/dist/providers/activeWorkflows.js +72 -0
  57. package/dist/providers/activeWorkflows.js.map +1 -0
  58. package/dist/providers/index.d.ts +4 -0
  59. package/dist/providers/index.d.ts.map +1 -0
  60. package/dist/providers/index.js +4 -0
  61. package/dist/providers/index.js.map +1 -0
  62. package/dist/providers/pendingDraft.d.ts +9 -0
  63. package/dist/providers/pendingDraft.d.ts.map +1 -0
  64. package/dist/providers/pendingDraft.js +48 -0
  65. package/dist/providers/pendingDraft.js.map +1 -0
  66. package/dist/providers/workflowStatus.d.ts +3 -0
  67. package/dist/providers/workflowStatus.d.ts.map +1 -0
  68. package/dist/providers/workflowStatus.js +69 -0
  69. package/dist/providers/workflowStatus.js.map +1 -0
  70. package/dist/register-routes.d.ts +2 -0
  71. package/dist/register-routes.d.ts.map +1 -0
  72. package/dist/register-routes.js +6 -0
  73. package/dist/register-routes.js.map +1 -0
  74. package/dist/routes/_helpers.d.ts +11 -0
  75. package/dist/routes/_helpers.d.ts.map +1 -0
  76. package/dist/routes/_helpers.js +22 -0
  77. package/dist/routes/_helpers.js.map +1 -0
  78. package/dist/routes/automations.d.ts +19 -0
  79. package/dist/routes/automations.d.ts.map +1 -0
  80. package/dist/routes/automations.js +32 -0
  81. package/dist/routes/automations.js.map +1 -0
  82. package/dist/routes/embedded-webhooks.d.ts +3 -0
  83. package/dist/routes/embedded-webhooks.d.ts.map +1 -0
  84. package/dist/routes/embedded-webhooks.js +47 -0
  85. package/dist/routes/embedded-webhooks.js.map +1 -0
  86. package/dist/routes/executions.d.ts +3 -0
  87. package/dist/routes/executions.d.ts.map +1 -0
  88. package/dist/routes/executions.js +58 -0
  89. package/dist/routes/executions.js.map +1 -0
  90. package/dist/routes/index.d.ts +4 -0
  91. package/dist/routes/index.d.ts.map +1 -0
  92. package/dist/routes/index.js +14 -0
  93. package/dist/routes/index.js.map +1 -0
  94. package/dist/routes/nodes.d.ts +3 -0
  95. package/dist/routes/nodes.d.ts.map +1 -0
  96. package/dist/routes/nodes.js +168 -0
  97. package/dist/routes/nodes.js.map +1 -0
  98. package/dist/routes/validation.d.ts +3 -0
  99. package/dist/routes/validation.d.ts.map +1 -0
  100. package/dist/routes/validation.js +41 -0
  101. package/dist/routes/validation.js.map +1 -0
  102. package/dist/routes/workflow-routes.d.ts +27 -0
  103. package/dist/routes/workflow-routes.d.ts.map +1 -0
  104. package/dist/routes/workflow-routes.js +326 -0
  105. package/dist/routes/workflow-routes.js.map +1 -0
  106. package/dist/routes/workflows.d.ts +3 -0
  107. package/dist/routes/workflows.d.ts.map +1 -0
  108. package/dist/routes/workflows.js +252 -0
  109. package/dist/routes/workflows.js.map +1 -0
  110. package/dist/schemas/draftIntent.d.ts +22 -0
  111. package/dist/schemas/draftIntent.d.ts.map +1 -0
  112. package/dist/schemas/draftIntent.js +22 -0
  113. package/dist/schemas/draftIntent.js.map +1 -0
  114. package/dist/schemas/feasibility.d.ts +13 -0
  115. package/dist/schemas/feasibility.d.ts.map +1 -0
  116. package/dist/schemas/feasibility.js +9 -0
  117. package/dist/schemas/feasibility.js.map +1 -0
  118. package/dist/schemas/index.d.ts +5 -0
  119. package/dist/schemas/index.d.ts.map +1 -0
  120. package/dist/schemas/index.js +5 -0
  121. package/dist/schemas/index.js.map +1 -0
  122. package/dist/schemas/keywordExtraction.d.ts +14 -0
  123. package/dist/schemas/keywordExtraction.d.ts.map +1 -0
  124. package/dist/schemas/keywordExtraction.js +12 -0
  125. package/dist/schemas/keywordExtraction.js.map +1 -0
  126. package/dist/schemas/workflowMatching.d.ts +36 -0
  127. package/dist/schemas/workflowMatching.d.ts.map +1 -0
  128. package/dist/schemas/workflowMatching.js +30 -0
  129. package/dist/schemas/workflowMatching.js.map +1 -0
  130. package/dist/services/embedded-workflow-service.d.ts +106 -0
  131. package/dist/services/embedded-workflow-service.d.ts.map +1 -0
  132. package/dist/services/embedded-workflow-service.js +1900 -0
  133. package/dist/services/embedded-workflow-service.js.map +1 -0
  134. package/dist/services/index.d.ts +5 -0
  135. package/dist/services/index.d.ts.map +1 -0
  136. package/dist/services/index.js +5 -0
  137. package/dist/services/index.js.map +1 -0
  138. package/dist/services/workflow-credential-store.d.ts +27 -0
  139. package/dist/services/workflow-credential-store.d.ts.map +1 -0
  140. package/dist/services/workflow-credential-store.js +92 -0
  141. package/dist/services/workflow-credential-store.js.map +1 -0
  142. package/dist/services/workflow-dispatch.d.ts +41 -0
  143. package/dist/services/workflow-dispatch.d.ts.map +1 -0
  144. package/dist/services/workflow-dispatch.js +86 -0
  145. package/dist/services/workflow-dispatch.js.map +1 -0
  146. package/dist/services/workflow-service.d.ts +63 -0
  147. package/dist/services/workflow-service.d.ts.map +1 -0
  148. package/dist/services/workflow-service.js +492 -0
  149. package/dist/services/workflow-service.js.map +1 -0
  150. package/dist/trigger-routes.d.ts +153 -0
  151. package/dist/trigger-routes.d.ts.map +1 -0
  152. package/dist/trigger-routes.js +424 -0
  153. package/dist/trigger-routes.js.map +1 -0
  154. package/dist/types/index.d.ts +457 -0
  155. package/dist/types/index.d.ts.map +1 -0
  156. package/dist/types/index.js +59 -0
  157. package/dist/types/index.js.map +1 -0
  158. package/dist/utils/catalog.d.ts +16 -0
  159. package/dist/utils/catalog.d.ts.map +1 -0
  160. package/dist/utils/catalog.js +211 -0
  161. package/dist/utils/catalog.js.map +1 -0
  162. package/dist/utils/clarification.d.ts +17 -0
  163. package/dist/utils/clarification.d.ts.map +1 -0
  164. package/dist/utils/clarification.js +46 -0
  165. package/dist/utils/clarification.js.map +1 -0
  166. package/dist/utils/context.d.ts +4 -0
  167. package/dist/utils/context.d.ts.map +1 -0
  168. package/dist/utils/context.js +18 -0
  169. package/dist/utils/context.js.map +1 -0
  170. package/dist/utils/credentialResolver.d.ts +22 -0
  171. package/dist/utils/credentialResolver.d.ts.map +1 -0
  172. package/dist/utils/credentialResolver.js +146 -0
  173. package/dist/utils/credentialResolver.js.map +1 -0
  174. package/dist/utils/generation.d.ts +36 -0
  175. package/dist/utils/generation.d.ts.map +1 -0
  176. package/dist/utils/generation.js +701 -0
  177. package/dist/utils/generation.js.map +1 -0
  178. package/dist/utils/host-capabilities.d.ts +27 -0
  179. package/dist/utils/host-capabilities.d.ts.map +1 -0
  180. package/dist/utils/host-capabilities.js +59 -0
  181. package/dist/utils/host-capabilities.js.map +1 -0
  182. package/dist/utils/inferSyntheticOutputSchema.d.ts +20 -0
  183. package/dist/utils/inferSyntheticOutputSchema.d.ts.map +1 -0
  184. package/dist/utils/inferSyntheticOutputSchema.js +151 -0
  185. package/dist/utils/inferSyntheticOutputSchema.js.map +1 -0
  186. package/dist/utils/outputSchema.d.ts +26 -0
  187. package/dist/utils/outputSchema.d.ts.map +1 -0
  188. package/dist/utils/outputSchema.js +297 -0
  189. package/dist/utils/outputSchema.js.map +1 -0
  190. package/dist/utils/validateAndRepair.d.ts +41 -0
  191. package/dist/utils/validateAndRepair.d.ts.map +1 -0
  192. package/dist/utils/validateAndRepair.js +483 -0
  193. package/dist/utils/validateAndRepair.js.map +1 -0
  194. package/dist/utils/workflow-prompts/actionResponse.d.ts +2 -0
  195. package/dist/utils/workflow-prompts/actionResponse.d.ts.map +1 -0
  196. package/dist/utils/workflow-prompts/actionResponse.js +17 -0
  197. package/dist/utils/workflow-prompts/actionResponse.js.map +1 -0
  198. package/dist/utils/workflow-prompts/draftIntent.d.ts +2 -0
  199. package/dist/utils/workflow-prompts/draftIntent.d.ts.map +1 -0
  200. package/dist/utils/workflow-prompts/draftIntent.js +23 -0
  201. package/dist/utils/workflow-prompts/draftIntent.js.map +1 -0
  202. package/dist/utils/workflow-prompts/feasibilityCheck.d.ts +2 -0
  203. package/dist/utils/workflow-prompts/feasibilityCheck.d.ts.map +1 -0
  204. package/dist/utils/workflow-prompts/feasibilityCheck.js +21 -0
  205. package/dist/utils/workflow-prompts/feasibilityCheck.js.map +1 -0
  206. package/dist/utils/workflow-prompts/fieldCorrection.d.ts +3 -0
  207. package/dist/utils/workflow-prompts/fieldCorrection.d.ts.map +1 -0
  208. package/dist/utils/workflow-prompts/fieldCorrection.js +20 -0
  209. package/dist/utils/workflow-prompts/fieldCorrection.js.map +1 -0
  210. package/dist/utils/workflow-prompts/index.d.ts +8 -0
  211. package/dist/utils/workflow-prompts/index.d.ts.map +1 -0
  212. package/dist/utils/workflow-prompts/index.js +8 -0
  213. package/dist/utils/workflow-prompts/index.js.map +1 -0
  214. package/dist/utils/workflow-prompts/keywordExtraction.d.ts +2 -0
  215. package/dist/utils/workflow-prompts/keywordExtraction.d.ts.map +1 -0
  216. package/dist/utils/workflow-prompts/keywordExtraction.js +21 -0
  217. package/dist/utils/workflow-prompts/keywordExtraction.js.map +1 -0
  218. package/dist/utils/workflow-prompts/parameterCorrection.d.ts +3 -0
  219. package/dist/utils/workflow-prompts/parameterCorrection.d.ts.map +1 -0
  220. package/dist/utils/workflow-prompts/parameterCorrection.js +29 -0
  221. package/dist/utils/workflow-prompts/parameterCorrection.js.map +1 -0
  222. package/dist/utils/workflow-prompts/workflowGeneration.d.ts +2 -0
  223. package/dist/utils/workflow-prompts/workflowGeneration.d.ts.map +1 -0
  224. package/dist/utils/workflow-prompts/workflowGeneration.js +529 -0
  225. package/dist/utils/workflow-prompts/workflowGeneration.js.map +1 -0
  226. package/dist/utils/workflow-prompts/workflowMatching.d.ts +2 -0
  227. package/dist/utils/workflow-prompts/workflowMatching.d.ts.map +1 -0
  228. package/dist/utils/workflow-prompts/workflowMatching.js +23 -0
  229. package/dist/utils/workflow-prompts/workflowMatching.js.map +1 -0
  230. package/dist/utils/workflow.d.ts +62 -0
  231. package/dist/utils/workflow.d.ts.map +1 -0
  232. package/dist/utils/workflow.js +712 -0
  233. package/dist/utils/workflow.js.map +1 -0
  234. package/package.json +87 -0
  235. package/src/actions/index.ts +1 -0
  236. package/src/actions/workflow.ts +494 -0
  237. package/src/data/defaultNodes.json +9887 -0
  238. package/src/data/schemaIndex.json +1 -0
  239. package/src/data/triggerSchemaIndex.json +1 -0
  240. package/src/db/index.ts +8 -0
  241. package/src/db/schema.ts +94 -0
  242. package/src/index.ts +179 -0
  243. package/src/lib/automations-builder.ts +679 -0
  244. package/src/lib/automations-types.ts +391 -0
  245. package/src/lib/index.ts +8 -0
  246. package/src/lib/legacy-task-migration.ts +143 -0
  247. package/src/lib/legacy-text-trigger-migration.ts +178 -0
  248. package/src/lib/workflow-clarification.ts +497 -0
  249. package/src/plugin-routes.ts +164 -0
  250. package/src/providers/activeWorkflows.ts +81 -0
  251. package/src/providers/index.ts +3 -0
  252. package/src/providers/pendingDraft.ts +55 -0
  253. package/src/providers/workflowStatus.ts +88 -0
  254. package/src/register-routes.ts +6 -0
  255. package/src/routes/_helpers.ts +27 -0
  256. package/src/routes/automations.ts +46 -0
  257. package/src/routes/embedded-webhooks.ts +64 -0
  258. package/src/routes/executions.ts +75 -0
  259. package/src/routes/index.ts +16 -0
  260. package/src/routes/nodes.ts +211 -0
  261. package/src/routes/validation.ts +51 -0
  262. package/src/routes/workflow-routes.ts +469 -0
  263. package/src/routes/workflows.ts +310 -0
  264. package/src/schemas/draftIntent.ts +21 -0
  265. package/src/schemas/feasibility.ts +8 -0
  266. package/src/schemas/index.ts +4 -0
  267. package/src/schemas/keywordExtraction.ts +11 -0
  268. package/src/schemas/workflowMatching.ts +29 -0
  269. package/src/services/embedded-workflow-service.ts +2224 -0
  270. package/src/services/index.ts +17 -0
  271. package/src/services/workflow-credential-store.ts +132 -0
  272. package/src/services/workflow-dispatch.ts +121 -0
  273. package/src/services/workflow-service.ts +839 -0
  274. package/src/trigger-routes.ts +714 -0
  275. package/src/types/index.ts +562 -0
  276. package/src/utils/catalog.ts +260 -0
  277. package/src/utils/clarification.ts +52 -0
  278. package/src/utils/context.ts +22 -0
  279. package/src/utils/credentialResolver.ts +234 -0
  280. package/src/utils/generation.ts +987 -0
  281. package/src/utils/host-capabilities.ts +81 -0
  282. package/src/utils/inferSyntheticOutputSchema.ts +163 -0
  283. package/src/utils/outputSchema.ts +372 -0
  284. package/src/utils/validateAndRepair.ts +610 -0
  285. package/src/utils/workflow-prompts/actionResponse.ts +16 -0
  286. package/src/utils/workflow-prompts/draftIntent.ts +22 -0
  287. package/src/utils/workflow-prompts/feasibilityCheck.ts +20 -0
  288. package/src/utils/workflow-prompts/fieldCorrection.ts +20 -0
  289. package/src/utils/workflow-prompts/index.ts +10 -0
  290. package/src/utils/workflow-prompts/keywordExtraction.ts +20 -0
  291. package/src/utils/workflow-prompts/parameterCorrection.ts +29 -0
  292. package/src/utils/workflow-prompts/workflowGeneration.ts +528 -0
  293. package/src/utils/workflow-prompts/workflowMatching.ts +22 -0
  294. package/src/utils/workflow.ts +895 -0
@@ -0,0 +1,34 @@
1
+ import { type Plugin } from '@elizaos/core';
2
+ import './register-routes';
3
+ /**
4
+ * Workflow Plugin for ElizaOS
5
+ *
6
+ * Generate and manage workflows from natural language using a RAG pipeline.
7
+ * Supports workflow CRUD, execution management, and credential resolution.
8
+ *
9
+ * **Optional Configuration:**
10
+ * - `workflows.credentials`: Pre-configured credential IDs for local mode
11
+ *
12
+ * **Example Character Configuration:**
13
+ * ```json
14
+ * {
15
+ * "name": "AI Workflow Builder",
16
+ * "plugins": ["@elizaos/plugin-workflow"],
17
+ * "settings": {
18
+ * "workflows": {
19
+ * "credentials": {
20
+ * "gmailOAuth2": "cred_gmail_123",
21
+ * "stripeApi": "cred_stripe_456"
22
+ * }
23
+ * }
24
+ * }
25
+ * }
26
+ * ```
27
+ */
28
+ export declare const workflowPlugin: Plugin;
29
+ export default workflowPlugin;
30
+ export * from './plugin-routes.js';
31
+ export * from './register-routes.js';
32
+ export * from './services/workflow-dispatch.js';
33
+ export { handleTriggerRoutes, type TriggerRouteContext, type TriggerRouteHelpers, } from './trigger-routes.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAsBxE,OAAO,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,cAAc,EAAE,MAgD5B,CAAC;AAwEF,eAAe,cAAc,CAAC;AAE9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,126 @@
1
+ import { logger } from '@elizaos/core';
2
+ import { workflowAction } from './actions/index';
3
+ import * as dbSchema from './db/index';
4
+ import { migrateLegacyTextTriggers, migrateLegacyWorkbenchTasks } from './lib/index';
5
+ import { activeWorkflowsProvider, pendingDraftProvider, workflowStatusProvider, } from './providers/index';
6
+ import { workflowRoutes } from './routes/index';
7
+ import { EmbeddedWorkflowService, registerWorkflowDispatchService, WORKFLOW_SERVICE_TYPE, WorkflowCredentialStore, WorkflowService, } from './services/index';
8
+ // Side-effect: register the rawPath route plugin
9
+ // (`@elizaos/plugin-workflow:routes`) with the app-route-plugin-registry so
10
+ // the runtime mounts /api/workflow/* on the host HTTP server. Without this
11
+ // import the registry call in register-routes.ts never fires and every
12
+ // /api/workflow/* request returns 404.
13
+ import './register-routes';
14
+ /**
15
+ * Workflow Plugin for ElizaOS
16
+ *
17
+ * Generate and manage workflows from natural language using a RAG pipeline.
18
+ * Supports workflow CRUD, execution management, and credential resolution.
19
+ *
20
+ * **Optional Configuration:**
21
+ * - `workflows.credentials`: Pre-configured credential IDs for local mode
22
+ *
23
+ * **Example Character Configuration:**
24
+ * ```json
25
+ * {
26
+ * "name": "AI Workflow Builder",
27
+ * "plugins": ["@elizaos/plugin-workflow"],
28
+ * "settings": {
29
+ * "workflows": {
30
+ * "credentials": {
31
+ * "gmailOAuth2": "cred_gmail_123",
32
+ * "stripeApi": "cred_stripe_456"
33
+ * }
34
+ * }
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export const workflowPlugin = {
40
+ name: 'workflow',
41
+ description: 'Generate and deploy workflows from natural language. ' +
42
+ 'Runs supported workflow nodes in-process with credential resolution.',
43
+ services: [EmbeddedWorkflowService, WorkflowService, WorkflowCredentialStore],
44
+ schema: dbSchema,
45
+ actions: [workflowAction],
46
+ providers: [workflowStatusProvider, activeWorkflowsProvider, pendingDraftProvider],
47
+ routes: workflowRoutes,
48
+ init: async (_config, runtime) => {
49
+ // Check for pre-configured credentials (optional)
50
+ // Note: runtime.getSetting() only returns primitives — nested objects must be read directly
51
+ const workflowSettings = runtime.character?.settings?.workflows;
52
+ if (workflowSettings?.credentials) {
53
+ const credCount = Object.keys(workflowSettings.credentials).filter((k) => workflowSettings.credentials?.[k]).length;
54
+ logger.info({ src: 'plugin:workflow:plugin:init' }, `Pre-configured credentials: ${credCount} credential types`);
55
+ }
56
+ // Register WORKFLOW_DISPATCH so trigger-kind=workflow tasks can call
57
+ // runtime.getService("WORKFLOW_DISPATCH").execute(workflowId).
58
+ registerWorkflowDispatchService(runtime);
59
+ // Schedule one-shot legacy migrations off the init critical path. Service
60
+ // start-order is not guaranteed at init: WorkflowService may not be in
61
+ // the registry yet. Poll up to 10 times (1s spacing) and bail quietly
62
+ // if it never appears. Each migration is idempotent so a duplicate run
63
+ // on a future boot is harmless.
64
+ scheduleLegacyMigrations(runtime);
65
+ logger.info({ src: 'plugin:workflow:plugin:init' }, 'Workflow Plugin initialized successfully (in-process runtime)');
66
+ },
67
+ };
68
+ const MIGRATION_RETRY_LIMIT = 10;
69
+ const MIGRATION_RETRY_INTERVAL_MS = 1000;
70
+ function scheduleLegacyMigrations(runtime) {
71
+ let attempts = 0;
72
+ const tick = () => {
73
+ attempts += 1;
74
+ const ready = runtime.getService(WORKFLOW_SERVICE_TYPE);
75
+ if (!ready) {
76
+ if (attempts >= MIGRATION_RETRY_LIMIT) {
77
+ logger.warn({ src: 'plugin:workflow:plugin:migration' }, `WorkflowService still not registered after ${MIGRATION_RETRY_LIMIT} retries; legacy migrations will run on next boot`);
78
+ return;
79
+ }
80
+ setTimeout(tick, MIGRATION_RETRY_INTERVAL_MS);
81
+ return;
82
+ }
83
+ void runLegacyMigrations(runtime);
84
+ };
85
+ // Defer the first attempt off the init stack so the host runtime can
86
+ // finish wiring before we probe the service registry.
87
+ setImmediate(tick);
88
+ }
89
+ async function runLegacyMigrations(runtime) {
90
+ try {
91
+ const summary = await migrateLegacyWorkbenchTasks(runtime);
92
+ logger.info({
93
+ src: 'plugin:workflow:plugin:migration',
94
+ migrated: summary.migrated,
95
+ skipped: summary.skipped,
96
+ failed: summary.failed,
97
+ }, `Workbench-task migration: ${summary.migrated} migrated, ${summary.skipped} skipped, ${summary.failed} failed`);
98
+ }
99
+ catch (err) {
100
+ logger.warn({
101
+ src: 'plugin:workflow:plugin:migration',
102
+ err: err instanceof Error ? err.message : String(err),
103
+ }, 'Workbench-task migration threw; continuing');
104
+ }
105
+ try {
106
+ const summary = await migrateLegacyTextTriggers(runtime);
107
+ logger.info({
108
+ src: 'plugin:workflow:plugin:migration',
109
+ migrated: summary.migrated,
110
+ skipped: summary.skipped,
111
+ failed: summary.failed,
112
+ }, `Text-trigger migration: ${summary.migrated} migrated, ${summary.skipped} skipped, ${summary.failed} failed`);
113
+ }
114
+ catch (err) {
115
+ logger.warn({
116
+ src: 'plugin:workflow:plugin:migration',
117
+ err: err instanceof Error ? err.message : String(err),
118
+ }, 'Text-trigger migration threw; continuing');
119
+ }
120
+ }
121
+ export default workflowPlugin;
122
+ export * from './plugin-routes.js';
123
+ export * from './register-routes.js';
124
+ export * from './services/workflow-dispatch.js';
125
+ export { handleTriggerRoutes, } from './trigger-routes.js';
126
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Builder for the `/api/automations` response surface.
3
+ *
4
+ * Reads workflows in-process via WorkflowService, runtime tasks via the core
5
+ * runtime task API, and draft conversations via runtime room APIs. There is
6
+ * no dynamic import of plugin-workflow because this code IS the plugin.
7
+ *
8
+ * Trigger task lookup: the runtime stores trigger tasks under three tag
9
+ * combinations — `["queue","repeat","trigger"]` for user-defined triggers and
10
+ * `["queue","repeat","heartbeat"]` for plugin-owned heartbeats. We replicate
11
+ * `listTriggerTasks` from `packages/agent/src/triggers/runtime.ts` here
12
+ * because plugin-workflow cannot depend on @elizaos/agent.
13
+ */
14
+ import type { AgentRuntime } from '@elizaos/core';
15
+ import { type AutomationListResponse } from './automations-types';
16
+ export declare function buildAutomationListResponse(runtime: AgentRuntime): Promise<AutomationListResponse>;
17
+ /**
18
+ * Test-only: clear the last-execution cache between cases.
19
+ */
20
+ export declare function __resetAutomationsCacheForTests(): void;
21
+ //# sourceMappingURL=automations-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automations-builder.d.ts","sourceRoot":"","sources":["../../src/lib/automations-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAC;AASpE,OAAO,EAGL,KAAK,sBAAsB,EAU5B,MAAM,qBAAqB,CAAC;AAge7B,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,sBAAsB,CAAC,CAyJjC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}