@elizaos/plugin-workflow 2.0.0-beta.1 → 2.0.3-beta.6

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 (170) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -26
  3. package/dist/actions/eval-code.d.ts +12 -0
  4. package/dist/actions/eval-code.d.ts.map +1 -0
  5. package/dist/actions/eval-code.js +59 -0
  6. package/dist/actions/eval-code.js.map +1 -0
  7. package/dist/actions/index.d.ts +1 -0
  8. package/dist/actions/index.d.ts.map +1 -1
  9. package/dist/actions/index.js +1 -0
  10. package/dist/actions/index.js.map +1 -1
  11. package/dist/actions/workflow.d.ts +7 -0
  12. package/dist/actions/workflow.d.ts.map +1 -1
  13. package/dist/actions/workflow.js +462 -10
  14. package/dist/actions/workflow.js.map +1 -1
  15. package/dist/db/schema.d.ts +196 -0
  16. package/dist/db/schema.d.ts.map +1 -1
  17. package/dist/db/schema.js +23 -0
  18. package/dist/db/schema.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +9 -64
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/automations-builder.d.ts.map +1 -1
  23. package/dist/lib/automations-builder.js +10 -35
  24. package/dist/lib/automations-builder.js.map +1 -1
  25. package/dist/lib/automations-types.d.ts +2 -2
  26. package/dist/lib/automations-types.d.ts.map +1 -1
  27. package/dist/lib/automations-types.js.map +1 -1
  28. package/dist/lib/index.d.ts +0 -2
  29. package/dist/lib/index.d.ts.map +1 -1
  30. package/dist/lib/index.js +1 -2
  31. package/dist/lib/index.js.map +1 -1
  32. package/dist/lib/workflow-clarification.d.ts +2 -2
  33. package/dist/lib/workflow-clarification.d.ts.map +1 -1
  34. package/dist/lib/workflow-clarification.js +15 -11
  35. package/dist/lib/workflow-clarification.js.map +1 -1
  36. package/dist/plugin-routes.d.ts.map +1 -1
  37. package/dist/plugin-routes.js +6 -0
  38. package/dist/plugin-routes.js.map +1 -1
  39. package/dist/providers/activeWorkflows.js +2 -2
  40. package/dist/providers/activeWorkflows.js.map +1 -1
  41. package/dist/providers/workflowStatus.js +1 -1
  42. package/dist/providers/workflowStatus.js.map +1 -1
  43. package/dist/routes/workflow-routes.d.ts.map +1 -1
  44. package/dist/routes/workflow-routes.js +68 -2
  45. package/dist/routes/workflow-routes.js.map +1 -1
  46. package/dist/routes/workflows.d.ts.map +1 -1
  47. package/dist/routes/workflows.js +5 -1
  48. package/dist/routes/workflows.js.map +1 -1
  49. package/dist/services/embedded-workflow-service.d.ts +74 -17
  50. package/dist/services/embedded-workflow-service.d.ts.map +1 -1
  51. package/dist/services/embedded-workflow-service.js +343 -149
  52. package/dist/services/embedded-workflow-service.js.map +1 -1
  53. package/dist/services/smithers-runtime.d.ts +47 -0
  54. package/dist/services/smithers-runtime.d.ts.map +1 -0
  55. package/dist/services/smithers-runtime.js +444 -0
  56. package/dist/services/smithers-runtime.js.map +1 -0
  57. package/dist/services/workflow-credential-store.js +1 -1
  58. package/dist/services/workflow-credential-store.js.map +1 -1
  59. package/dist/services/workflow-dispatch.d.ts +31 -1
  60. package/dist/services/workflow-dispatch.d.ts.map +1 -1
  61. package/dist/services/workflow-dispatch.js +75 -10
  62. package/dist/services/workflow-dispatch.js.map +1 -1
  63. package/dist/services/workflow-service.d.ts +27 -1
  64. package/dist/services/workflow-service.d.ts.map +1 -1
  65. package/dist/services/workflow-service.js +133 -11
  66. package/dist/services/workflow-service.js.map +1 -1
  67. package/dist/trigger-routes.d.ts +2 -18
  68. package/dist/trigger-routes.d.ts.map +1 -1
  69. package/dist/trigger-routes.js +11 -39
  70. package/dist/trigger-routes.js.map +1 -1
  71. package/dist/types/index.d.ts +82 -2
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/index.js.map +1 -1
  74. package/dist/types/workflow-contracts.d.ts +118 -0
  75. package/dist/types/workflow-contracts.d.ts.map +1 -0
  76. package/dist/types/workflow-contracts.js +2 -0
  77. package/dist/types/workflow-contracts.js.map +1 -0
  78. package/dist/utils/catalog.js +2 -2
  79. package/dist/utils/catalog.js.map +1 -1
  80. package/dist/utils/clarification.d.ts +1 -1
  81. package/dist/utils/clarification.d.ts.map +1 -1
  82. package/dist/utils/clarification.js +15 -4
  83. package/dist/utils/clarification.js.map +1 -1
  84. package/dist/utils/context.js +1 -1
  85. package/dist/utils/context.js.map +1 -1
  86. package/dist/utils/evaluation-samples.d.ts +6 -0
  87. package/dist/utils/evaluation-samples.d.ts.map +1 -0
  88. package/dist/utils/evaluation-samples.js +216 -0
  89. package/dist/utils/evaluation-samples.js.map +1 -0
  90. package/dist/utils/execution-diagnostics.d.ts +26 -0
  91. package/dist/utils/execution-diagnostics.d.ts.map +1 -0
  92. package/dist/utils/execution-diagnostics.js +159 -0
  93. package/dist/utils/execution-diagnostics.js.map +1 -0
  94. package/dist/utils/generation.d.ts.map +1 -1
  95. package/dist/utils/generation.js +134 -19
  96. package/dist/utils/generation.js.map +1 -1
  97. package/dist/utils/host-capabilities.d.ts.map +1 -1
  98. package/dist/utils/host-capabilities.js +20 -5
  99. package/dist/utils/host-capabilities.js.map +1 -1
  100. package/dist/utils/inferSyntheticOutputSchema.js +3 -3
  101. package/dist/utils/inferSyntheticOutputSchema.js.map +1 -1
  102. package/dist/utils/outputSchema.js +1 -1
  103. package/dist/utils/outputSchema.js.map +1 -1
  104. package/dist/utils/validateAndRepair.js +10 -10
  105. package/dist/utils/validateAndRepair.js.map +1 -1
  106. package/dist/utils/workflow-prompts/draftIntent.d.ts +1 -1
  107. package/dist/utils/workflow-prompts/draftIntent.d.ts.map +1 -1
  108. package/dist/utils/workflow-prompts/draftIntent.js +1 -1
  109. package/dist/utils/workflow-prompts/keywordExtraction.d.ts +1 -1
  110. package/dist/utils/workflow-prompts/keywordExtraction.d.ts.map +1 -1
  111. package/dist/utils/workflow-prompts/keywordExtraction.js +1 -1
  112. package/dist/utils/workflow-prompts/workflowGeneration.d.ts +1 -1
  113. package/dist/utils/workflow-prompts/workflowGeneration.d.ts.map +1 -1
  114. package/dist/utils/workflow-prompts/workflowGeneration.js +4 -4
  115. package/dist/utils/workflow-prompts/workflowMatching.d.ts +1 -1
  116. package/dist/utils/workflow-prompts/workflowMatching.d.ts.map +1 -1
  117. package/dist/utils/workflow-prompts/workflowMatching.js +1 -1
  118. package/dist/utils/workflow.d.ts +1 -0
  119. package/dist/utils/workflow.d.ts.map +1 -1
  120. package/dist/utils/workflow.js +44 -8
  121. package/dist/utils/workflow.js.map +1 -1
  122. package/package.json +27 -8
  123. package/registry-entry.json +25 -0
  124. package/src/actions/eval-code.ts +81 -0
  125. package/src/actions/index.ts +1 -0
  126. package/src/actions/workflow.ts +518 -10
  127. package/src/db/schema.ts +31 -0
  128. package/src/index.ts +9 -82
  129. package/src/lib/automations-builder.ts +11 -35
  130. package/src/lib/automations-types.ts +1 -2
  131. package/src/lib/index.ts +0 -8
  132. package/src/lib/workflow-clarification.ts +18 -13
  133. package/src/plugin-routes.ts +6 -0
  134. package/src/providers/activeWorkflows.ts +2 -2
  135. package/src/providers/workflowStatus.ts +1 -1
  136. package/src/routes/workflow-routes.ts +100 -2
  137. package/src/routes/workflows.ts +5 -1
  138. package/src/services/embedded-workflow-service.ts +447 -172
  139. package/src/services/smithers-runtime.ts +526 -0
  140. package/src/services/workflow-credential-store.ts +1 -1
  141. package/src/services/workflow-dispatch.ts +116 -13
  142. package/src/services/workflow-service.ts +186 -10
  143. package/src/trigger-routes.ts +12 -70
  144. package/src/types/index.ts +94 -2
  145. package/src/types/workflow-contracts.ts +166 -0
  146. package/src/utils/catalog.ts +2 -2
  147. package/src/utils/clarification.ts +19 -5
  148. package/src/utils/context.ts +1 -1
  149. package/src/utils/evaluation-samples.ts +239 -0
  150. package/src/utils/execution-diagnostics.ts +192 -0
  151. package/src/utils/generation.ts +224 -32
  152. package/src/utils/host-capabilities.ts +21 -5
  153. package/src/utils/inferSyntheticOutputSchema.ts +3 -3
  154. package/src/utils/outputSchema.ts +1 -1
  155. package/src/utils/validateAndRepair.ts +10 -10
  156. package/src/utils/workflow-prompts/draftIntent.ts +1 -1
  157. package/src/utils/workflow-prompts/keywordExtraction.ts +1 -1
  158. package/src/utils/workflow-prompts/workflowGeneration.ts +4 -4
  159. package/src/utils/workflow-prompts/workflowMatching.ts +1 -1
  160. package/src/utils/workflow.ts +56 -8
  161. package/dist/lib/legacy-task-migration.d.ts +0 -20
  162. package/dist/lib/legacy-task-migration.d.ts.map +0 -1
  163. package/dist/lib/legacy-task-migration.js +0 -110
  164. package/dist/lib/legacy-task-migration.js.map +0 -1
  165. package/dist/lib/legacy-text-trigger-migration.d.ts +0 -18
  166. package/dist/lib/legacy-text-trigger-migration.d.ts.map +0 -1
  167. package/dist/lib/legacy-text-trigger-migration.js +0 -131
  168. package/dist/lib/legacy-text-trigger-migration.js.map +0 -1
  169. package/src/lib/legacy-task-migration.ts +0 -143
  170. package/src/lib/legacy-text-trigger-migration.ts +0 -178
@@ -1 +1 @@
1
- {"version":3,"file":"validateAndRepair.js","sourceRoot":"","sources":["../../src/utils/validateAndRepair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAndRepair.js","sourceRoot":"","sources":["../../src/utils/validateAndRepair.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const DRAFT_INTENT_SYSTEM_PROMPT = "You are an assistant managing workflow creation. A workflow draft has been generated and shown to the user as a preview.\n\nYour job: determine what the user wants to do based on their message. The user may write in ANY language \u2014 interpret the meaning, not specific keywords.\n\nPossible intents:\n- \"confirm\": The user approves the draft and wants it deployed. This includes any form of agreement, approval, or instruction to proceed/create/deploy the current draft.\n- \"cancel\": The user doesn't want this workflow at all and wants to discard it entirely.\n- \"modify\": The user wants to change something about the current draft, or is providing additional context/answers to refine it.\n- \"new\": The user explicitly describes a DIFFERENT workflow with DIFFERENT services or purpose than the current draft. This requires a concrete description of a new automation.\n\nRules:\n- CRITICAL: A short or vague message that does NOT describe a specific new automation is NEVER \"new\". Short messages like \"create it\", \"do it\", \"go ahead\", or any brief instruction to proceed are ALWAYS \"confirm\". Only classify as \"new\" if the message contains an explicit description of a different workflow involving different integrations or a different purpose.\n- If the user's message could refer to the existing draft (even loosely), it is NOT \"new\".\n- If ambiguous between \"confirm\" and \"new\", ALWAYS prefer \"confirm\".\n- If ambiguous between \"modify\" and \"new\", prefer \"modify\".\n- If the user provides additional context or answers clarification questions about the same topic, treat as \"modify\".\n- For \"modify\", extract the modification request as a clear instruction.\n\nRespond with structured JSON-style fields:\nintent: confirm | cancel | modify | new\nmodificationRequest: only for modify; concise instruction\nreason: brief classification explanation";
1
+ export declare const DRAFT_INTENT_SYSTEM_PROMPT = "Determine what the user wants to do with this workflow draft. A draft has been generated and shown to the user as a preview.\n\nYour job: determine what the user wants to do based on their message. The user may write in ANY language \u2014 interpret the meaning, not specific keywords.\n\nPossible intents:\n- \"confirm\": The user approves the draft and wants it deployed. This includes any form of agreement, approval, or instruction to proceed/create/deploy the current draft.\n- \"cancel\": The user doesn't want this workflow at all and wants to discard it entirely.\n- \"modify\": The user wants to change something about the current draft, or is providing additional context/answers to refine it.\n- \"new\": The user explicitly describes a DIFFERENT workflow with DIFFERENT services or purpose than the current draft. This requires a concrete description of a new automation.\n\nRules:\n- CRITICAL: A short or vague message that does NOT describe a specific new automation is NEVER \"new\". Short messages like \"create it\", \"do it\", \"go ahead\", or any brief instruction to proceed are ALWAYS \"confirm\". Only classify as \"new\" if the message contains an explicit description of a different workflow involving different integrations or a different purpose.\n- If the user's message could refer to the existing draft (even loosely), it is NOT \"new\".\n- If ambiguous between \"confirm\" and \"new\", ALWAYS prefer \"confirm\".\n- If ambiguous between \"modify\" and \"new\", prefer \"modify\".\n- If the user provides additional context or answers clarification questions about the same topic, treat as \"modify\".\n- For \"modify\", extract the modification request as a clear instruction.\n\nRespond with structured JSON-style fields:\nintent: confirm | cancel | modify | new\nmodificationRequest: only for modify; concise instruction\nreason: brief classification explanation";
2
2
  //# sourceMappingURL=draftIntent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draftIntent.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/draftIntent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,u2DAqBE,CAAC"}
1
+ {"version":3,"file":"draftIntent.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/draftIntent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,22DAqBE,CAAC"}
@@ -1,4 +1,4 @@
1
- export const DRAFT_INTENT_SYSTEM_PROMPT = `You are an assistant managing workflow creation. A workflow draft has been generated and shown to the user as a preview.
1
+ export const DRAFT_INTENT_SYSTEM_PROMPT = `Determine what the user wants to do with this workflow draft. A draft has been generated and shown to the user as a preview.
2
2
 
3
3
  Your job: determine what the user wants to do based on their message. The user may write in ANY language — interpret the meaning, not specific keywords.
4
4
 
@@ -1,2 +1,2 @@
1
- export declare const KEYWORD_EXTRACTION_SYSTEM_PROMPT = "You are an expert at extracting relevant search terms for finding workflows nodes.\n\nGiven a user prompt describing an workflow, extract up to 5 concise keywords or phrases that best represent the core actions, services, or data transformations involved.\n\nFocus on terms likely to match workflows node names or functionalities. Avoid generic words.\n\nExamples:\n- request: Send me Stripe payment summaries via Gmail every Monday\n keywords: stripe, gmail, send, email, schedule\n- request: Post RSS feed updates to Slack channel\n keywords: rss, slack, post, feed, webhook\n- request: Summarize weekly GitHub issues and send to Notion\n keywords: github, issues, notion, summarize\n- request: Fetch weather data hourly and store in Google Sheets\n keywords: weather, http, schedule, google sheets, store\n- request: When new Stripe payment, create invoice in QuickBooks\n keywords: stripe, webhook, quickbooks, invoice, payment\n\nRespond with structured JSON-style fields:\nkeywords: 1-5 relevant search terms";
1
+ export declare const KEYWORD_EXTRACTION_SYSTEM_PROMPT = "Extract relevant search terms for finding workflow nodes.\n\nGiven a user prompt describing an workflow, extract up to 5 concise keywords or phrases that best represent the core actions, services, or data transformations involved.\n\nFocus on terms likely to match workflows node names or functionalities. Avoid generic words.\n\nExamples:\n- request: Send me Stripe payment summaries via Gmail every Monday\n keywords: stripe, gmail, send, email, schedule\n- request: Post RSS feed updates to Slack channel\n keywords: rss, slack, post, feed, webhook\n- request: Summarize weekly GitHub issues and send to Notion\n keywords: github, issues, notion, summarize\n- request: Fetch weather data hourly and store in Google Sheets\n keywords: weather, http, schedule, google sheets, store\n- request: When new Stripe payment, create invoice in QuickBooks\n keywords: stripe, webhook, quickbooks, invoice, payment\n\nRespond with structured JSON-style fields:\nkeywords: 1-5 relevant search terms";
2
2
  //# sourceMappingURL=keywordExtraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keywordExtraction.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/keywordExtraction.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC,ggCAmBT,CAAC"}
1
+ {"version":3,"file":"keywordExtraction.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/keywordExtraction.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC,u+BAmBT,CAAC"}
@@ -1,4 +1,4 @@
1
- export const KEYWORD_EXTRACTION_SYSTEM_PROMPT = `You are an expert at extracting relevant search terms for finding workflows nodes.
1
+ export const KEYWORD_EXTRACTION_SYSTEM_PROMPT = `Extract relevant search terms for finding workflow nodes.
2
2
 
3
3
  Given a user prompt describing an workflow, extract up to 5 concise keywords or phrases that best represent the core actions, services, or data transformations involved.
4
4
 
@@ -1,2 +1,2 @@
1
- export declare const WORKFLOW_GENERATION_SYSTEM_PROMPT = "## Workflow AI Definition: Core Concepts\n\n### 1. **Workflow**\n\nA workflow is a collection of nodes and the connections between them.\n\n```json\n{\n \"id\": \"uuid\",\n \"name\": \"string\",\n \"active\": true,\n \"nodes\": [/* array of Node objects */],\n \"connections\": {/* see below */},\n \"settings\": {/* workflow-specific settings, optional */},\n \"staticData\": {/* optional */},\n \"pinData\": {/* optional */}\n}\n```\n\n---\n\n### 2. **Node**\n\nA node is a single step in a workflow. Each node has:\n\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| id | string | Unique node identifier |\n| name | string | Node name (unique in workflow) |\n| type | string | Node type (e.g. `httpRequest`) |\n| typeVersion | number | Node type version |\n| position | [number, number] | Canvas position |\n| parameters | object | Node parameters (see below) |\n| credentials | object | Credential references (optional) |\n| disabled | boolean | If node is disabled (optional) |\n\n---\n\n### 3. **Connections**\n\nConnections define how nodes are linked.\n\n```json\n{\n \"NodeA\": {\n \"main\": [\n [ { \"node\": \"NodeB\", \"type\": \"main\", \"index\": 0 } ]\n ]\n }\n}\n```\n- Key: source node name\n- Each connection has a `type` (commonly `\"main\"`)\n- Each connection points to a destination node, with an index\n\n---\n\n### 4. **Node Parameters**\n\nEach node has parameters, which are defined in its node type description. Parameters can be:\n\n- Simple values (string, number, boolean)\n- Complex objects (collections, fixedCollections, etc.)\n- Resource locators (for referencing external resources)\n- Options (select from a list)\n\n**Parameter properties:**\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| displayName | string | Label shown in UI |\n| name | string | Internal parameter name |\n| type | string | Parameter type (`string`, `number`, `options`, etc.) |\n| default | any | Default value |\n| description | string | Help text (optional) |\n| required | boolean | Is required? (optional) |\n| options | array | For `options` type: choices |\n| displayOptions| object | Show/hide logic (optional) |\n\n---\n\n### 5. **Node Type Description**\n\nEach node type (e.g. HTTP Request, Slack, Google Sheets) defines:\n\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| name | string | Node type name |\n| displayName | string | Human-readable name |\n| group | array | Node group(s): e.g. input, output, trigger |\n| description | string | Node description |\n| version | number | Node version |\n| inputs | array | Allowed input connection types |\n| outputs | array | Allowed output connection types |\n| properties | array | Parameter definitions |\n| credentials | array | Credential requirements |\n| documentationUrl | string | Docs link (optional) |\n\n---\n\n### 6. **Credentials \u2014 MANDATORY INVARIANT**\n\nEVERY node whose definition has a non-empty `credentials` array MUST include a matching `credentials` block in the emitted node JSON. **This is a hard rule.** A workflow that omits the credentials block for a credentialed node is an invalid output.\n\n**IMPORTANT:** Always use native workflows nodes (e.g. `workflows-nodes-base.gmail`, `workflows-nodes-base.slack`) rather than generic HTTP Request nodes.\n\n**Exact shape \u2014 copy verbatim, do not omit, do not improvise:**\n\n```json\n{\n \"name\": \"Send Gmail\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"credentials\": {\n \"<credentialTypeName>\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"<Friendly Name>\"\n }\n }\n}\n```\n\nThe host injects the real `id` after generation; you write the literal string `\"{{CREDENTIAL_ID}}\"`.\n\nPick `<credentialTypeName>` from the node definition's `credentials[].name` field. Common names: `gmailOAuth2`, `slackOAuth2Api`, `discordApi`, `discordBotApi`, `telegramApi`, `googleSheetsOAuth2Api`, `googleCalendarOAuth2Api`. **Never invent type names** \u2014 always use the value from the node definition. When the host publishes a `## Available Credentials` section below, prefer those names.\n\nPick `<Friendly Name>` to match what the user would see in workflows's UI: \"Gmail Account\", \"Slack Workspace\", \"Discord Bot\", \"Telegram Bot\", etc.\n\n**Self-check before emitting:** for every node whose `credentials` array is non-empty in its definition, verify the emitted node has the `credentials` block. Missing this on a Gmail / Slack / Discord / Telegram node makes the workflow non-runnable.\n\n---\n\n### 6a. **`typeVersion` selection \u2014 MANDATORY INVARIANT**\n\nEach node definition includes `version: number[]` listing the EXACT versions workflows knows about (e.g. `[1, 2, 2.1]` for Gmail). You MUST pick `typeVersion` from this array \u2014 pick the highest available value.\n\n**Hard rule:** never invent versions not in the array. If the array is `[1, 2, 2.1]`, do NOT emit `2.2`, `2.3`, or `3`. workflows's runtime cannot find a node implementation for a version you invent and the workflow crashes at activation with `Cannot read properties of undefined (reading 'execute')`.\n\nIf a node definition lists `version: [2]` only, emit `typeVersion: 2`. If it lists `version: [1, 2, 2.1]`, emit `typeVersion: 2.1` (the highest).\n\n---\n\n### 6b. **`parameters.authentication` \u2194 credentials coupling \u2014 MANDATORY INVARIANT**\n\nSome nodes (Gmail, Discord, etc.) gate which credential type applies based on `parameters.authentication`. Each such node's definition includes a `credentialAuthMatrix` mapping credType to the required authentication value, e.g.:\n\n```json\n\"credentialAuthMatrix\": {\n \"gmailOAuth2\": \"oAuth2\",\n \"googleApi\": \"serviceAccount\"\n}\n```\n\n**Hard rule:** when you attach a `credentials` block of type X, set `parameters.authentication` to the matching value from `credentialAuthMatrix`. Mismatched (or missing) `authentication` values mean workflows cannot bind the credential at activation time and the workflow crashes the same way as a missing typeVersion.\n\nExample \u2014 attaching `gmailOAuth2` credentials to a Gmail node:\n\n```json\n{\n \"name\": \"Get Gmail Messages\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"typeVersion\": 2.1,\n \"parameters\": {\n \"authentication\": \"oAuth2\",\n \"resource\": \"message\",\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"gmailOAuth2\": { \"id\": \"{{CREDENTIAL_ID}}\", \"name\": \"Gmail Account\" }\n }\n}\n```\n\nIf a node has no `credentialAuthMatrix` field, no `authentication` parameter is required.\n\n---\n\n### 6c. **Resource and operation selection \u2014 match the user's verb to the operation, not just the node**\n\nEach service node groups its capabilities under `(resource, operation)` pairs. The user's verb is the strongest signal for the operation:\n\n| Verb in the user's prompt | Operation |\n|:--|:--|\n| \"send\", \"post\", \"deliver\" | `send` or `post` (NOT `create`) |\n| \"create\", \"make\", \"set up\", \"add\" (when the object is a *container* like a channel, server, list) | `create` |\n| \"list\", \"get all\", \"fetch all\" | `getAll` |\n| \"get\", \"fetch\" (singular), \"look up\" | `get` |\n| \"delete\", \"remove\" | `delete` |\n| \"update\", \"edit\", \"change\" | `update` |\n\nThe **resource** is the *object* of the verb. \"Send a meow message\" \u2192 `resource: \"message\"`, `operation: \"send\"`. NOT `resource: \"channel\"`. Picking the wrong resource means picking from a wrong operation set entirely; verify resource first, then operation.\n\nWhen the node definition lists multiple resources, pick the one whose name is the noun the user mentioned. Use `channel` only when the user wants to create / edit / delete the channel itself, not when they want to send a message *to* a channel. Use `server` / `guild` only when the user is acting on the workspace itself.\n\n**Self-check before emitting:** read your chosen `(resource, operation)` pair back as English: does it describe what the user asked for? \"Discord channel:create\" reads as *\"create a Discord channel\"* \u2014 only correct if the user actually wants a new channel. For *\"send a message to Discord\"*, the correct read-back is \"Discord message:send\".\n\n---\n\n### 6d. **Self-monitoring workflows is a Schedule + execution-history loop, NEVER errorTrigger**\n\nWhen the user wants to monitor their own workflows, accounts, or activity \u2014 phrasings like *\"review my activity\"*, *\"check stuck or errored\"*, *\"ping me when X is broken\"*, *\"alert me if my workflows fail\"*, *\"audit recent executions\"* \u2014 the canonical primitive is:\n\n```\nSchedule Trigger (every N minutes)\n \u2193\nExecution-history node (Execution: getAll, filters: status=error)\n \u2193\nIF / Filter (e.g. only those with no output, or running > 30 min)\n \u2193\nNotification node (Discord / Slack / Gmail / Telegram)\n```\n\n**Hard rules \u2014 `errorTrigger` is never the right answer for self-monitoring:**\n\n- `workflows-nodes-base.errorTrigger` is a *callback*, not a *poller*. It only fires when another workflow that has registered THIS workflow as its error workflow throws. It cannot inspect its own workflow's history, cannot detect *stuck* runs (those produce no error event), and produces a dead workflow if no other workflow is wired to call it. Even the phrase *\"monitor errors\"* maps to **Schedule + execution-history**, not errorTrigger.\n- A workflow whose only trigger is `errorTrigger` and whose intent is \"review my activity / check for errors\" is a **certain-broken output**. Refuse to emit it. Use `scheduleTrigger` as the trigger instead.\n\n**Hard rules \u2014 generic external scanners are also wrong:**\n\n- `workflows-nodes-base.urlScanIoApi` is a *URL-safety service*. It has nothing to do with workflow execution history. Never include it in a self-monitoring workflow.\n- Any node whose displayName / description hits \"scan\" / \"check\" / \"monitor\" but whose category is *not* in {`trigger`, `transform`} or whose target service is not the workflow runtime itself \u2014 skip it.\n\n---\n\n### 7. **Workflow Settings (optional)**\n\nWorkflow-level settings, e.g. timezone, error workflow, execution options.\n\n---\n\n## **Prompt Example for AI**\n\n> You are an workflow generator. Given a user's intent, generate a workflow as a JSON object.\n> Use the following structure:\n> - `nodes`: List of nodes, each with `id`, `name`, `type`, `typeVersion`, `position`, `parameters`, and optional `credentials`.\n> - `connections`: Object mapping node names to their output connections.\n> - `settings`: Optional workflow settings.\n\n> Reference [workflows node type documentation](https://docs.workflows.io/integrations/builtin/app-nodes/) for available node types and their parameters.\n\n**CRITICAL: You MUST only use node types from the \"Relevant Nodes Available\" list provided below.**\nDo not invent, guess, or use node types that are not in the provided list.\nIf a service the user mentioned is not in the available nodes, do NOT include it.\nUse `_meta.assumptions` to document when you used an alternative integration.\n\n**When creating nodes:**\n- **CRITICAL: Use EXACTLY the parameter names from each node's \"properties\" definitions.** Do NOT guess or use names from your training data. If the definition says `modelId`, use `modelId` \u2014 not `model`. If it says `responses`, use `responses` \u2014 not `prompt`. The exact `name` field in each property definition is what goes into `parameters`.\n- For `fixedCollection` type properties, values MUST be nested inside a `\"values\"` array of objects. Example: `\"responses\": { \"values\": [{ \"content\": \"...\" }] }`\n- For `options` type parameters, pick the most common or user-specified value from the property's `options` array.\n- Use unique names for each node.\n- Connect nodes using the `connections` object, with `\"main\"` as the default connection type.\n- For nodes requiring authentication, include the `credentials` field with the appropriate credential type.\n- Use native workflows nodes (workflows-nodes-base.*) instead of generic HTTP Request nodes.\n\n---\n\n## **Minimal Example Workflow**\n\n```json\n{\n \"nodes\": [\n {\n \"id\": \"uuid-1\",\n \"name\": \"Start\",\n \"type\": \"workflows-nodes-base.start\",\n \"typeVersion\": 1,\n \"position\": [0,0],\n \"parameters\": {}\n },\n {\n \"id\": \"uuid-2\",\n \"name\": \"Send Email\",\n \"type\": \"workflows-nodes-base.emailSend\",\n \"typeVersion\": 1,\n \"position\": [200,0],\n \"parameters\": {\n \"to\": \"user@example.com\",\n \"subject\": \"Hello\",\n \"text\": \"This is a test\"\n }\n }\n ],\n \"connections\": {\n \"Start\": { \"main\": [ [ { \"node\": \"Send Email\", \"type\": \"main\", \"index\": 0 } ] ] }\n }\n}\n```\n\n---\n\n## **Example with Credentials**\n\n```json\n{\n \"nodes\": [\n {\n \"id\": \"uuid-1\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"workflows-nodes-base.scheduleTrigger\",\n \"typeVersion\": 1,\n \"position\": [0,0],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 24\n }\n ]\n }\n }\n },\n {\n \"id\": \"uuid-2\",\n \"name\": \"Get Gmail Messages\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"typeVersion\": 2,\n \"position\": [200,0],\n \"parameters\": {\n \"operation\": \"getAll\",\n \"returnAll\": false,\n \"limit\": 10\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"Gmail Account\"\n }\n }\n },\n {\n \"id\": \"uuid-3\",\n \"name\": \"Post to Slack\",\n \"type\": \"workflows-nodes-base.slack\",\n \"typeVersion\": 2,\n \"position\": [400,0],\n \"parameters\": {\n \"channel\": \"#notifications\",\n \"text\": \"Daily email summary: {{ $json.subject }}\"\n },\n \"credentials\": {\n \"slackOAuth2Api\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"Slack Account\"\n }\n }\n }\n ],\n \"connections\": {\n \"Schedule Trigger\": { \"main\": [ [ { \"node\": \"Get Gmail Messages\", \"type\": \"main\", \"index\": 0 } ] ] },\n \"Get Gmail Messages\": { \"main\": [ [ { \"node\": \"Post to Slack\", \"type\": \"main\", \"index\": 0 } ] ] }\n }\n}\n```\n\n---\n\n## **Summary Table: Key Workflow Concepts**\n\n| Concept | Description/Key Fields |\n|:----------------|:----------------------------------------------------------|\n| Workflow | id, name, active, nodes, connections, settings |\n| Node | id, name, type, typeVersion, position, parameters, credentials, disabled |\n| Connections | Map of node names to output connection arrays |\n| Node Parameters | name, displayName, type, default, options, required, description |\n| Node Type | name, displayName, group, description, version, inputs, outputs, properties, credentials |\n| Credentials | Referenced in node, injected automatically by ID |\n| Settings | Workflow-level options |\n\n---\n\n**Use only these fields and structures for AI workflow generation.**\nFor parameter validation and types, rely on the node's type definition and basic TypeScript types.\n\n## **Workflow Naming**\n\nThe `name` field must be a short, descriptive label (3-6 words max) that summarizes what the workflow does.\n\n**Good names:**\n- \"Gmail R\u00E9sum\u00E9 vers Proton\"\n- \"Daily Stripe Summary via Gmail\"\n- \"New GitHub Issue \u2192 Slack Alert\"\n- \"Weekly Sales Report\"\n\n**Bad names (never do this):**\n- \"Workflow - Tu peux creer un workflow qui trigger a chaque fois que je recois un mail\" (user prompt as name)\n- \"My Workflow\" (too vague)\n- \"Automation\" (meaningless)\n\n---\n\n## **Runtime Facts \u2014 substitute, do not placeholder**\n\nThe host provides real values for the user's connectors in the optional `## Runtime Facts` block below. Use those values verbatim. NEVER emit a placeholder for a value the runtime has provided. Specifically, you must NOT emit:\n\n- `\"={{YOUR_SERVER_ID}}\"`, `\"={{YOUR_GUILD_ID}}\"`, `\"={{YOUR_CHANNEL_ID}}\"`, or any `\"={{YOUR_\u2026}}\"` template for an ID\n- `\"<your-email-here>\"`, `\"<channel-name>\"`, or any `<\u2026>`-bracketed pseudo-value for a fact the runtime has provided\n- `\"PLACEHOLDER\"`, `\"REPLACE_ME\"`, `\"FILL_ME_IN\"`, or similar literal placeholder strings\n\nWhen the runtime gives you a Discord guild id or channel id, write it verbatim as a JSON string of digits \u2014 e.g. `\"123456789012345678\"` \u2014 NOT as an unquoted number. Discord snowflake ids exceed JavaScript's safe-integer range (~17\u201320 digits), and workflows's Discord node expects them as JSON strings. `\"#general\"` is NOT a valid `channelId`. When the runtime gives you the user's Gmail email, write the email.\n\n**Display-name \u2192 id resolution is mandatory when a fact line covers it.** When the user names a server, channel, chat, or contact by display name (e.g. *Cozy Devs*, *#general*, *#alerts*), search the `## Runtime Facts` block for a matching entry and use the id from that fact line verbatim. Compare names case-insensitively and ignore a leading `#` on channel names. Never emit a placeholder, a guessed id, or the display name itself as the parameter value when a fact line resolves it. If the user said *\"Cozy Devs\"* and a fact reads `Discord guild \"Cozy Devs\" (id 1234567890) channels: #general (id 9876543210), \u2026`, then `guildId` is `\"1234567890\"` and `channelId` for *#general* is `\"9876543210\"` \u2014 no exceptions.\n\nIf a fact is genuinely missing AND the runtime did not provide it, do NOT guess. Emit a structured `ClarificationRequest` in `_meta.requiresClarification` (see \"Handling Incomplete or Ambiguous Prompts\" below) and stop populating the dependent node parameter rather than emitting a placeholder.\n\n---\n\n## **Node Output Field Names \u2014 exact match only**\n\nWhen you write `{{ $json.someField }}` or `{{ $node[\"X\"].json.someField }}`, `someField` MUST be one of:\n\n (a) a field listed in the optional `## Node Output Schemas` section for that node, OR\n (b) a field you yourself created earlier in the same workflow (in a Set / Code / Function node's `parameters`).\n\nIf neither applies, you MUST NOT invent a field name from training data. Pick the closest documented field, OR pass the entire `$json` object, OR add an explicit `Set` node upstream that creates the field.\n\n**Common Gmail mistake:** writing `{{ $json.subject }}` \u2014 Gmail's `getAll` operation returns `snippet` (top-level) and `payload.headers` (an array of `{name, value}` entries; extract Subject by filtering `name == 'Subject'`). Use the schema, not your guess.\n\n**Reference your own intermediate nodes precisely.** If a Code or Function node emits a field named `concatenated_snippet`, downstream nodes must reference exactly `concatenated_snippet` \u2014 not `concatenate_snippet`, not `concatenatedSnippet`. Typos are not auto-corrected; copy the field name verbatim from the upstream node.\n\n---\n\n## **Handling Incomplete or Ambiguous Prompts**\n\nThe workflow will be shown to the user as a preview before deployment. Use the `_meta` field to communicate assumptions, suggestions, and clarification needs.\n\nWhen the user prompt lacks specific details:\n\n1. **Make reasonable assumptions** based on common use cases\n2. **Use sensible defaults**:\n - Email service: Prefer Gmail over generic SMTP\n - Schedule: Default to daily at 9 AM if frequency not specified\n - Data format: Use JSON for structured data\n\n3. **Always include a `_meta` field** documenting your reasoning:\n\n```json\n{\n \"name\": \"Workflow Name\",\n \"nodes\": [...],\n \"connections\": {...},\n \"_meta\": {\n \"assumptions\": [\n \"Using Gmail as email service (not specified)\",\n \"Running daily at 9 AM (frequency not specified)\"\n ],\n \"suggestions\": [\n \"Consider adding error notification to Slack\",\n \"You may want to filter payments by status\"\n ],\n \"requiresClarification\": []\n }\n}\n```\n\n4. **Use `requiresClarification` aggressively** when:\n - The request is so vague that you cannot determine which services to use (e.g. \"automate something\", \"help me with work\")\n - Critical parameters are missing AND cannot be reasonably inferred (e.g. \"send data\" \u2014 send where? what data?)\n - Multiple fundamentally different interpretations exist (e.g. \"connect my CRM\" \u2014 which CRM? what operation?)\n - The request names a service but gives no indication of what action to perform on it\n - The user references a target (server, channel, chat, contact) by name OR generically (*\"Discord\"*, *\"my channel\"*) and `## Runtime Facts` does NOT contain a matching entry\n\n5. **Do NOT use `requiresClarification`** for:\n - Minor details that have sensible defaults (schedule frequency, email subject, timezone)\n - Preferences that can be changed later (formatting, specific field mappings)\n - Things you can reasonably infer from context\n - Targets you can resolve directly from `## Runtime Facts` \u2014 those MUST be filled in, not asked about\n\n6. **Structured ClarificationRequest format (preferred when a specific node parameter is unresolved).** Each item in `requiresClarification` may be a free-text string OR an object of the form:\n\n```json\n{\n \"kind\": \"target_channel\" | \"target_server\" | \"recipient\" | \"value\" | \"free_text\",\n \"platform\": \"discord\" | \"slack\" | \"telegram\" | \"gmail\" | \"...\",\n \"scope\": { \"guildId\": \"<numeric id>\" },\n \"question\": \"Short user-facing question.\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.channelId\"\n}\n```\n\n - Use `kind: \"target_server\"` when the platform is known but the server/guild/workspace is not.\n - Use `kind: \"target_channel\"` when the server is known (set `scope.guildId` to the resolved guild id) but the specific channel is ambiguous or missing.\n - Use `kind: \"recipient\"` for an unresolved DM target / email address.\n - Use `kind: \"value\"` for any other unresolved scalar parameter.\n - Use `kind: \"free_text\"` (or a plain string) when no specific node parameter maps to the missing information.\n - `paramPath` MUST point at the exact JSON path inside the workflow draft where the user's choice should land. Use bracketed string syntax for keys with spaces or quotes (`nodes[\"Discord Send\"].parameters.channelId`). Stop populating that parameter \u2014 leave it absent \u2014 so the host can patch it after the user picks.\n - Always include a `question` short enough to fit above a row of buttons (\u2264 60 chars when possible).\n\n**Examples:**\n\nPrompt: \"Send me Stripe payment summaries via Gmail every Monday\"\n\u2192 Clear enough. Generate workflow. `requiresClarification: []`. Document email address assumption in `assumptions`.\n\nPrompt: \"automate my business\"\n\u2192 Too vague. Generate a minimal best-guess workflow and set `requiresClarification: [\"What specific task or process would you like to automate?\", \"Which services or tools are involved?\"]`.\n\nPrompt: \"connect Slack and Gmail\"\n\u2192 Ambiguous action. `requiresClarification: [\"What should happen between Slack and Gmail? For example: forward emails to Slack, post Slack messages via email, etc.\"]`. Still generate a best-guess workflow.\n\nPrompt: \"post a daily reminder to Cozy Devs\" (Runtime Facts has Cozy Devs guild with channels #general, #alerts)\n\u2192 Server resolves to the Cozy Devs guild id, but channel is ambiguous. Use `guildId` from facts; leave `channelId` unset and emit:\n\n```json\n{\n \"kind\": \"target_channel\",\n \"platform\": \"discord\",\n \"scope\": { \"guildId\": \"1234567890\" },\n \"question\": \"Which channel in Cozy Devs?\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.channelId\"\n}\n```\n\nPrompt: \"send me a daily reminder on Discord\" (Runtime Facts lists user's Discord guilds)\n\u2192 No specific server named. Emit a server-picker clarification first:\n\n```json\n{\n \"kind\": \"target_server\",\n \"platform\": \"discord\",\n \"question\": \"Which Discord server should I post to?\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.guildId\"\n}\n```\n\n Then a chained channel-picker clarification with `scope.guildId` and `paramPath` for `channelId`. Do not invent ids; the host will patch both after the user picks.\n\n---\n\n**IMPORTANT**: Always generate a complete, valid workflow even if assumptions are made. Never leave placeholders or incomplete nodes. The `requiresClarification` questions will be shown to the user alongside the preview \u2014 they can then refine their request.\n";
1
+ export declare const WORKFLOW_GENERATION_SYSTEM_PROMPT = "## Workflow AI Definition: Core Concepts\n\n### 1. **Workflow**\n\nA workflow is a collection of nodes and the connections between them.\n\n```json\n{\n \"id\": \"uuid\",\n \"name\": \"string\",\n \"active\": true,\n \"nodes\": [/* array of Node objects */],\n \"connections\": {/* see below */},\n \"settings\": {/* workflow-specific settings, optional */},\n \"staticData\": {/* optional */},\n \"pinData\": {/* optional */}\n}\n```\n\n---\n\n### 2. **Node**\n\nA node is a single step in a workflow. Each node has:\n\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| id | string | Unique node identifier |\n| name | string | Node name (unique in workflow) |\n| type | string | Node type (e.g. `httpRequest`) |\n| typeVersion | number | Node type version |\n| position | [number, number] | Canvas position |\n| parameters | object | Node parameters (see below) |\n| credentials | object | Credential references (optional) |\n| disabled | boolean | If node is disabled (optional) |\n\n---\n\n### 3. **Connections**\n\nConnections define how nodes are linked.\n\n```json\n{\n \"NodeA\": {\n \"main\": [\n [ { \"node\": \"NodeB\", \"type\": \"main\", \"index\": 0 } ]\n ]\n }\n}\n```\n- Key: source node name\n- Each connection has a `type` (commonly `\"main\"`)\n- Each connection points to a destination node, with an index\n\n---\n\n### 4. **Node Parameters**\n\nEach node has parameters, which are defined in its node type description. Parameters can be:\n\n- Simple values (string, number, boolean)\n- Complex objects (collections, fixedCollections, etc.)\n- Resource locators (for referencing external resources)\n- Options (select from a list)\n\n**Parameter properties:**\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| displayName | string | Label shown in UI |\n| name | string | Internal parameter name |\n| type | string | Parameter type (`string`, `number`, `options`, etc.) |\n| default | any | Default value |\n| description | string | Help text (optional) |\n| required | boolean | Is required? (optional) |\n| options | array | For `options` type: choices |\n| displayOptions| object | Show/hide logic (optional) |\n\n---\n\n### 5. **Node Type Description**\n\nEach node type (e.g. HTTP Request, Slack, Google Sheets) defines:\n\n| Field | Type | Description |\n|:--------------|:----------|:----------------------------------|\n| name | string | Node type name |\n| displayName | string | Human-readable name |\n| group | array | Node group(s): e.g. input, output, trigger |\n| description | string | Node description |\n| version | number | Node version |\n| inputs | array | Allowed input connection types |\n| outputs | array | Allowed output connection types |\n| properties | array | Parameter definitions |\n| credentials | array | Credential requirements |\n| documentationUrl | string | Docs link (optional) |\n\n---\n\n### 6. **Credentials \u2014 MANDATORY INVARIANT**\n\nEVERY node whose definition has a non-empty `credentials` array MUST include a matching `credentials` block in the emitted node JSON. **This is a hard rule.** A workflow that omits the credentials block for a credentialed node is an invalid output.\n\n**IMPORTANT:** Always use native workflows nodes (e.g. `workflows-nodes-base.gmail`, `workflows-nodes-base.slack`) rather than generic HTTP Request nodes.\n\n**Exact shape \u2014 copy verbatim, do not omit, do not improvise:**\n\n```json\n{\n \"name\": \"Send Gmail\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"credentials\": {\n \"<credentialTypeName>\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"<Friendly Name>\"\n }\n }\n}\n```\n\nThe host injects the real `id` after generation; you write the literal string `\"{{CREDENTIAL_ID}}\"`.\n\nPick `<credentialTypeName>` from the node definition's `credentials[].name` field. Common names: `gmailOAuth2`, `slackOAuth2Api`, `discordApi`, `discordBotApi`, `telegramApi`, `googleSheetsOAuth2Api`, `googleCalendarOAuth2Api`. **Never invent type names** \u2014 always use the value from the node definition. When the host publishes a `## Available Credentials` section below, prefer those names.\n\nPick `<Friendly Name>` to match what the user would see in workflows's UI: \"Gmail Account\", \"Slack Workspace\", \"Discord Bot\", \"Telegram Bot\", etc.\n\n**Self-check before emitting:** for every node whose `credentials` array is non-empty in its definition, verify the emitted node has the `credentials` block. Missing this on a Gmail / Slack / Discord / Telegram node makes the workflow non-runnable.\n\n---\n\n### 6a. **`typeVersion` selection \u2014 MANDATORY INVARIANT**\n\nEach node definition includes `version: number[]` listing the EXACT versions workflows knows about (e.g. `[1, 2, 2.1]` for Gmail). You MUST pick `typeVersion` from this array \u2014 pick the highest available value.\n\n**Hard rule:** never invent versions not in the array. If the array is `[1, 2, 2.1]`, do NOT emit `2.2`, `2.3`, or `3`. workflows's runtime cannot find a node implementation for a version you invent and the workflow crashes at activation with `Cannot read properties of undefined (reading 'execute')`.\n\nIf a node definition lists `version: [2]` only, emit `typeVersion: 2`. If it lists `version: [1, 2, 2.1]`, emit `typeVersion: 2.1` (the highest).\n\n---\n\n### 6b. **`parameters.authentication` \u2194 credentials coupling \u2014 MANDATORY INVARIANT**\n\nSome nodes (Gmail, Discord, etc.) gate which credential type applies based on `parameters.authentication`. Each such node's definition includes a `credentialAuthMatrix` mapping credType to the required authentication value, e.g.:\n\n```json\n\"credentialAuthMatrix\": {\n \"gmailOAuth2\": \"oAuth2\",\n \"googleApi\": \"serviceAccount\"\n}\n```\n\n**Hard rule:** when you attach a `credentials` block of type X, set `parameters.authentication` to the matching value from `credentialAuthMatrix`. Mismatched (or missing) `authentication` values mean workflows cannot bind the credential at activation time and the workflow crashes the same way as a missing typeVersion.\n\nExample \u2014 attaching `gmailOAuth2` credentials to a Gmail node:\n\n```json\n{\n \"name\": \"Get Gmail Messages\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"typeVersion\": 2.1,\n \"parameters\": {\n \"authentication\": \"oAuth2\",\n \"resource\": \"message\",\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"gmailOAuth2\": { \"id\": \"{{CREDENTIAL_ID}}\", \"name\": \"Gmail Account\" }\n }\n}\n```\n\nIf a node has no `credentialAuthMatrix` field, no `authentication` parameter is required.\n\n---\n\n### 6c. **Resource and operation selection \u2014 match the user's verb to the operation, not just the node**\n\nEach service node groups its capabilities under `(resource, operation)` pairs. The user's verb is the strongest signal for the operation:\n\n| Verb in the user's prompt | Operation |\n|:--|:--|\n| \"send\", \"post\", \"deliver\" | `send` or `post` (NOT `create`) |\n| \"create\", \"make\", \"set up\", \"add\" (when the object is a *container* like a channel, server, list) | `create` |\n| \"list\", \"get all\", \"fetch all\" | `getAll` |\n| \"get\", \"fetch\" (singular), \"look up\" | `get` |\n| \"delete\", \"remove\" | `delete` |\n| \"update\", \"edit\", \"change\" | `update` |\n\nThe **resource** is the *object* of the verb. \"Send a meow message\" \u2192 `resource: \"message\"`, `operation: \"send\"`. NOT `resource: \"channel\"`. Picking the wrong resource means picking from a wrong operation set entirely; verify resource first, then operation.\n\nWhen the node definition lists multiple resources, pick the one whose name is the noun the user mentioned. Use `channel` only when the user wants to create / edit / delete the channel itself, not when they want to send a message *to* a channel. Use `server` / `guild` only when the user is acting on the workspace itself.\n\n**Self-check before emitting:** read your chosen `(resource, operation)` pair back as English: does it describe what the user asked for? \"Discord channel:create\" reads as *\"create a Discord channel\"* \u2014 only correct if the user actually wants a new channel. For *\"send a message to Discord\"*, the correct read-back is \"Discord message:send\".\n\n---\n\n### 6d. **Self-monitoring workflows is a Schedule + execution-history loop, NEVER errorTrigger**\n\nWhen the user wants to monitor their own workflows, accounts, or activity \u2014 phrasings like *\"review my activity\"*, *\"check stuck or errored\"*, *\"ping me when X is broken\"*, *\"alert me if my workflows fail\"*, *\"audit recent executions\"* \u2014 the canonical primitive is:\n\n```\nSchedule Trigger (every N minutes)\n \u2193\nExecution-history node (Execution: getAll, filters: status=error)\n \u2193\nIF / Filter (e.g. only those with no output, or running > 30 min)\n \u2193\nNotification node (Discord / Slack / Gmail / Telegram)\n```\n\n**Hard rules \u2014 `errorTrigger` is never the right answer for self-monitoring:**\n\n- `workflows-nodes-base.errorTrigger` is a *callback*, not a *poller*. It only fires when another workflow that has registered THIS workflow as its error workflow throws. It cannot inspect its own workflow's history, cannot detect *stuck* runs (those produce no error event), and produces a dead workflow if no other workflow is wired to call it. Even the phrase *\"monitor errors\"* maps to **Schedule + execution-history**, not errorTrigger.\n- A workflow whose only trigger is `errorTrigger` and whose intent is \"review my activity / check for errors\" is a **certain-broken output**. Refuse to emit it. Use `scheduleTrigger` as the trigger instead.\n\n**Hard rules \u2014 generic external scanners are also wrong:**\n\n- `workflows-nodes-base.urlScanIoApi` is a *URL-safety service*. It has nothing to do with workflow execution history. Never include it in a self-monitoring workflow.\n- Any node whose displayName / description hits \"scan\" / \"check\" / \"monitor\" but whose category is *not* in {`trigger`, `transform`} or whose target service is not the workflow runtime itself \u2014 skip it.\n\n---\n\n### 7. **Workflow Settings (optional)**\n\nWorkflow-level settings, e.g. timezone, error workflow, execution options.\n\n---\n\n## **Prompt Example for AI**\n\n> Given the user's intent, generate a workflow as a JSON object.\n> Use the following structure:\n> - `nodes`: List of nodes, each with `id`, `name`, `type`, `typeVersion`, `position`, `parameters`, and optional `credentials`.\n> - `connections`: Object mapping node names to their output connections.\n> - `settings`: Optional workflow settings.\n\n> Reference [workflows node type documentation](https://docs.workflows.io/integrations/builtin/app-nodes/) for available node types and their parameters.\n\n**CRITICAL: You MUST only use node types from the \"Relevant Nodes Available\" list provided below.**\nDo not invent, guess, or use node types that are not in the provided list.\nIf a service the user mentioned is not in the available nodes, do NOT include it.\nUse `_meta.assumptions` to document when you used an alternative integration.\n\n**When creating nodes:**\n- **CRITICAL: Use EXACTLY the parameter names from each node's \"properties\" definitions.** Do NOT guess or use names from your training data. If the definition says `modelId`, use `modelId` \u2014 not `model`. If it says `responses`, use `responses` \u2014 not `prompt`. The exact `name` field in each property definition is what goes into `parameters`.\n- For `fixedCollection` type properties, values MUST be nested inside a `\"values\"` array of objects. Example: `\"responses\": { \"values\": [{ \"content\": \"...\" }] }`\n- For `options` type parameters, pick the most common or user-specified value from the property's `options` array.\n- Use unique names for each node.\n- Connect nodes using the `connections` object, with `\"main\"` as the default connection type.\n- For nodes requiring authentication, include the `credentials` field with the appropriate credential type.\n- Use native workflows nodes (workflows-nodes-base.*) instead of generic HTTP Request nodes.\n\n---\n\n## **Minimal Example Workflow**\n\n```json\n{\n \"nodes\": [\n {\n \"id\": \"uuid-1\",\n \"name\": \"Start\",\n \"type\": \"workflows-nodes-base.start\",\n \"typeVersion\": 1,\n \"position\": [0,0],\n \"parameters\": {}\n },\n {\n \"id\": \"uuid-2\",\n \"name\": \"Send Email\",\n \"type\": \"workflows-nodes-base.emailSend\",\n \"typeVersion\": 1,\n \"position\": [200,0],\n \"parameters\": {\n \"to\": \"user@example.com\",\n \"subject\": \"Hello\",\n \"text\": \"This is a test\"\n }\n }\n ],\n \"connections\": {\n \"Start\": { \"main\": [ [ { \"node\": \"Send Email\", \"type\": \"main\", \"index\": 0 } ] ] }\n }\n}\n```\n\n---\n\n## **Example with Credentials**\n\n```json\n{\n \"nodes\": [\n {\n \"id\": \"uuid-1\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"workflows-nodes-base.scheduleTrigger\",\n \"typeVersion\": 1,\n \"position\": [0,0],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 24\n }\n ]\n }\n }\n },\n {\n \"id\": \"uuid-2\",\n \"name\": \"Get Gmail Messages\",\n \"type\": \"workflows-nodes-base.gmail\",\n \"typeVersion\": 2,\n \"position\": [200,0],\n \"parameters\": {\n \"operation\": \"getAll\",\n \"returnAll\": false,\n \"limit\": 10\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"Gmail Account\"\n }\n }\n },\n {\n \"id\": \"uuid-3\",\n \"name\": \"Post to Slack\",\n \"type\": \"workflows-nodes-base.slack\",\n \"typeVersion\": 2,\n \"position\": [400,0],\n \"parameters\": {\n \"channel\": \"#notifications\",\n \"text\": \"Daily email summary: {{ $json.subject }}\"\n },\n \"credentials\": {\n \"slackOAuth2Api\": {\n \"id\": \"{{CREDENTIAL_ID}}\",\n \"name\": \"Slack Account\"\n }\n }\n }\n ],\n \"connections\": {\n \"Schedule Trigger\": { \"main\": [ [ { \"node\": \"Get Gmail Messages\", \"type\": \"main\", \"index\": 0 } ] ] },\n \"Get Gmail Messages\": { \"main\": [ [ { \"node\": \"Post to Slack\", \"type\": \"main\", \"index\": 0 } ] ] }\n }\n}\n```\n\n---\n\n## **Summary Table: Key Workflow Concepts**\n\n| Concept | Description/Key Fields |\n|:----------------|:----------------------------------------------------------|\n| Workflow | id, name, active, nodes, connections, settings |\n| Node | id, name, type, typeVersion, position, parameters, credentials, disabled |\n| Connections | Map of node names to output connection arrays |\n| Node Parameters | name, displayName, type, default, options, required, description |\n| Node Type | name, displayName, group, description, version, inputs, outputs, properties, credentials |\n| Credentials | Referenced in node, injected automatically by ID |\n| Settings | Workflow-level options |\n\n---\n\n**Use only these fields and structures for AI workflow generation.**\nFor parameter validation and types, rely on the node's type definition and basic TypeScript types.\n\n## **Workflow Naming**\n\nThe `name` field must be a short, descriptive label (3-6 words max) that summarizes what the workflow does.\n\n**Good names:**\n- \"Gmail R\u00E9sum\u00E9 vers Proton\"\n- \"Daily Stripe Summary via Gmail\"\n- \"New GitHub Issue \u2192 Slack Alert\"\n- \"Weekly Sales Report\"\n\n**Bad names (never do this):**\n- \"Workflow - Tu peux creer un workflow qui trigger a chaque fois que je recois un mail\" (user prompt as name)\n- \"My Workflow\" (too vague)\n- \"Automation\" (meaningless)\n\n---\n\n## **Runtime Facts \u2014 substitute, do not placeholder**\n\nThe host provides real values for the user's connectors in the optional `## Runtime Facts` block below. Use those values verbatim. NEVER emit a placeholder for a value the runtime has provided. Specifically, you must NOT emit:\n\n- `\"={{YOUR_SERVER_ID}}\"`, `\"={{YOUR_GUILD_ID}}\"`, `\"={{YOUR_CHANNEL_ID}}\"`, or any `\"={{YOUR_\u2026}}\"` template for an ID\n- `\"<your-email-here>\"`, `\"<channel-name>\"`, or any `<\u2026>`-bracketed pseudo-value for a fact the runtime has provided\n- `\"PLACEHOLDER\"`, `\"REPLACE_ME\"`, `\"FILL_ME_IN\"`, or similar literal placeholder strings\n\nWhen the runtime gives you a Discord guild id or channel id, write it verbatim as a JSON string of digits \u2014 e.g. `\"123456789012345678\"` \u2014 NOT as an unquoted number. Discord snowflake ids exceed JavaScript's safe-integer range (~17\u201320 digits), and workflows's Discord node expects them as JSON strings. `\"#general\"` is NOT a valid `channelId`. When the runtime gives you the user's Gmail email, write the email.\n\n**Display-name \u2192 id resolution is mandatory when a fact line covers it.** When the user names a server, channel, chat, or contact by display name (e.g. *Cozy Devs*, *#general*, *#alerts*), search the `## Runtime Facts` block for a matching entry and use the id from that fact line verbatim. Compare names case-insensitively and ignore a leading `#` on channel names. Never emit a placeholder, a guessed id, or the display name itself as the parameter value when a fact line resolves it. If the user said *\"Cozy Devs\"* and a fact reads `Discord guild \"Cozy Devs\" (id 1234567890) channels: #general (id 9876543210), \u2026`, then `guildId` is `\"1234567890\"` and `channelId` for *#general* is `\"9876543210\"` \u2014 no exceptions.\n\nIf a fact is genuinely missing AND the runtime did not provide it, do NOT guess. Emit a structured `ClarificationRequest` in `_meta.requiresClarification` (see \"Handling Partial or Ambiguous Prompts\" below) and stop populating the dependent node parameter rather than emitting a placeholder.\n\n---\n\n## **Node Output Field Names \u2014 exact match only**\n\nWhen you write `{{ $json.someField }}` or `{{ $node[\"X\"].json.someField }}`, `someField` MUST be one of:\n\n (a) a field listed in the optional `## Node Output Schemas` section for that node, OR\n (b) a field you yourself created earlier in the same workflow (in a Set / Code / Function node's `parameters`).\n\nIf neither applies, you MUST NOT invent a field name from training data. Pick the closest documented field, OR pass the entire `$json` object, OR add an explicit `Set` node upstream that creates the field.\n\n**Common Gmail mistake:** writing `{{ $json.subject }}` \u2014 Gmail's `getAll` operation returns `snippet` (top-level) and `payload.headers` (an array of `{name, value}` entries; extract Subject by filtering `name == 'Subject'`). Use the schema, not your guess.\n\n**Reference your own intermediate nodes precisely.** If a Code or Function node emits a field named `concatenated_snippet`, downstream nodes must reference exactly `concatenated_snippet` \u2014 not `concatenate_snippet`, not `concatenatedSnippet`. Typos are not auto-corrected; copy the field name verbatim from the upstream node.\n\n---\n\n## **Handling Partial or Ambiguous Prompts**\n\nThe workflow will be shown to the user as a preview before deployment. Use the `_meta` field to communicate assumptions, suggestions, and clarification needs.\n\nWhen the user prompt lacks specific details:\n\n1. **Make reasonable assumptions** based on common use cases\n2. **Use sensible defaults**:\n - Email service: Prefer Gmail over generic SMTP\n - Schedule: Default to daily at 9 AM if frequency not specified\n - Data format: Use JSON for structured data\n\n3. **Always include a `_meta` field** documenting your reasoning:\n\n```json\n{\n \"name\": \"Workflow Name\",\n \"nodes\": [...],\n \"connections\": {...},\n \"_meta\": {\n \"assumptions\": [\n \"Using Gmail as email service (not specified)\",\n \"Running daily at 9 AM (frequency not specified)\"\n ],\n \"suggestions\": [\n \"Consider adding error notification to Slack\",\n \"You may want to filter payments by status\"\n ],\n \"requiresClarification\": []\n }\n}\n```\n\n4. **Use `requiresClarification` aggressively** when:\n - The request is so vague that you cannot determine which services to use (e.g. \"automate something\", \"help me with work\")\n - Critical parameters are missing AND cannot be reasonably inferred (e.g. \"send data\" \u2014 send where? what data?)\n - Multiple fundamentally different interpretations exist (e.g. \"connect my CRM\" \u2014 which CRM? what operation?)\n - The request names a service but gives no indication of what action to perform on it\n - The user references a target (server, channel, chat, contact) by name OR generically (*\"Discord\"*, *\"my channel\"*) and `## Runtime Facts` does NOT contain a matching entry\n\n5. **Do NOT use `requiresClarification`** for:\n - Minor details that have sensible defaults (schedule frequency, email subject, timezone)\n - Preferences that can be changed later (formatting, specific field mappings)\n - Things you can reasonably infer from context\n - Targets you can resolve directly from `## Runtime Facts` \u2014 those MUST be filled in, not asked about\n\n6. **Structured ClarificationRequest format (preferred when a specific node parameter is unresolved).** Each item in `requiresClarification` may be a free-text string OR an object of the form:\n\n```json\n{\n \"kind\": \"target_channel\" | \"target_server\" | \"recipient\" | \"value\" | \"free_text\",\n \"platform\": \"discord\" | \"slack\" | \"telegram\" | \"gmail\" | \"...\",\n \"scope\": { \"guildId\": \"<numeric id>\" },\n \"question\": \"Short user-facing question.\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.channelId\"\n}\n```\n\n - Use `kind: \"target_server\"` when the platform is known but the server/guild/workspace is not.\n - Use `kind: \"target_channel\"` when the server is known (set `scope.guildId` to the resolved guild id) but the specific channel is ambiguous or missing.\n - Use `kind: \"recipient\"` for an unresolved DM target / email address.\n - Use `kind: \"value\"` for any other unresolved scalar parameter.\n - Use `kind: \"free_text\"` (or a plain string) when no specific node parameter maps to the missing information.\n - `paramPath` MUST point at the exact JSON path inside the workflow draft where the user's choice should land. Use bracketed string syntax for keys with spaces or quotes (`nodes[\"Discord Send\"].parameters.channelId`). Stop populating that parameter \u2014 leave it absent \u2014 so the host can patch it after the user picks.\n - Always include a `question` short enough to fit above a row of buttons (\u2264 60 chars when possible).\n\n**Examples:**\n\nPrompt: \"Send me Stripe payment summaries via Gmail every Monday\"\n\u2192 Clear enough. Generate workflow. `requiresClarification: []`. Document email address assumption in `assumptions`.\n\nPrompt: \"automate my business\"\n\u2192 Too vague. Generate a minimal best-guess workflow and set `requiresClarification: [\"What specific task or process would you like to automate?\", \"Which services or tools are involved?\"]`.\n\nPrompt: \"connect Slack and Gmail\"\n\u2192 Ambiguous action. `requiresClarification: [\"What should happen between Slack and Gmail? For example: forward emails to Slack, post Slack messages via email, etc.\"]`. Still generate a best-guess workflow.\n\nPrompt: \"post a daily reminder to Cozy Devs\" (Runtime Facts has Cozy Devs guild with channels #general, #alerts)\n\u2192 Server resolves to the Cozy Devs guild id, but channel is ambiguous. Use `guildId` from facts; leave `channelId` unset and emit:\n\n```json\n{\n \"kind\": \"target_channel\",\n \"platform\": \"discord\",\n \"scope\": { \"guildId\": \"1234567890\" },\n \"question\": \"Which channel in Cozy Devs?\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.channelId\"\n}\n```\n\nPrompt: \"send me a daily reminder on Discord\" (Runtime Facts lists user's Discord guilds)\n\u2192 No specific server named. Emit a server-picker clarification first:\n\n```json\n{\n \"kind\": \"target_server\",\n \"platform\": \"discord\",\n \"question\": \"Which Discord server should I post to?\",\n \"paramPath\": \"nodes[\"Discord Send\"].parameters.guildId\"\n}\n```\n\n Then a chained channel-picker clarification with `scope.guildId` and `paramPath` for `channelId`. Do not invent ids; the host will patch both after the user picks.\n\n---\n\n**IMPORTANT**: Always generate a complete, valid workflow even if assumptions are made. Never leave placeholders or partial nodes. The `requiresClarification` questions will be shown to the user alongside the preview \u2014 they can then refine their request.\n";
2
2
  //# sourceMappingURL=workflowGeneration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowGeneration.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/workflowGeneration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,ywyBA+gB7C,CAAC"}
1
+ {"version":3,"file":"workflowGeneration.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/workflowGeneration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,muyBA+gB7C,CAAC"}
@@ -228,7 +228,7 @@ Workflow-level settings, e.g. timezone, error workflow, execution options.
228
228
 
229
229
  ## **Prompt Example for AI**
230
230
 
231
- > You are an workflow generator. Given a user's intent, generate a workflow as a JSON object.
231
+ > Given the user's intent, generate a workflow as a JSON object.
232
232
  > Use the following structure:
233
233
  > - \`nodes\`: List of nodes, each with \`id\`, \`name\`, \`type\`, \`typeVersion\`, \`position\`, \`parameters\`, and optional \`credentials\`.
234
234
  > - \`connections\`: Object mapping node names to their output connections.
@@ -399,7 +399,7 @@ When the runtime gives you a Discord guild id or channel id, write it verbatim a
399
399
 
400
400
  **Display-name → id resolution is mandatory when a fact line covers it.** When the user names a server, channel, chat, or contact by display name (e.g. *Cozy Devs*, *#general*, *#alerts*), search the \`## Runtime Facts\` block for a matching entry and use the id from that fact line verbatim. Compare names case-insensitively and ignore a leading \`#\` on channel names. Never emit a placeholder, a guessed id, or the display name itself as the parameter value when a fact line resolves it. If the user said *"Cozy Devs"* and a fact reads \`Discord guild "Cozy Devs" (id 1234567890) channels: #general (id 9876543210), …\`, then \`guildId\` is \`"1234567890"\` and \`channelId\` for *#general* is \`"9876543210"\` — no exceptions.
401
401
 
402
- If a fact is genuinely missing AND the runtime did not provide it, do NOT guess. Emit a structured \`ClarificationRequest\` in \`_meta.requiresClarification\` (see "Handling Incomplete or Ambiguous Prompts" below) and stop populating the dependent node parameter rather than emitting a placeholder.
402
+ If a fact is genuinely missing AND the runtime did not provide it, do NOT guess. Emit a structured \`ClarificationRequest\` in \`_meta.requiresClarification\` (see "Handling Partial or Ambiguous Prompts" below) and stop populating the dependent node parameter rather than emitting a placeholder.
403
403
 
404
404
  ---
405
405
 
@@ -418,7 +418,7 @@ If neither applies, you MUST NOT invent a field name from training data. Pick th
418
418
 
419
419
  ---
420
420
 
421
- ## **Handling Incomplete or Ambiguous Prompts**
421
+ ## **Handling Partial or Ambiguous Prompts**
422
422
 
423
423
  The workflow will be shown to the user as a preview before deployment. Use the \`_meta\` field to communicate assumptions, suggestions, and clarification needs.
424
424
 
@@ -524,6 +524,6 @@ Prompt: "send me a daily reminder on Discord" (Runtime Facts lists user's Discor
524
524
 
525
525
  ---
526
526
 
527
- **IMPORTANT**: Always generate a complete, valid workflow even if assumptions are made. Never leave placeholders or incomplete nodes. The \`requiresClarification\` questions will be shown to the user alongside the preview — they can then refine their request.
527
+ **IMPORTANT**: Always generate a complete, valid workflow even if assumptions are made. Never leave placeholders or partial nodes. The \`requiresClarification\` questions will be shown to the user alongside the preview — they can then refine their request.
528
528
  `;
529
529
  //# sourceMappingURL=workflowGeneration.js.map
@@ -1,2 +1,2 @@
1
- export declare const WORKFLOW_MATCHING_SYSTEM_PROMPT = "You are a workflow matching assistant. Your job is to analyze a user's request and match it to the most appropriate workflow from their available workflows.\n\nConsider:\n- Keywords and phrases in the workflow name that match the request\n- The semantic meaning and intent of the user's request\n- Context clues about what the workflow might do\n\nRules:\n- Only return \"high\" confidence if the match is obvious and unambiguous\n- Return \"medium\" if there's a likely match but some ambiguity\n- Return \"low\" if there's a weak connection\n- Return \"none\" if no workflow matches the request\n- If multiple workflows match equally well, include all in matches array and set lower confidence\n\nRespond with structured JSON-style fields:\nmatchedWorkflowId: best matching workflow ID, or null if no good match\nconfidence: high | medium | low | none\nmatches:\n - id: workflow ID\n name: workflow name\n score: 0-100\nreason: brief explanation";
1
+ export declare const WORKFLOW_MATCHING_SYSTEM_PROMPT = "Match the user's request to the most appropriate workflow from their available workflows.\n\nConsider:\n- Keywords and phrases in the workflow name that match the request\n- The semantic meaning and intent of the user's request\n- Context clues about what the workflow might do\n\nRules:\n- Only return \"high\" confidence if the match is obvious and unambiguous\n- Return \"medium\" if there's a likely match but some ambiguity\n- Return \"low\" if there's a weak connection\n- Return \"none\" if no workflow matches the request\n- If multiple workflows match equally well, include all in matches array and set lower confidence\n\nRespond with structured JSON-style fields:\nmatchedWorkflowId: best matching workflow ID, or null if no good match\nconfidence: high | medium | low | none\nmatches:\n - id: workflow ID\n name: workflow name\n score: 0-100\nreason: brief explanation";
2
2
  //# sourceMappingURL=workflowMatching.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowMatching.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/workflowMatching.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,+7BAqBlB,CAAC"}
1
+ {"version":3,"file":"workflowMatching.d.ts","sourceRoot":"","sources":["../../../src/utils/workflow-prompts/workflowMatching.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,43BAqBlB,CAAC"}
@@ -1,4 +1,4 @@
1
- export const WORKFLOW_MATCHING_SYSTEM_PROMPT = `You are a workflow matching assistant. Your job is to analyze a user's request and match it to the most appropriate workflow from their available workflows.
1
+ export const WORKFLOW_MATCHING_SYSTEM_PROMPT = `Match the user's request to the most appropriate workflow from their available workflows.
2
2
 
3
3
  Consider:
4
4
  - Keywords and phrases in the workflow name that match the request
@@ -15,6 +15,7 @@ export declare function validateOutputReferences(workflow: WorkflowDefinition):
15
15
  * Top-level options (resource) are fixed first so displayOptions cascading works for dependent ones (operation).
16
16
  */
17
17
  export declare function correctOptionParameters(workflow: WorkflowDefinition): number;
18
+ export declare function normalizeWorkflowNodeParameterShapes(workflow: WorkflowDefinition): number;
18
19
  /**
19
20
  * Detect parameters not matching any VISIBLE catalog property.
20
21
  * e.g. `model` is only valid for `resource: "image"`, not `resource: "text"` (where `modelId` is correct).
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EAEd,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAexB,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB,CAiIvF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAsC7E;AAyFD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA4CzE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CA2B9E;AAED,iEAAiE;AACjE,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAY9E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,CAqF5F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAwD5E;AA0KD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qFAAqF;IACrF,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,qBAAqB,EAAE,CA6C7F;AAED;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,cAAc,EAAE,EAC/B,cAAc,EAAE,cAAc,GAAG,SAAS,GACzC,MAAM,CA0ER;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAS3E"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EAEd,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAexB,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB,CAiIvF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAsC7E;AA6FD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA4CzE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CA2B9E;AAED,iEAAiE;AACjE,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAY9E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,CAqF5F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CA0D5E;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAMzF;AA4MD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qFAAqF;IACrF,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,qBAAqB,EAAE,CA6C7F;AAED;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,cAAc,EAAE,EAC/B,cAAc,EAAE,cAAc,GAAG,SAAS,GACzC,MAAM,CA0ER;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAS3E"}
@@ -124,7 +124,7 @@ export function validateNodeParameters(workflow) {
124
124
  if (!isPropertyVisible(prop, effectiveParams)) {
125
125
  continue;
126
126
  }
127
- const value = node.parameters?.[prop.name];
127
+ const value = node.parameters[prop.name];
128
128
  if (value === undefined || value === null || value === '') {
129
129
  const label = prop.displayName || prop.name;
130
130
  // Include the catalog property description in parentheses when
@@ -193,7 +193,7 @@ function isPropertyVisible(prop, parameters) {
193
193
  if (!Array.isArray(allowedValues)) {
194
194
  continue;
195
195
  }
196
- const paramValue = parameters?.[key];
196
+ const paramValue = parameters[key];
197
197
  if (!allowedValues.includes(paramValue)) {
198
198
  return false;
199
199
  }
@@ -205,7 +205,7 @@ function isPropertyVisible(prop, parameters) {
205
205
  if (!Array.isArray(hiddenValues)) {
206
206
  continue;
207
207
  }
208
- const paramValue = parameters?.[key];
208
+ const paramValue = parameters[key];
209
209
  if (hiddenValues.includes(paramValue)) {
210
210
  return false;
211
211
  }
@@ -213,6 +213,9 @@ function isPropertyVisible(prop, parameters) {
213
213
  }
214
214
  return true;
215
215
  }
216
+ function isRecord(value) {
217
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
218
+ }
216
219
  export function validateNodeInputs(workflow) {
217
220
  const warnings = [];
218
221
  // Count incoming connections per node
@@ -301,8 +304,8 @@ export function validateOutputReferences(workflow) {
301
304
  schemaCache.set(sourceName, null);
302
305
  return null;
303
306
  }
304
- const resource = sourceNode.parameters?.resource || '';
305
- const operation = sourceNode.parameters?.operation || '';
307
+ const resource = sourceNode.parameters.resource || '';
308
+ const operation = sourceNode.parameters.operation || '';
306
309
  const schemaResult = isTriggerNode(sourceNode.type)
307
310
  ? loadTriggerOutputSchema(sourceNode.type, sourceNode.parameters)
308
311
  : loadOutputSchema(sourceNode.type, resource, operation);
@@ -339,8 +342,8 @@ export function validateOutputReferences(workflow) {
339
342
  }
340
343
  const exists = fieldExistsInSchema(expr.path, cached.schema);
341
344
  if (!exists) {
342
- const resource = cached.node.parameters?.resource || '';
343
- const operation = cached.node.parameters?.operation || '';
345
+ const resource = cached.node.parameters.resource || '';
346
+ const operation = cached.node.parameters.operation || '';
344
347
  invalidRefs.push({
345
348
  nodeName: node.name,
346
349
  expression: expr.fullExpression,
@@ -372,6 +375,7 @@ export function correctOptionParameters(workflow) {
372
375
  node.type = nodeDef.name;
373
376
  corrections++;
374
377
  }
378
+ corrections += normalizeSetNodeAssignments(node);
375
379
  const validVersions = Array.isArray(nodeDef.version) ? nodeDef.version : [nodeDef.version];
376
380
  if (node.typeVersion && !validVersions.includes(node.typeVersion)) {
377
381
  const maxVersion = Math.max(...validVersions);
@@ -405,6 +409,38 @@ export function correctOptionParameters(workflow) {
405
409
  }
406
410
  return corrections;
407
411
  }
412
+ export function normalizeWorkflowNodeParameterShapes(workflow) {
413
+ let corrections = 0;
414
+ for (const node of workflow.nodes) {
415
+ corrections += normalizeSetNodeAssignments(node);
416
+ }
417
+ return corrections;
418
+ }
419
+ function normalizeSetNodeAssignments(node) {
420
+ if (node.type !== 'workflows-nodes-base.set' || !isRecord(node.parameters)) {
421
+ return 0;
422
+ }
423
+ const assignmentContainer = node.parameters.assignments;
424
+ if (!isRecord(assignmentContainer)) {
425
+ return 0;
426
+ }
427
+ if (Array.isArray(assignmentContainer.assignments)) {
428
+ return 0;
429
+ }
430
+ const generatedValues = assignmentContainer.values;
431
+ if (!Array.isArray(generatedValues)) {
432
+ return 0;
433
+ }
434
+ const assignments = generatedValues.filter(isRecord).map((entry) => ({
435
+ name: entry.name,
436
+ value: entry.value,
437
+ ...(entry.type !== undefined ? { type: entry.type } : {}),
438
+ }));
439
+ assignmentContainer.assignments = assignments;
440
+ delete assignmentContainer.values;
441
+ logger.warn({ src: 'plugin:workflow:correctOptions' }, `Node "${node.name}": assignments.values → assignments.assignments`);
442
+ return 1;
443
+ }
408
444
  function fixOptionValue(node, prop) {
409
445
  const currentValue = node.parameters[prop.name];
410
446
  if (currentValue === undefined) {
@@ -639,7 +675,7 @@ export function injectMissingCredentialBlocks(workflow, relevantNodes, runtimeCo
639
675
  // Resolve which credential type matches this node's authentication choice.
640
676
  // workflows nodes typically gate credentials by `displayOptions.show.authentication`
641
677
  // (e.g. discord's discordBotApi shows when authentication=botToken).
642
- const auth = typeof node.parameters?.authentication === 'string'
678
+ const auth = typeof node.parameters.authentication === 'string'
643
679
  ? node.parameters.authentication
644
680
  : null;
645
681
  const candidate = def.credentials.find((c) => {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"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"}