@open-mercato/core 0.7.1-develop.7193.1.910a5b0a1e → 0.7.1-develop.7195.1.b5efd1d51a

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 (1241) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/AGENTS.md +4 -3
  3. package/agentic/standalone-guide.md +1 -1
  4. package/build.mjs +16 -0
  5. package/dist/bootstrap.js +7 -3
  6. package/dist/bootstrap.js.map +2 -2
  7. package/dist/generated/entities/action_log/index.js +2 -0
  8. package/dist/generated/entities/action_log/index.js.map +2 -2
  9. package/dist/generated/entities/user/index.js +2 -0
  10. package/dist/generated/entities/user/index.js.map +2 -2
  11. package/dist/generated/entities/user_task/index.js +14 -0
  12. package/dist/generated/entities/user_task/index.js.map +2 -2
  13. package/dist/generated/entities/workflow_definition/index.js +6 -0
  14. package/dist/generated/entities/workflow_definition/index.js.map +2 -2
  15. package/dist/generated/entities/workflow_definition_draft/index.js +25 -0
  16. package/dist/generated/entities/workflow_definition_draft/index.js.map +7 -0
  17. package/dist/generated/entities/workflow_definition_metric_rollup/index.js +23 -0
  18. package/dist/generated/entities/workflow_definition_metric_rollup/index.js.map +7 -0
  19. package/dist/generated/entities/workflow_instance/index.js +4 -0
  20. package/dist/generated/entities/workflow_instance/index.js.map +2 -2
  21. package/dist/generated/entities.ids.generated.js +4 -1
  22. package/dist/generated/entities.ids.generated.js.map +2 -2
  23. package/dist/generated/entity-fields-registry.js +39 -0
  24. package/dist/generated/entity-fields-registry.js.map +2 -2
  25. package/dist/helpers/integration/workflowsFixtures.js +477 -2
  26. package/dist/helpers/integration/workflowsFixtures.js.map +2 -2
  27. package/dist/helpers/integration/workflowsUi.js +148 -0
  28. package/dist/helpers/integration/workflowsUi.js.map +7 -0
  29. package/dist/modules/attachments/lib/createFromBuffer.js +79 -0
  30. package/dist/modules/attachments/lib/createFromBuffer.js.map +7 -0
  31. package/dist/modules/audit_logs/data/entities.js +5 -0
  32. package/dist/modules/audit_logs/data/entities.js.map +2 -2
  33. package/dist/modules/audit_logs/data/validators.js +1 -0
  34. package/dist/modules/audit_logs/data/validators.js.map +2 -2
  35. package/dist/modules/audit_logs/lib/projections.js +2 -1
  36. package/dist/modules/audit_logs/lib/projections.js.map +2 -2
  37. package/dist/modules/audit_logs/migrations/Migration20260625120000.js +15 -0
  38. package/dist/modules/audit_logs/migrations/Migration20260625120000.js.map +7 -0
  39. package/dist/modules/audit_logs/services/actionLogService.js +3 -0
  40. package/dist/modules/audit_logs/services/actionLogService.js.map +2 -2
  41. package/dist/modules/auth/data/entities.js +6 -0
  42. package/dist/modules/auth/data/entities.js.map +2 -2
  43. package/dist/modules/auth/lib/executionPrincipal.js +140 -0
  44. package/dist/modules/auth/lib/executionPrincipal.js.map +7 -0
  45. package/dist/modules/auth/migrations/Migration20260625050000.js +13 -0
  46. package/dist/modules/auth/migrations/Migration20260625050000.js.map +7 -0
  47. package/dist/modules/business_rules/components/InlineRuleEditor.js +154 -0
  48. package/dist/modules/business_rules/components/InlineRuleEditor.js.map +7 -0
  49. package/dist/modules/business_rules/data/validators.js +6 -0
  50. package/dist/modules/business_rules/data/validators.js.map +2 -2
  51. package/dist/modules/business_rules/lib/rule-engine.js +5 -3
  52. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  53. package/dist/modules/catalog/commands/products.js +5 -0
  54. package/dist/modules/catalog/commands/products.js.map +2 -2
  55. package/dist/modules/catalog/workflows.js +19 -0
  56. package/dist/modules/catalog/workflows.js.map +7 -0
  57. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js +3 -1
  58. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js.map +2 -2
  59. package/dist/modules/customer_accounts/cli.js +80 -0
  60. package/dist/modules/customer_accounts/cli.js.map +7 -0
  61. package/dist/modules/customer_accounts/lib/customerRoleAclSync.js +59 -0
  62. package/dist/modules/customer_accounts/lib/customerRoleAclSync.js.map +7 -0
  63. package/dist/modules/customer_accounts/setup.js +4 -2
  64. package/dist/modules/customer_accounts/setup.js.map +2 -2
  65. package/dist/modules/customers/commands/deals.js +4 -0
  66. package/dist/modules/customers/commands/deals.js.map +2 -2
  67. package/dist/modules/customers/components/detail/ChangelogEntryRow.js +1 -1
  68. package/dist/modules/customers/components/detail/ChangelogEntryRow.js.map +2 -2
  69. package/dist/modules/customers/components/detail/utils.js +2 -0
  70. package/dist/modules/customers/components/detail/utils.js.map +2 -2
  71. package/dist/modules/customers/events.js +13 -2
  72. package/dist/modules/customers/events.js.map +2 -2
  73. package/dist/modules/customers/lib/link-workflow-task-handler.js +64 -0
  74. package/dist/modules/customers/lib/link-workflow-task-handler.js.map +7 -0
  75. package/dist/modules/customers/lib/todoCompatibility.js +1 -1
  76. package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
  77. package/dist/modules/customers/lib/workflowTaskLink.js +9 -0
  78. package/dist/modules/customers/lib/workflowTaskLink.js.map +7 -0
  79. package/dist/modules/customers/subscribers/link-workflow-task.js +12 -0
  80. package/dist/modules/customers/subscribers/link-workflow-task.js.map +7 -0
  81. package/dist/modules/customers/workflows.js +29 -0
  82. package/dist/modules/customers/workflows.js.map +7 -0
  83. package/dist/modules/entities/api/records.js +13 -33
  84. package/dist/modules/entities/api/records.js.map +3 -3
  85. package/dist/modules/entities/lib/entityClassification.js +60 -0
  86. package/dist/modules/entities/lib/entityClassification.js.map +7 -0
  87. package/dist/modules/sales/commands/documents.js +31 -0
  88. package/dist/modules/sales/commands/documents.js.map +2 -2
  89. package/dist/modules/sales/events.js +12 -1
  90. package/dist/modules/sales/events.js.map +2 -2
  91. package/dist/modules/sales/workflows.js +12 -1
  92. package/dist/modules/sales/workflows.js.map +2 -2
  93. package/dist/modules/seeds/cli.js +199 -0
  94. package/dist/modules/seeds/cli.js.map +7 -0
  95. package/dist/modules/seeds/examples/sample-seed.json +26 -0
  96. package/dist/modules/seeds/index.js +12 -0
  97. package/dist/modules/seeds/index.js.map +7 -0
  98. package/dist/modules/workflows/acl.js +96 -0
  99. package/dist/modules/workflows/acl.js.map +2 -2
  100. package/dist/modules/workflows/ai-agents.js +50 -0
  101. package/dist/modules/workflows/ai-agents.js.map +7 -0
  102. package/dist/modules/workflows/ai-tools/authoring-pack.js +582 -0
  103. package/dist/modules/workflows/ai-tools/authoring-pack.js.map +7 -0
  104. package/dist/modules/workflows/ai-tools/types.js +43 -0
  105. package/dist/modules/workflows/ai-tools/types.js.map +7 -0
  106. package/dist/modules/workflows/ai-tools.js +10 -0
  107. package/dist/modules/workflows/ai-tools.js.map +7 -0
  108. package/dist/modules/workflows/api/command-settings/route.js +137 -0
  109. package/dist/modules/workflows/api/command-settings/route.js.map +7 -0
  110. package/dist/modules/workflows/api/commands/route.js +72 -0
  111. package/dist/modules/workflows/api/commands/route.js.map +7 -0
  112. package/dist/modules/workflows/api/definitions/[id]/callers/route.js +76 -0
  113. package/dist/modules/workflows/api/definitions/[id]/callers/route.js.map +7 -0
  114. package/dist/modules/workflows/api/definitions/[id]/context-schema/route.js +134 -0
  115. package/dist/modules/workflows/api/definitions/[id]/context-schema/route.js.map +7 -0
  116. package/dist/modules/workflows/api/definitions/[id]/customize/route.js +5 -1
  117. package/dist/modules/workflows/api/definitions/[id]/customize/route.js.map +2 -2
  118. package/dist/modules/workflows/api/definitions/[id]/draft/route.js +286 -0
  119. package/dist/modules/workflows/api/definitions/[id]/draft/route.js.map +7 -0
  120. package/dist/modules/workflows/api/definitions/[id]/publish/route.js +207 -0
  121. package/dist/modules/workflows/api/definitions/[id]/publish/route.js.map +7 -0
  122. package/dist/modules/workflows/api/definitions/[id]/reset-to-code/route.js +5 -0
  123. package/dist/modules/workflows/api/definitions/[id]/reset-to-code/route.js.map +2 -2
  124. package/dist/modules/workflows/api/definitions/[id]/route.js +93 -9
  125. package/dist/modules/workflows/api/definitions/[id]/route.js.map +3 -3
  126. package/dist/modules/workflows/api/definitions/[id]/test-step/route.js +210 -0
  127. package/dist/modules/workflows/api/definitions/[id]/test-step/route.js.map +7 -0
  128. package/dist/modules/workflows/api/definitions/generate/route.js +233 -0
  129. package/dist/modules/workflows/api/definitions/generate/route.js.map +7 -0
  130. package/dist/modules/workflows/api/definitions/route.js +61 -113
  131. package/dist/modules/workflows/api/definitions/route.js.map +2 -2
  132. package/dist/modules/workflows/api/definitions/serialize.js +9 -0
  133. package/dist/modules/workflows/api/definitions/serialize.js.map +2 -2
  134. package/dist/modules/workflows/api/endpoints/route.js +69 -0
  135. package/dist/modules/workflows/api/endpoints/route.js.map +7 -0
  136. package/dist/modules/workflows/api/functions/route.js +73 -0
  137. package/dist/modules/workflows/api/functions/route.js.map +7 -0
  138. package/dist/modules/workflows/api/grantable-features/route.js +75 -0
  139. package/dist/modules/workflows/api/grantable-features/route.js.map +7 -0
  140. package/dist/modules/workflows/api/instances/[id]/context/route.js +180 -0
  141. package/dist/modules/workflows/api/instances/[id]/context/route.js.map +7 -0
  142. package/dist/modules/workflows/api/instances/[id]/rerun-step/route.js +184 -0
  143. package/dist/modules/workflows/api/instances/[id]/rerun-step/route.js.map +7 -0
  144. package/dist/modules/workflows/api/instances/[id]/retry/route.js +12 -2
  145. package/dist/modules/workflows/api/instances/[id]/retry/route.js.map +2 -2
  146. package/dist/modules/workflows/api/instances/[id]/step-through/route.js +148 -0
  147. package/dist/modules/workflows/api/instances/[id]/step-through/route.js.map +7 -0
  148. package/dist/modules/workflows/api/instances/[id]/steps/route.js +123 -0
  149. package/dist/modules/workflows/api/instances/[id]/steps/route.js.map +7 -0
  150. package/dist/modules/workflows/api/instances/[id]/would-do/route.js +172 -0
  151. package/dist/modules/workflows/api/instances/[id]/would-do/route.js.map +7 -0
  152. package/dist/modules/workflows/api/instances/bulk-replay/route.js +117 -0
  153. package/dist/modules/workflows/api/instances/bulk-replay/route.js.map +7 -0
  154. package/dist/modules/workflows/api/instances/failure-queue/route.js +165 -0
  155. package/dist/modules/workflows/api/instances/failure-queue/route.js.map +7 -0
  156. package/dist/modules/workflows/api/instances/route.js +94 -3
  157. package/dist/modules/workflows/api/instances/route.js.map +2 -2
  158. package/dist/modules/workflows/api/metrics/definitions/route.js +188 -0
  159. package/dist/modules/workflows/api/metrics/definitions/route.js.map +7 -0
  160. package/dist/modules/workflows/api/openapi.js +415 -4
  161. package/dist/modules/workflows/api/openapi.js.map +2 -2
  162. package/dist/modules/workflows/api/portal/tasks/[id]/complete/route.js +132 -0
  163. package/dist/modules/workflows/api/portal/tasks/[id]/complete/route.js.map +7 -0
  164. package/dist/modules/workflows/api/portal/tasks/[id]/route.js +97 -0
  165. package/dist/modules/workflows/api/portal/tasks/[id]/route.js.map +7 -0
  166. package/dist/modules/workflows/api/portal/tasks/route.js +126 -0
  167. package/dist/modules/workflows/api/portal/tasks/route.js.map +7 -0
  168. package/dist/modules/workflows/api/rule-usage/route.js +80 -0
  169. package/dist/modules/workflows/api/rule-usage/route.js.map +7 -0
  170. package/dist/modules/workflows/api/task-settings/route.js +107 -0
  171. package/dist/modules/workflows/api/task-settings/route.js.map +7 -0
  172. package/dist/modules/workflows/api/tasks/[id]/claim/route.js +27 -16
  173. package/dist/modules/workflows/api/tasks/[id]/claim/route.js.map +2 -2
  174. package/dist/modules/workflows/api/tasks/[id]/complete/route.js +40 -16
  175. package/dist/modules/workflows/api/tasks/[id]/complete/route.js.map +2 -2
  176. package/dist/modules/workflows/api/tasks/[id]/reassign/route.js +150 -0
  177. package/dist/modules/workflows/api/tasks/[id]/reassign/route.js.map +7 -0
  178. package/dist/modules/workflows/api/tasks/[id]/route.js +39 -6
  179. package/dist/modules/workflows/api/tasks/[id]/route.js.map +2 -2
  180. package/dist/modules/workflows/api/tasks/[id]/unclaim/route.js +100 -0
  181. package/dist/modules/workflows/api/tasks/[id]/unclaim/route.js.map +7 -0
  182. package/dist/modules/workflows/api/tasks/route.js +37 -6
  183. package/dist/modules/workflows/api/tasks/route.js.map +2 -2
  184. package/dist/modules/workflows/api/tasks/serialize.js +83 -0
  185. package/dist/modules/workflows/api/tasks/serialize.js.map +7 -0
  186. package/dist/modules/workflows/api/templates/route.js +69 -0
  187. package/dist/modules/workflows/api/templates/route.js.map +7 -0
  188. package/dist/modules/workflows/api/work-inbox/next/route.js +129 -0
  189. package/dist/modules/workflows/api/work-inbox/next/route.js.map +7 -0
  190. package/dist/modules/workflows/api/work-inbox/route.js +119 -0
  191. package/dist/modules/workflows/api/work-inbox/route.js.map +7 -0
  192. package/dist/modules/workflows/backend/config/workflows/page.js +10 -0
  193. package/dist/modules/workflows/backend/config/workflows/page.js.map +7 -0
  194. package/dist/modules/workflows/backend/config/workflows/page.meta.js +35 -0
  195. package/dist/modules/workflows/backend/config/workflows/page.meta.js.map +7 -0
  196. package/dist/modules/workflows/backend/definitions/[id]/page.js +6 -271
  197. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +3 -3
  198. package/dist/modules/workflows/backend/definitions/create/page.js +7 -56
  199. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  200. package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
  201. package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
  202. package/dist/modules/workflows/backend/definitions/page.js +131 -51
  203. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  204. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +2606 -677
  205. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +3 -3
  206. package/dist/modules/workflows/backend/instances/[id]/page.js +532 -421
  207. package/dist/modules/workflows/backend/instances/[id]/page.js.map +2 -2
  208. package/dist/modules/workflows/backend/instances/[id]/page.meta.js +1 -1
  209. package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +1 -1
  210. package/dist/modules/workflows/backend/instances/failure-queue/page.js +211 -0
  211. package/dist/modules/workflows/backend/instances/failure-queue/page.js.map +7 -0
  212. package/dist/modules/workflows/backend/instances/failure-queue/page.meta.js +20 -0
  213. package/dist/modules/workflows/backend/instances/failure-queue/page.meta.js.map +7 -0
  214. package/dist/modules/workflows/backend/instances/page.js +159 -22
  215. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  216. package/dist/modules/workflows/backend/instances/page.meta.js +1 -1
  217. package/dist/modules/workflows/backend/instances/page.meta.js.map +1 -1
  218. package/dist/modules/workflows/backend/tasks/[id]/page.js +553 -392
  219. package/dist/modules/workflows/backend/tasks/[id]/page.js.map +3 -3
  220. package/dist/modules/workflows/backend/tasks/page.js +8 -250
  221. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  222. package/dist/modules/workflows/backend/tasks/page.meta.js +1 -0
  223. package/dist/modules/workflows/backend/tasks/page.meta.js.map +2 -2
  224. package/dist/modules/workflows/backend/work-inbox/page.js +399 -0
  225. package/dist/modules/workflows/backend/work-inbox/page.js.map +7 -0
  226. package/dist/modules/workflows/backend/work-inbox/page.meta.js +19 -0
  227. package/dist/modules/workflows/backend/work-inbox/page.meta.js.map +7 -0
  228. package/dist/modules/workflows/cli.js +1 -1
  229. package/dist/modules/workflows/cli.js.map +2 -2
  230. package/dist/modules/workflows/commands/tasks.js +81 -0
  231. package/dist/modules/workflows/commands/tasks.js.map +7 -0
  232. package/dist/modules/workflows/components/ActivitiesEditor.js +281 -287
  233. package/dist/modules/workflows/components/ActivitiesEditor.js.map +2 -2
  234. package/dist/modules/workflows/components/ActivityEditDialog.js +220 -0
  235. package/dist/modules/workflows/components/ActivityEditDialog.js.map +7 -0
  236. package/dist/modules/workflows/components/AgentSelector.js +115 -0
  237. package/dist/modules/workflows/components/AgentSelector.js.map +7 -0
  238. package/dist/modules/workflows/components/AnnotationEditDialog.js +110 -0
  239. package/dist/modules/workflows/components/AnnotationEditDialog.js.map +7 -0
  240. package/dist/modules/workflows/components/BusinessRuleUsagePanel.js +71 -0
  241. package/dist/modules/workflows/components/BusinessRuleUsagePanel.js.map +7 -0
  242. package/dist/modules/workflows/components/BusinessRulesSelector.js +151 -93
  243. package/dist/modules/workflows/components/BusinessRulesSelector.js.map +2 -2
  244. package/dist/modules/workflows/components/ConfigJsonTextarea.js +85 -0
  245. package/dist/modules/workflows/components/ConfigJsonTextarea.js.map +7 -0
  246. package/dist/modules/workflows/components/ContextSchemaEditor.js +150 -0
  247. package/dist/modules/workflows/components/ContextSchemaEditor.js.map +7 -0
  248. package/dist/modules/workflows/components/DefinitionErrorHandlerField.js +102 -0
  249. package/dist/modules/workflows/components/DefinitionErrorHandlerField.js.map +7 -0
  250. package/dist/modules/workflows/components/DefinitionMetadataDrawer.js +377 -0
  251. package/dist/modules/workflows/components/DefinitionMetadataDrawer.js.map +7 -0
  252. package/dist/modules/workflows/components/DefinitionMetricsCells.js +132 -0
  253. package/dist/modules/workflows/components/DefinitionMetricsCells.js.map +7 -0
  254. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +307 -216
  255. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +2 -2
  256. package/dist/modules/workflows/components/EdgeEditDialog.js +11 -18
  257. package/dist/modules/workflows/components/EdgeEditDialog.js.map +2 -2
  258. package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js +112 -72
  259. package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js.map +2 -2
  260. package/dist/modules/workflows/components/InputDataPanel.js +128 -0
  261. package/dist/modules/workflows/components/InputDataPanel.js.map +7 -0
  262. package/dist/modules/workflows/components/InspectorPanel.js +161 -0
  263. package/dist/modules/workflows/components/InspectorPanel.js.map +7 -0
  264. package/dist/modules/workflows/components/NodeEditDialog.js +363 -41
  265. package/dist/modules/workflows/components/NodeEditDialog.js.map +2 -2
  266. package/dist/modules/workflows/components/NodeEditDialogCrudForm.js +714 -159
  267. package/dist/modules/workflows/components/NodeEditDialogCrudForm.js.map +2 -2
  268. package/dist/modules/workflows/components/StepsEditor.js.map +2 -2
  269. package/dist/modules/workflows/components/TemplateGalleryDialog.js +148 -0
  270. package/dist/modules/workflows/components/TemplateGalleryDialog.js.map +7 -0
  271. package/dist/modules/workflows/components/TransitionsEditor.js +80 -74
  272. package/dist/modules/workflows/components/TransitionsEditor.js.map +2 -2
  273. package/dist/modules/workflows/components/TriggersDialog.js +53 -0
  274. package/dist/modules/workflows/components/TriggersDialog.js.map +7 -0
  275. package/dist/modules/workflows/components/TriggersEditor.js +331 -0
  276. package/dist/modules/workflows/components/TriggersEditor.js.map +7 -0
  277. package/dist/modules/workflows/components/WorkflowAiDraftDialog.js +278 -0
  278. package/dist/modules/workflows/components/WorkflowAiDraftDialog.js.map +7 -0
  279. package/dist/modules/workflows/components/WorkflowCodeView.js +173 -0
  280. package/dist/modules/workflows/components/WorkflowCodeView.js.map +7 -0
  281. package/dist/modules/workflows/components/WorkflowCommandPalette.js +62 -0
  282. package/dist/modules/workflows/components/WorkflowCommandPalette.js.map +7 -0
  283. package/dist/modules/workflows/components/WorkflowCompensationGhostEdge.js +70 -0
  284. package/dist/modules/workflows/components/WorkflowCompensationGhostEdge.js.map +7 -0
  285. package/dist/modules/workflows/components/WorkflowDataMappingEdge.js +36 -0
  286. package/dist/modules/workflows/components/WorkflowDataMappingEdge.js.map +7 -0
  287. package/dist/modules/workflows/components/WorkflowGraph.js +4 -2
  288. package/dist/modules/workflows/components/WorkflowGraph.js.map +2 -2
  289. package/dist/modules/workflows/components/WorkflowGraphImpl.js +324 -86
  290. package/dist/modules/workflows/components/WorkflowGraphImpl.js.map +3 -3
  291. package/dist/modules/workflows/components/WorkflowIconPicker.js +109 -0
  292. package/dist/modules/workflows/components/WorkflowIconPicker.js.map +7 -0
  293. package/dist/modules/workflows/components/WorkflowLegend.js +45 -29
  294. package/dist/modules/workflows/components/WorkflowLegend.js.map +2 -2
  295. package/dist/modules/workflows/components/WorkflowNodeCard.js +221 -22
  296. package/dist/modules/workflows/components/WorkflowNodeCard.js.map +2 -2
  297. package/dist/modules/workflows/components/WorkflowRouteChips.js +111 -0
  298. package/dist/modules/workflows/components/WorkflowRouteChips.js.map +7 -0
  299. package/dist/modules/workflows/components/WorkflowSelector.js +108 -88
  300. package/dist/modules/workflows/components/WorkflowSelector.js.map +2 -2
  301. package/dist/modules/workflows/components/WorkflowTransitionEdge.js +61 -11
  302. package/dist/modules/workflows/components/WorkflowTransitionEdge.js.map +2 -2
  303. package/dist/modules/workflows/components/WorkflowTransitionLabel.js +15 -5
  304. package/dist/modules/workflows/components/WorkflowTransitionLabel.js.map +2 -2
  305. package/dist/modules/workflows/components/fields/ActivityArrayEditor.js +88 -21
  306. package/dist/modules/workflows/components/fields/ActivityArrayEditor.js.map +2 -2
  307. package/dist/modules/workflows/components/fields/ActivityConfigFields.js +615 -0
  308. package/dist/modules/workflows/components/fields/ActivityConfigFields.js.map +7 -0
  309. package/dist/modules/workflows/components/fields/ActivityTestPanel.js +191 -0
  310. package/dist/modules/workflows/components/fields/ActivityTestPanel.js.map +7 -0
  311. package/dist/modules/workflows/components/fields/AgentInvokeConfigField.js +488 -0
  312. package/dist/modules/workflows/components/fields/AgentInvokeConfigField.js.map +7 -0
  313. package/dist/modules/workflows/components/fields/AgentReviewOnBreachField.js +61 -0
  314. package/dist/modules/workflows/components/fields/AgentReviewOnBreachField.js.map +7 -0
  315. package/dist/modules/workflows/components/fields/BranchingRoutesEditor.js +227 -0
  316. package/dist/modules/workflows/components/fields/BranchingRoutesEditor.js.map +7 -0
  317. package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js +37 -4
  318. package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js.map +2 -2
  319. package/dist/modules/workflows/components/fields/CommandPicker.js +111 -0
  320. package/dist/modules/workflows/components/fields/CommandPicker.js.map +7 -0
  321. package/dist/modules/workflows/components/fields/EndpointPicker.js +235 -0
  322. package/dist/modules/workflows/components/fields/EndpointPicker.js.map +7 -0
  323. package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js +2 -2
  324. package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js.map +2 -2
  325. package/dist/modules/workflows/components/fields/FunctionPicker.js +55 -0
  326. package/dist/modules/workflows/components/fields/FunctionPicker.js.map +7 -0
  327. package/dist/modules/workflows/components/fields/MappingArrayEditor.js +38 -15
  328. package/dist/modules/workflows/components/fields/MappingArrayEditor.js.map +2 -2
  329. package/dist/modules/workflows/components/fields/PortFieldArrayEditor.js +206 -0
  330. package/dist/modules/workflows/components/fields/PortFieldArrayEditor.js.map +7 -0
  331. package/dist/modules/workflows/components/fields/RolesMultiSelect.js +53 -0
  332. package/dist/modules/workflows/components/fields/RolesMultiSelect.js.map +7 -0
  333. package/dist/modules/workflows/components/fields/RouteOrderEditor.js +130 -0
  334. package/dist/modules/workflows/components/fields/RouteOrderEditor.js.map +7 -0
  335. package/dist/modules/workflows/components/fields/SchemaBuilderDialog.js +104 -0
  336. package/dist/modules/workflows/components/fields/SchemaBuilderDialog.js.map +7 -0
  337. package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js +2 -2
  338. package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js.map +2 -2
  339. package/dist/modules/workflows/components/fields/TaskAssignmentField.js +210 -0
  340. package/dist/modules/workflows/components/fields/TaskAssignmentField.js.map +7 -0
  341. package/dist/modules/workflows/components/fields/TaskDeadlineFields.js +126 -0
  342. package/dist/modules/workflows/components/fields/TaskDeadlineFields.js.map +7 -0
  343. package/dist/modules/workflows/components/fields/TaskDecisionsField.js +218 -0
  344. package/dist/modules/workflows/components/fields/TaskDecisionsField.js.map +7 -0
  345. package/dist/modules/workflows/components/fields/TaskEntityBindingsField.js +114 -0
  346. package/dist/modules/workflows/components/fields/TaskEntityBindingsField.js.map +7 -0
  347. package/dist/modules/workflows/components/fields/TemplateTextControl.js +64 -0
  348. package/dist/modules/workflows/components/fields/TemplateTextControl.js.map +7 -0
  349. package/dist/modules/workflows/components/fields/VariablePickerButton.js +121 -0
  350. package/dist/modules/workflows/components/fields/VariablePickerButton.js.map +7 -0
  351. package/dist/modules/workflows/components/fields/ledgerDropTarget.js +35 -0
  352. package/dist/modules/workflows/components/fields/ledgerDropTarget.js.map +7 -0
  353. package/dist/modules/workflows/components/fields/useActivityTypeOptions.js +16 -0
  354. package/dist/modules/workflows/components/fields/useActivityTypeOptions.js.map +7 -0
  355. package/dist/modules/workflows/components/formConfig.js +39 -10
  356. package/dist/modules/workflows/components/formConfig.js.map +2 -2
  357. package/dist/modules/workflows/components/mobile/MobileDefinitionDetail.js.map +2 -2
  358. package/dist/modules/workflows/components/mobile/MobileMetadataSheet.js.map +2 -2
  359. package/dist/modules/workflows/components/mobile/MobileTaskForm.js +29 -2
  360. package/dist/modules/workflows/components/mobile/MobileTaskForm.js.map +2 -2
  361. package/dist/modules/workflows/components/mobile/MobileVisualEditor.js +64 -65
  362. package/dist/modules/workflows/components/mobile/MobileVisualEditor.js.map +2 -2
  363. package/dist/modules/workflows/components/nodes/AnnotationGroupNode.js +64 -0
  364. package/dist/modules/workflows/components/nodes/AnnotationGroupNode.js.map +7 -0
  365. package/dist/modules/workflows/components/nodes/AutomatedNode.js +24 -16
  366. package/dist/modules/workflows/components/nodes/AutomatedNode.js.map +2 -2
  367. package/dist/modules/workflows/components/nodes/EndNode.js +13 -12
  368. package/dist/modules/workflows/components/nodes/EndNode.js.map +2 -2
  369. package/dist/modules/workflows/components/nodes/ErrorOutputHandle.js +29 -0
  370. package/dist/modules/workflows/components/nodes/ErrorOutputHandle.js.map +7 -0
  371. package/dist/modules/workflows/components/nodes/IfElseNode.js +51 -0
  372. package/dist/modules/workflows/components/nodes/IfElseNode.js.map +7 -0
  373. package/dist/modules/workflows/components/nodes/InvokeAgentNode.js +122 -0
  374. package/dist/modules/workflows/components/nodes/InvokeAgentNode.js.map +7 -0
  375. package/dist/modules/workflows/components/nodes/NodeOutcomeRows.js +100 -0
  376. package/dist/modules/workflows/components/nodes/NodeOutcomeRows.js.map +7 -0
  377. package/dist/modules/workflows/components/nodes/ParallelForkNode.js +18 -14
  378. package/dist/modules/workflows/components/nodes/ParallelForkNode.js.map +2 -2
  379. package/dist/modules/workflows/components/nodes/ParallelJoinNode.js +18 -14
  380. package/dist/modules/workflows/components/nodes/ParallelJoinNode.js.map +2 -2
  381. package/dist/modules/workflows/components/nodes/StartNode.js +66 -15
  382. package/dist/modules/workflows/components/nodes/StartNode.js.map +2 -2
  383. package/dist/modules/workflows/components/nodes/StickyNoteNode.js +54 -0
  384. package/dist/modules/workflows/components/nodes/StickyNoteNode.js.map +7 -0
  385. package/dist/modules/workflows/components/nodes/SubWorkflowNode.js +107 -41
  386. package/dist/modules/workflows/components/nodes/SubWorkflowNode.js.map +2 -2
  387. package/dist/modules/workflows/components/nodes/SwitchNode.js +51 -0
  388. package/dist/modules/workflows/components/nodes/SwitchNode.js.map +7 -0
  389. package/dist/modules/workflows/components/nodes/TriggerCap.js +65 -0
  390. package/dist/modules/workflows/components/nodes/TriggerCap.js.map +7 -0
  391. package/dist/modules/workflows/components/nodes/TriggerNode.js +111 -0
  392. package/dist/modules/workflows/components/nodes/TriggerNode.js.map +7 -0
  393. package/dist/modules/workflows/components/nodes/UserTaskNode.js +43 -17
  394. package/dist/modules/workflows/components/nodes/UserTaskNode.js.map +2 -2
  395. package/dist/modules/workflows/components/nodes/WaitForConditionNode.js +53 -0
  396. package/dist/modules/workflows/components/nodes/WaitForConditionNode.js.map +7 -0
  397. package/dist/modules/workflows/components/nodes/WaitForSignalNode.js +21 -15
  398. package/dist/modules/workflows/components/nodes/WaitForSignalNode.js.map +2 -2
  399. package/dist/modules/workflows/components/nodes/WaitForTimerNode.js +21 -15
  400. package/dist/modules/workflows/components/nodes/WaitForTimerNode.js.map +2 -2
  401. package/dist/modules/workflows/components/nodes/index.js +14 -0
  402. package/dist/modules/workflows/components/nodes/index.js.map +2 -2
  403. package/dist/modules/workflows/components/portal/PortalTaskForm.js +196 -0
  404. package/dist/modules/workflows/components/portal/PortalTaskForm.js.map +7 -0
  405. package/dist/modules/workflows/components/run/AgentActivityPanel.js +22 -0
  406. package/dist/modules/workflows/components/run/AgentActivityPanel.js.map +7 -0
  407. package/dist/modules/workflows/components/run/RerunStepDialog.js +106 -0
  408. package/dist/modules/workflows/components/run/RerunStepDialog.js.map +7 -0
  409. package/dist/modules/workflows/components/run/RunEventBadge.js +30 -0
  410. package/dist/modules/workflows/components/run/RunEventBadge.js.map +7 -0
  411. package/dist/modules/workflows/components/run/RunGantt.js +130 -0
  412. package/dist/modules/workflows/components/run/RunGantt.js.map +7 -0
  413. package/dist/modules/workflows/components/run/RunStatusBadge.js +82 -0
  414. package/dist/modules/workflows/components/run/RunStatusBadge.js.map +7 -0
  415. package/dist/modules/workflows/components/run/RunStepInspector.js +116 -0
  416. package/dist/modules/workflows/components/run/RunStepInspector.js.map +7 -0
  417. package/dist/modules/workflows/components/run/WouldDoReport.js +52 -0
  418. package/dist/modules/workflows/components/run/WouldDoReport.js.map +7 -0
  419. package/dist/modules/workflows/components/run/useAgentLabels.js +28 -0
  420. package/dist/modules/workflows/components/run/useAgentLabels.js.map +7 -0
  421. package/dist/modules/workflows/components/run/useLastRunOverlay.js +89 -0
  422. package/dist/modules/workflows/components/run/useLastRunOverlay.js.map +7 -0
  423. package/dist/modules/workflows/components/run/useLiveAgentActions.js +41 -0
  424. package/dist/modules/workflows/components/run/useLiveAgentActions.js.map +7 -0
  425. package/dist/modules/workflows/components/run/useLiveRunUpdates.js +57 -0
  426. package/dist/modules/workflows/components/run/useLiveRunUpdates.js.map +7 -0
  427. package/dist/modules/workflows/components/settings/CommandSettingsPageClient.js +156 -0
  428. package/dist/modules/workflows/components/settings/CommandSettingsPageClient.js.map +7 -0
  429. package/dist/modules/workflows/components/work-inbox/EntityContextPanel.js +72 -0
  430. package/dist/modules/workflows/components/work-inbox/EntityContextPanel.js.map +7 -0
  431. package/dist/modules/workflows/components/work-inbox/ReassignTaskDialog.js +156 -0
  432. package/dist/modules/workflows/components/work-inbox/ReassignTaskDialog.js.map +7 -0
  433. package/dist/modules/workflows/components/work-inbox/StatusChip.js +46 -0
  434. package/dist/modules/workflows/components/work-inbox/StatusChip.js.map +7 -0
  435. package/dist/modules/workflows/components/work-inbox/TaskActionNotice.js +53 -0
  436. package/dist/modules/workflows/components/work-inbox/TaskActionNotice.js.map +7 -0
  437. package/dist/modules/workflows/components/work-inbox/TaskFormFields.js +261 -0
  438. package/dist/modules/workflows/components/work-inbox/TaskFormFields.js.map +7 -0
  439. package/dist/modules/workflows/components/work-inbox/WorkInboxEmptyState.js +27 -0
  440. package/dist/modules/workflows/components/work-inbox/WorkInboxEmptyState.js.map +7 -0
  441. package/dist/modules/workflows/data/activity-config-schemas.js +191 -0
  442. package/dist/modules/workflows/data/activity-config-schemas.js.map +7 -0
  443. package/dist/modules/workflows/data/activity-config-warnings.js +42 -0
  444. package/dist/modules/workflows/data/activity-config-warnings.js.map +7 -0
  445. package/dist/modules/workflows/data/branching-route-warnings.js +65 -0
  446. package/dist/modules/workflows/data/branching-route-warnings.js.map +7 -0
  447. package/dist/modules/workflows/data/entities.js +144 -4
  448. package/dist/modules/workflows/data/entities.js.map +2 -2
  449. package/dist/modules/workflows/data/metrics-validators.js +35 -0
  450. package/dist/modules/workflows/data/metrics-validators.js.map +7 -0
  451. package/dist/modules/workflows/data/task-primitives.js +14 -0
  452. package/dist/modules/workflows/data/task-primitives.js.map +7 -0
  453. package/dist/modules/workflows/data/validators.js +504 -61
  454. package/dist/modules/workflows/data/validators.js.map +3 -3
  455. package/dist/modules/workflows/di.js +16 -1
  456. package/dist/modules/workflows/di.js.map +2 -2
  457. package/dist/modules/workflows/events.js +66 -8
  458. package/dist/modules/workflows/events.js.map +2 -2
  459. package/dist/modules/workflows/examples/oze-residential-install-60-nodes.json +1545 -0
  460. package/dist/modules/workflows/examples/sales-pipeline-definition.json +35 -35
  461. package/dist/modules/workflows/examples/templates/lead-to-install.json +160 -0
  462. package/dist/modules/workflows/examples/templates/order-approval.json +230 -0
  463. package/dist/modules/workflows/examples/templates/task-escalation.json +110 -0
  464. package/dist/modules/workflows/examples/templates/webhook-integration.json +113 -0
  465. package/dist/modules/workflows/extension-points.js +1 -1
  466. package/dist/modules/workflows/extension-points.js.map +2 -2
  467. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.js +144 -0
  468. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.js.map +7 -0
  469. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.meta.js +12 -0
  470. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.meta.js.map +7 -0
  471. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/page.js +114 -0
  472. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/page.js.map +7 -0
  473. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/page.meta.js +18 -0
  474. package/dist/modules/workflows/frontend/[orgSlug]/portal/tasks/page.meta.js.map +7 -0
  475. package/dist/modules/workflows/lib/activity-executor.js +505 -137
  476. package/dist/modules/workflows/lib/activity-executor.js.map +3 -3
  477. package/dist/modules/workflows/lib/activity-queue-types.js +3 -1
  478. package/dist/modules/workflows/lib/activity-queue-types.js.map +2 -2
  479. package/dist/modules/workflows/lib/activity-registry-bootstrap.js +2 -0
  480. package/dist/modules/workflows/lib/activity-registry-bootstrap.js.map +7 -0
  481. package/dist/modules/workflows/lib/activity-registry.js +27 -0
  482. package/dist/modules/workflows/lib/activity-registry.js.map +7 -0
  483. package/dist/modules/workflows/lib/activity-types.js +291 -0
  484. package/dist/modules/workflows/lib/activity-types.js.map +7 -0
  485. package/dist/modules/workflows/lib/activity-worker-handler.js +456 -32
  486. package/dist/modules/workflows/lib/activity-worker-handler.js.map +3 -3
  487. package/dist/modules/workflows/lib/advanced-config.js +31 -0
  488. package/dist/modules/workflows/lib/advanced-config.js.map +7 -0
  489. package/dist/modules/workflows/lib/agent-disposition-task.js +198 -0
  490. package/dist/modules/workflows/lib/agent-disposition-task.js.map +7 -0
  491. package/dist/modules/workflows/lib/agent-outcome-paths.js +82 -0
  492. package/dist/modules/workflows/lib/agent-outcome-paths.js.map +7 -0
  493. package/dist/modules/workflows/lib/agent-result-mapping.js +54 -0
  494. package/dist/modules/workflows/lib/agent-result-mapping.js.map +7 -0
  495. package/dist/modules/workflows/lib/agent-review-inspector.js +61 -0
  496. package/dist/modules/workflows/lib/agent-review-inspector.js.map +7 -0
  497. package/dist/modules/workflows/lib/agent-review.js +66 -0
  498. package/dist/modules/workflows/lib/agent-review.js.map +7 -0
  499. package/dist/modules/workflows/lib/ai-authoring.js +155 -0
  500. package/dist/modules/workflows/lib/ai-authoring.js.map +7 -0
  501. package/dist/modules/workflows/lib/ai-draft-runner.js +43 -0
  502. package/dist/modules/workflows/lib/ai-draft-runner.js.map +7 -0
  503. package/dist/modules/workflows/lib/annotation-events.js +10 -0
  504. package/dist/modules/workflows/lib/annotation-events.js.map +7 -0
  505. package/dist/modules/workflows/lib/branching-routes.js +182 -0
  506. package/dist/modules/workflows/lib/branching-routes.js.map +7 -0
  507. package/dist/modules/workflows/lib/breach-routing.js +50 -0
  508. package/dist/modules/workflows/lib/breach-routing.js.map +7 -0
  509. package/dist/modules/workflows/lib/bulk-replay.js +101 -0
  510. package/dist/modules/workflows/lib/bulk-replay.js.map +7 -0
  511. package/dist/modules/workflows/lib/business-rule-usage.js +91 -0
  512. package/dist/modules/workflows/lib/business-rule-usage.js.map +7 -0
  513. package/dist/modules/workflows/lib/caller-graph.js +53 -0
  514. package/dist/modules/workflows/lib/caller-graph.js.map +7 -0
  515. package/dist/modules/workflows/lib/code-view-apply.js +86 -0
  516. package/dist/modules/workflows/lib/code-view-apply.js.map +7 -0
  517. package/dist/modules/workflows/lib/collect-validation-issues.js +164 -0
  518. package/dist/modules/workflows/lib/collect-validation-issues.js.map +7 -0
  519. package/dist/modules/workflows/lib/compensation-ghosts.js +72 -0
  520. package/dist/modules/workflows/lib/compensation-ghosts.js.map +7 -0
  521. package/dist/modules/workflows/lib/component-guard.js +7 -0
  522. package/dist/modules/workflows/lib/component-guard.js.map +7 -0
  523. package/dist/modules/workflows/lib/condition-handler.js +443 -0
  524. package/dist/modules/workflows/lib/condition-handler.js.map +7 -0
  525. package/dist/modules/workflows/lib/context-ledger.js +448 -0
  526. package/dist/modules/workflows/lib/context-ledger.js.map +7 -0
  527. package/dist/modules/workflows/lib/crud-form-dialogs-flag.js +8 -0
  528. package/dist/modules/workflows/lib/crud-form-dialogs-flag.js.map +7 -0
  529. package/dist/modules/workflows/lib/data-edge-mapping.js +63 -0
  530. package/dist/modules/workflows/lib/data-edge-mapping.js.map +7 -0
  531. package/dist/modules/workflows/lib/definition-context-schema.js +56 -0
  532. package/dist/modules/workflows/lib/definition-context-schema.js.map +7 -0
  533. package/dist/modules/workflows/lib/definition-edit-safety.js +123 -0
  534. package/dist/modules/workflows/lib/definition-edit-safety.js.map +7 -0
  535. package/dist/modules/workflows/lib/definition-error-body.js +33 -0
  536. package/dist/modules/workflows/lib/definition-error-body.js.map +7 -0
  537. package/dist/modules/workflows/lib/definition-evaluation.js +79 -0
  538. package/dist/modules/workflows/lib/definition-evaluation.js.map +7 -0
  539. package/dist/modules/workflows/lib/definition-grant.js +90 -0
  540. package/dist/modules/workflows/lib/definition-grant.js.map +7 -0
  541. package/dist/modules/workflows/lib/definition-json-locations.js +139 -0
  542. package/dist/modules/workflows/lib/definition-json-locations.js.map +7 -0
  543. package/dist/modules/workflows/lib/definition-payload.js +31 -0
  544. package/dist/modules/workflows/lib/definition-payload.js.map +7 -0
  545. package/dist/modules/workflows/lib/draft-restore.js +49 -0
  546. package/dist/modules/workflows/lib/draft-restore.js.map +7 -0
  547. package/dist/modules/workflows/lib/dry-run.js +106 -0
  548. package/dist/modules/workflows/lib/dry-run.js.map +7 -0
  549. package/dist/modules/workflows/lib/duration.js +66 -17
  550. package/dist/modules/workflows/lib/duration.js.map +2 -2
  551. package/dist/modules/workflows/lib/edge-reattachment.js +79 -0
  552. package/dist/modules/workflows/lib/edge-reattachment.js.map +7 -0
  553. package/dist/modules/workflows/lib/edgeFormTransforms.js +7 -11
  554. package/dist/modules/workflows/lib/edgeFormTransforms.js.map +2 -2
  555. package/dist/modules/workflows/lib/editor-annotations.js +195 -0
  556. package/dist/modules/workflows/lib/editor-annotations.js.map +7 -0
  557. package/dist/modules/workflows/lib/editor-commands.js +103 -0
  558. package/dist/modules/workflows/lib/editor-commands.js.map +7 -0
  559. package/dist/modules/workflows/lib/editor-history.js +51 -0
  560. package/dist/modules/workflows/lib/editor-history.js.map +7 -0
  561. package/dist/modules/workflows/lib/endpoint-catalog.js +181 -0
  562. package/dist/modules/workflows/lib/endpoint-catalog.js.map +7 -0
  563. package/dist/modules/workflows/lib/endpoint-path.js +90 -0
  564. package/dist/modules/workflows/lib/endpoint-path.js.map +7 -0
  565. package/dist/modules/workflows/lib/engine-version.js +42 -0
  566. package/dist/modules/workflows/lib/engine-version.js.map +7 -0
  567. package/dist/modules/workflows/lib/error-handler.js +132 -0
  568. package/dist/modules/workflows/lib/error-handler.js.map +7 -0
  569. package/dist/modules/workflows/lib/error-routing.js +104 -0
  570. package/dist/modules/workflows/lib/error-routing.js.map +7 -0
  571. package/dist/modules/workflows/lib/event-logger.js +23 -0
  572. package/dist/modules/workflows/lib/event-logger.js.map +2 -2
  573. package/dist/modules/workflows/lib/expression-refs.js +168 -0
  574. package/dist/modules/workflows/lib/expression-refs.js.map +7 -0
  575. package/dist/modules/workflows/lib/failure-grouping.js +62 -0
  576. package/dist/modules/workflows/lib/failure-grouping.js.map +7 -0
  577. package/dist/modules/workflows/lib/find-definition.js +1 -0
  578. package/dist/modules/workflows/lib/find-definition.js.map +2 -2
  579. package/dist/modules/workflows/lib/flow-logic-warnings.js +338 -0
  580. package/dist/modules/workflows/lib/flow-logic-warnings.js.map +7 -0
  581. package/dist/modules/workflows/lib/graph-utils.js +328 -77
  582. package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
  583. package/dist/modules/workflows/lib/icon-search.js +32 -0
  584. package/dist/modules/workflows/lib/icon-search.js.map +7 -0
  585. package/dist/modules/workflows/lib/insert-at-cursor.js +26 -0
  586. package/dist/modules/workflows/lib/insert-at-cursor.js.map +7 -0
  587. package/dist/modules/workflows/lib/instance-date-filter.js +28 -0
  588. package/dist/modules/workflows/lib/instance-date-filter.js.map +7 -0
  589. package/dist/modules/workflows/lib/interpolation-pipeline.js +271 -0
  590. package/dist/modules/workflows/lib/interpolation-pipeline.js.map +7 -0
  591. package/dist/modules/workflows/lib/ledger-drag.js +28 -0
  592. package/dist/modules/workflows/lib/ledger-drag.js.map +7 -0
  593. package/dist/modules/workflows/lib/ledger-entry-display.js +66 -0
  594. package/dist/modules/workflows/lib/ledger-entry-display.js.map +7 -0
  595. package/dist/modules/workflows/lib/ledger-schema-flatten.js +82 -0
  596. package/dist/modules/workflows/lib/ledger-schema-flatten.js.map +7 -0
  597. package/dist/modules/workflows/lib/metrics/definition-metrics.js +110 -0
  598. package/dist/modules/workflows/lib/metrics/definition-metrics.js.map +7 -0
  599. package/dist/modules/workflows/lib/metrics/metrics-display.js +26 -0
  600. package/dist/modules/workflows/lib/metrics/metrics-display.js.map +7 -0
  601. package/dist/modules/workflows/lib/metrics/rollup-schedule.js +7 -0
  602. package/dist/modules/workflows/lib/metrics/rollup-schedule.js.map +7 -0
  603. package/dist/modules/workflows/lib/metrics/rollup-service.js +160 -0
  604. package/dist/modules/workflows/lib/metrics/rollup-service.js.map +7 -0
  605. package/dist/modules/workflows/lib/node-config-summary.js +128 -0
  606. package/dist/modules/workflows/lib/node-config-summary.js.map +7 -0
  607. package/dist/modules/workflows/lib/node-geometry.js +53 -0
  608. package/dist/modules/workflows/lib/node-geometry.js.map +7 -0
  609. package/dist/modules/workflows/lib/node-nudge.js +44 -0
  610. package/dist/modules/workflows/lib/node-nudge.js.map +7 -0
  611. package/dist/modules/workflows/lib/node-outcome-rows.js +88 -0
  612. package/dist/modules/workflows/lib/node-outcome-rows.js.map +7 -0
  613. package/dist/modules/workflows/lib/node-placement.js +55 -0
  614. package/dist/modules/workflows/lib/node-placement.js.map +7 -0
  615. package/dist/modules/workflows/lib/node-type-icons.js +54 -13
  616. package/dist/modules/workflows/lib/node-type-icons.js.map +2 -2
  617. package/dist/modules/workflows/lib/nodeFormTransforms.js +329 -19
  618. package/dist/modules/workflows/lib/nodeFormTransforms.js.map +2 -2
  619. package/dist/modules/workflows/lib/outcome-routing.js +158 -0
  620. package/dist/modules/workflows/lib/outcome-routing.js.map +7 -0
  621. package/dist/modules/workflows/lib/owned-definition.js +107 -0
  622. package/dist/modules/workflows/lib/owned-definition.js.map +7 -0
  623. package/dist/modules/workflows/lib/owned-node-changes.js +10 -0
  624. package/dist/modules/workflows/lib/owned-node-changes.js.map +7 -0
  625. package/dist/modules/workflows/lib/palette-drag.js +36 -0
  626. package/dist/modules/workflows/lib/palette-drag.js.map +7 -0
  627. package/dist/modules/workflows/lib/palette-drop.js +45 -0
  628. package/dist/modules/workflows/lib/palette-drop.js.map +7 -0
  629. package/dist/modules/workflows/lib/parallel-handler.js +57 -2
  630. package/dist/modules/workflows/lib/parallel-handler.js.map +2 -2
  631. package/dist/modules/workflows/lib/port-contract.js +54 -0
  632. package/dist/modules/workflows/lib/port-contract.js.map +7 -0
  633. package/dist/modules/workflows/lib/portal-task-access.js +89 -0
  634. package/dist/modules/workflows/lib/portal-task-access.js.map +7 -0
  635. package/dist/modules/workflows/lib/rerun-from-step.js +65 -0
  636. package/dist/modules/workflows/lib/rerun-from-step.js.map +7 -0
  637. package/dist/modules/workflows/lib/route-chip-events.js +23 -0
  638. package/dist/modules/workflows/lib/route-chip-events.js.map +7 -0
  639. package/dist/modules/workflows/lib/route-chips.js +91 -0
  640. package/dist/modules/workflows/lib/route-chips.js.map +7 -0
  641. package/dist/modules/workflows/lib/route-edge.js +17 -0
  642. package/dist/modules/workflows/lib/route-edge.js.map +7 -0
  643. package/dist/modules/workflows/lib/route-kinds.js +67 -0
  644. package/dist/modules/workflows/lib/route-kinds.js.map +7 -0
  645. package/dist/modules/workflows/lib/route-priority.js +104 -0
  646. package/dist/modules/workflows/lib/route-priority.js.map +7 -0
  647. package/dist/modules/workflows/lib/run-duration.js +44 -0
  648. package/dist/modules/workflows/lib/run-duration.js.map +7 -0
  649. package/dist/modules/workflows/lib/run-event-tone.js +25 -0
  650. package/dist/modules/workflows/lib/run-event-tone.js.map +7 -0
  651. package/dist/modules/workflows/lib/run-execution.js +305 -0
  652. package/dist/modules/workflows/lib/run-execution.js.map +7 -0
  653. package/dist/modules/workflows/lib/run-gantt.js +180 -0
  654. package/dist/modules/workflows/lib/run-gantt.js.map +7 -0
  655. package/dist/modules/workflows/lib/run-outcome-evidence.js +33 -0
  656. package/dist/modules/workflows/lib/run-outcome-evidence.js.map +7 -0
  657. package/dist/modules/workflows/lib/run-outcome.js +48 -0
  658. package/dist/modules/workflows/lib/run-outcome.js.map +7 -0
  659. package/dist/modules/workflows/lib/sample-resolver.js +71 -0
  660. package/dist/modules/workflows/lib/sample-resolver.js.map +7 -0
  661. package/dist/modules/workflows/lib/seeds.js +1 -1
  662. package/dist/modules/workflows/lib/seeds.js.map +2 -2
  663. package/dist/modules/workflows/lib/server-output-contract.js +65 -0
  664. package/dist/modules/workflows/lib/server-output-contract.js.map +7 -0
  665. package/dist/modules/workflows/lib/set-variable.js +47 -0
  666. package/dist/modules/workflows/lib/set-variable.js.map +7 -0
  667. package/dist/modules/workflows/lib/signal-handler.js +63 -4
  668. package/dist/modules/workflows/lib/signal-handler.js.map +2 -2
  669. package/dist/modules/workflows/lib/start-fixtures.js +42 -0
  670. package/dist/modules/workflows/lib/start-fixtures.js.map +7 -0
  671. package/dist/modules/workflows/lib/status-colors.js +153 -22
  672. package/dist/modules/workflows/lib/status-colors.js.map +2 -2
  673. package/dist/modules/workflows/lib/step-handler.js +529 -53
  674. package/dist/modules/workflows/lib/step-handler.js.map +3 -3
  675. package/dist/modules/workflows/lib/step-presentation.js +147 -0
  676. package/dist/modules/workflows/lib/step-presentation.js.map +7 -0
  677. package/dist/modules/workflows/lib/step-through.js +26 -0
  678. package/dist/modules/workflows/lib/step-through.js.map +7 -0
  679. package/dist/modules/workflows/lib/step-type-conversion.js +167 -0
  680. package/dist/modules/workflows/lib/step-type-conversion.js.map +7 -0
  681. package/dist/modules/workflows/lib/subgraph-clipboard.js +114 -0
  682. package/dist/modules/workflows/lib/subgraph-clipboard.js.map +7 -0
  683. package/dist/modules/workflows/lib/task-decision-context.js +38 -0
  684. package/dist/modules/workflows/lib/task-decision-context.js.map +7 -0
  685. package/dist/modules/workflows/lib/task-decisions.js +49 -0
  686. package/dist/modules/workflows/lib/task-decisions.js.map +7 -0
  687. package/dist/modules/workflows/lib/task-entity-access.js +62 -0
  688. package/dist/modules/workflows/lib/task-entity-access.js.map +7 -0
  689. package/dist/modules/workflows/lib/task-entity-aliases.js +39 -0
  690. package/dist/modules/workflows/lib/task-entity-aliases.js.map +7 -0
  691. package/dist/modules/workflows/lib/task-entity-types.js +36 -0
  692. package/dist/modules/workflows/lib/task-entity-types.js.map +7 -0
  693. package/dist/modules/workflows/lib/task-form-registry.js +33 -0
  694. package/dist/modules/workflows/lib/task-form-registry.js.map +7 -0
  695. package/dist/modules/workflows/lib/task-form-schema.js +75 -0
  696. package/dist/modules/workflows/lib/task-form-schema.js.map +7 -0
  697. package/dist/modules/workflows/lib/task-handler.js +251 -32
  698. package/dist/modules/workflows/lib/task-handler.js.map +2 -2
  699. package/dist/modules/workflows/lib/task-inspector-config.js +182 -0
  700. package/dist/modules/workflows/lib/task-inspector-config.js.map +7 -0
  701. package/dist/modules/workflows/lib/task-list-query.js +19 -0
  702. package/dist/modules/workflows/lib/task-list-query.js.map +7 -0
  703. package/dist/modules/workflows/lib/task-notifications.js +119 -0
  704. package/dist/modules/workflows/lib/task-notifications.js.map +7 -0
  705. package/dist/modules/workflows/lib/task-permission-settings.js +43 -0
  706. package/dist/modules/workflows/lib/task-permission-settings.js.map +7 -0
  707. package/dist/modules/workflows/lib/task-presets.js +35 -0
  708. package/dist/modules/workflows/lib/task-presets.js.map +7 -0
  709. package/dist/modules/workflows/lib/task-quick-action.js +45 -0
  710. package/dist/modules/workflows/lib/task-quick-action.js.map +7 -0
  711. package/dist/modules/workflows/lib/task-resolution.js +120 -0
  712. package/dist/modules/workflows/lib/task-resolution.js.map +7 -0
  713. package/dist/modules/workflows/lib/task-sla.js +357 -0
  714. package/dist/modules/workflows/lib/task-sla.js.map +7 -0
  715. package/dist/modules/workflows/lib/task-visibility-request.js +266 -0
  716. package/dist/modules/workflows/lib/task-visibility-request.js.map +7 -0
  717. package/dist/modules/workflows/lib/task-visibility.js +194 -0
  718. package/dist/modules/workflows/lib/task-visibility.js.map +7 -0
  719. package/dist/modules/workflows/lib/timer-handler.js +3 -1
  720. package/dist/modules/workflows/lib/timer-handler.js.map +2 -2
  721. package/dist/modules/workflows/lib/transition-handler.js +148 -20
  722. package/dist/modules/workflows/lib/transition-handler.js.map +2 -2
  723. package/dist/modules/workflows/lib/trigger-node.js +121 -0
  724. package/dist/modules/workflows/lib/trigger-node.js.map +7 -0
  725. package/dist/modules/workflows/lib/visual-editor-navigation.js +14 -0
  726. package/dist/modules/workflows/lib/visual-editor-navigation.js.map +7 -0
  727. package/dist/modules/workflows/lib/work-inbox/empty-state.js +52 -0
  728. package/dist/modules/workflows/lib/work-inbox/empty-state.js.map +7 -0
  729. package/dist/modules/workflows/lib/work-inbox/entity-links.js +63 -0
  730. package/dist/modules/workflows/lib/work-inbox/entity-links.js.map +7 -0
  731. package/dist/modules/workflows/lib/work-inbox/navigation.js +11 -0
  732. package/dist/modules/workflows/lib/work-inbox/navigation.js.map +7 -0
  733. package/dist/modules/workflows/lib/work-inbox/presentation.js +90 -0
  734. package/dist/modules/workflows/lib/work-inbox/presentation.js.map +7 -0
  735. package/dist/modules/workflows/lib/work-inbox/provider.js +118 -0
  736. package/dist/modules/workflows/lib/work-inbox/provider.js.map +7 -0
  737. package/dist/modules/workflows/lib/work-inbox/query.js +70 -0
  738. package/dist/modules/workflows/lib/work-inbox/query.js.map +7 -0
  739. package/dist/modules/workflows/lib/work-inbox/service.js +56 -0
  740. package/dist/modules/workflows/lib/work-inbox/service.js.map +7 -0
  741. package/dist/modules/workflows/lib/work-inbox/user-task-source.js +149 -0
  742. package/dist/modules/workflows/lib/work-inbox/user-task-source.js.map +7 -0
  743. package/dist/modules/workflows/lib/workflow-command-enablement.js +57 -0
  744. package/dist/modules/workflows/lib/workflow-command-enablement.js.map +7 -0
  745. package/dist/modules/workflows/lib/workflow-command-settings.js +54 -0
  746. package/dist/modules/workflows/lib/workflow-command-settings.js.map +7 -0
  747. package/dist/modules/workflows/lib/workflow-executor.js +658 -6
  748. package/dist/modules/workflows/lib/workflow-executor.js.map +2 -2
  749. package/dist/modules/workflows/lib/workflow-function-registry.js +40 -0
  750. package/dist/modules/workflows/lib/workflow-function-registry.js.map +7 -0
  751. package/dist/modules/workflows/lib/workflow-safe-commands.js +11 -1
  752. package/dist/modules/workflows/lib/workflow-safe-commands.js.map +2 -2
  753. package/dist/modules/workflows/lib/workflow-templates.js +69 -0
  754. package/dist/modules/workflows/lib/workflow-templates.js.map +7 -0
  755. package/dist/modules/workflows/migrations/Migration20260626214855_workflows.js +15 -0
  756. package/dist/modules/workflows/migrations/Migration20260626214855_workflows.js.map +7 -0
  757. package/dist/modules/workflows/migrations/Migration20260626222424_workflows.js +17 -0
  758. package/dist/modules/workflows/migrations/Migration20260626222424_workflows.js.map +7 -0
  759. package/dist/modules/workflows/migrations/Migration20260727074335_workflows.js +15 -0
  760. package/dist/modules/workflows/migrations/Migration20260727074335_workflows.js.map +7 -0
  761. package/dist/modules/workflows/migrations/Migration20260728104038_workflows.js +13 -0
  762. package/dist/modules/workflows/migrations/Migration20260728104038_workflows.js.map +7 -0
  763. package/dist/modules/workflows/migrations/Migration20260728163001_workflows.js +15 -0
  764. package/dist/modules/workflows/migrations/Migration20260728163001_workflows.js.map +7 -0
  765. package/dist/modules/workflows/migrations/Migration20260729061736_workflows.js +13 -0
  766. package/dist/modules/workflows/migrations/Migration20260729061736_workflows.js.map +7 -0
  767. package/dist/modules/workflows/migrations/Migration20260729192652_workflows.js +12 -0
  768. package/dist/modules/workflows/migrations/Migration20260729192652_workflows.js.map +7 -0
  769. package/dist/modules/workflows/migrations/Migration20260730085000_workflows.js +13 -0
  770. package/dist/modules/workflows/migrations/Migration20260730085000_workflows.js.map +7 -0
  771. package/dist/modules/workflows/migrations/Migration20260730092706_workflows.js +13 -0
  772. package/dist/modules/workflows/migrations/Migration20260730092706_workflows.js.map +7 -0
  773. package/dist/modules/workflows/notifications.js +38 -10
  774. package/dist/modules/workflows/notifications.js.map +2 -2
  775. package/dist/modules/workflows/setup.js +81 -1
  776. package/dist/modules/workflows/setup.js.map +2 -2
  777. package/dist/modules/workflows/subscribers/task-assigned-notification.js +19 -27
  778. package/dist/modules/workflows/subscribers/task-assigned-notification.js.map +2 -2
  779. package/dist/modules/workflows/subscribers/task-deadline-breached-notification.js +24 -0
  780. package/dist/modules/workflows/subscribers/task-deadline-breached-notification.js.map +7 -0
  781. package/dist/modules/workflows/subscribers/task-reminder-notification.js +24 -0
  782. package/dist/modules/workflows/subscribers/task-reminder-notification.js.map +7 -0
  783. package/dist/modules/workflows/widgets/injection/pending-work/widget.client.js +73 -0
  784. package/dist/modules/workflows/widgets/injection/pending-work/widget.client.js.map +7 -0
  785. package/dist/modules/workflows/widgets/injection/pending-work/widget.js +17 -0
  786. package/dist/modules/workflows/widgets/injection/pending-work/widget.js.map +7 -0
  787. package/dist/modules/workflows/widgets/injection-table.js +26 -0
  788. package/dist/modules/workflows/widgets/injection-table.js.map +2 -2
  789. package/dist/modules/workflows/workers/workflow-activities.worker.js +61 -39
  790. package/dist/modules/workflows/workers/workflow-activities.worker.js.map +2 -2
  791. package/dist/modules/workflows/workers/workflow-definition-metric-rollup.worker.js +40 -0
  792. package/dist/modules/workflows/workers/workflow-definition-metric-rollup.worker.js.map +7 -0
  793. package/dist/modules/workflows/workers/workflow-instance-bulk-replay.js +43 -0
  794. package/dist/modules/workflows/workers/workflow-instance-bulk-replay.js.map +7 -0
  795. package/dist/modules/workflows/workers/workflow-invoke-agent.worker.js +30 -0
  796. package/dist/modules/workflows/workers/workflow-invoke-agent.worker.js.map +7 -0
  797. package/generated/entities/action_log/index.ts +1 -0
  798. package/generated/entities/user/index.ts +1 -0
  799. package/generated/entities/user_task/index.ts +7 -0
  800. package/generated/entities/workflow_definition/index.ts +3 -0
  801. package/generated/entities/workflow_definition_draft/index.ts +11 -0
  802. package/generated/entities/workflow_definition_metric_rollup/index.ts +10 -0
  803. package/generated/entities/workflow_instance/index.ts +2 -0
  804. package/generated/entities.ids.generated.ts +4 -1
  805. package/generated/entity-fields-registry.ts +39 -0
  806. package/jest.setup.ts +13 -0
  807. package/package.json +8 -7
  808. package/src/bootstrap.ts +13 -3
  809. package/src/helpers/integration/workflowsFixtures.ts +765 -5
  810. package/src/helpers/integration/workflowsUi.ts +318 -0
  811. package/src/modules/attachments/lib/createFromBuffer.ts +120 -0
  812. package/src/modules/audit_logs/data/entities.ts +12 -0
  813. package/src/modules/audit_logs/data/validators.ts +1 -0
  814. package/src/modules/audit_logs/lib/projections.ts +5 -1
  815. package/src/modules/audit_logs/migrations/.snapshot-open-mercato.json +26 -0
  816. package/src/modules/audit_logs/migrations/Migration20260625120000.ts +15 -0
  817. package/src/modules/audit_logs/services/actionLogService.ts +3 -0
  818. package/src/modules/auth/data/entities.ts +21 -0
  819. package/src/modules/auth/i18n/de.json +31 -0
  820. package/src/modules/auth/i18n/en.json +31 -0
  821. package/src/modules/auth/i18n/es.json +31 -0
  822. package/src/modules/auth/i18n/ko.json +31 -0
  823. package/src/modules/auth/i18n/pl.json +31 -0
  824. package/src/modules/auth/lib/executionPrincipal.ts +235 -0
  825. package/src/modules/auth/migrations/.snapshot-open-mercato.json +16 -0
  826. package/src/modules/auth/migrations/Migration20260625050000.ts +21 -0
  827. package/src/modules/business_rules/components/InlineRuleEditor.tsx +231 -0
  828. package/src/modules/business_rules/data/validators.ts +6 -0
  829. package/src/modules/business_rules/i18n/de.json +4 -0
  830. package/src/modules/business_rules/i18n/en.json +4 -0
  831. package/src/modules/business_rules/i18n/es.json +4 -0
  832. package/src/modules/business_rules/i18n/ko.json +4 -0
  833. package/src/modules/business_rules/i18n/pl.json +4 -0
  834. package/src/modules/business_rules/lib/rule-engine.ts +15 -1
  835. package/src/modules/catalog/commands/products.ts +12 -0
  836. package/src/modules/catalog/i18n/de.json +1 -0
  837. package/src/modules/catalog/i18n/en.json +1 -0
  838. package/src/modules/catalog/i18n/es.json +1 -0
  839. package/src/modules/catalog/i18n/ko.json +1 -0
  840. package/src/modules/catalog/i18n/pl.json +1 -0
  841. package/src/modules/catalog/workflows.ts +35 -0
  842. package/src/modules/customer_accounts/AGENTS.md +11 -0
  843. package/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.tsx +2 -0
  844. package/src/modules/customer_accounts/cli.ts +96 -0
  845. package/src/modules/customer_accounts/i18n/de.json +5 -0
  846. package/src/modules/customer_accounts/i18n/en.json +5 -0
  847. package/src/modules/customer_accounts/i18n/es.json +5 -0
  848. package/src/modules/customer_accounts/i18n/ko.json +5 -0
  849. package/src/modules/customer_accounts/i18n/pl.json +5 -0
  850. package/src/modules/customer_accounts/lib/customerRoleAclSync.ts +92 -0
  851. package/src/modules/customer_accounts/setup.ts +15 -3
  852. package/src/modules/customers/commands/deals.ts +5 -0
  853. package/src/modules/customers/components/detail/ChangelogEntryRow.tsx +4 -2
  854. package/src/modules/customers/components/detail/utils.ts +2 -0
  855. package/src/modules/customers/events.ts +21 -3
  856. package/src/modules/customers/i18n/de.json +4 -0
  857. package/src/modules/customers/i18n/en.json +4 -0
  858. package/src/modules/customers/i18n/es.json +4 -0
  859. package/src/modules/customers/i18n/ko.json +4 -0
  860. package/src/modules/customers/i18n/pl.json +4 -0
  861. package/src/modules/customers/lib/link-workflow-task-handler.ts +136 -0
  862. package/src/modules/customers/lib/todoCompatibility.ts +4 -1
  863. package/src/modules/customers/lib/workflowTaskLink.ts +23 -0
  864. package/src/modules/customers/subscribers/link-workflow-task.ts +19 -0
  865. package/src/modules/customers/workflows.ts +57 -0
  866. package/src/modules/entities/api/records.ts +18 -62
  867. package/src/modules/entities/lib/entityClassification.ts +102 -0
  868. package/src/modules/sales/commands/documents.ts +46 -0
  869. package/src/modules/sales/events.ts +20 -2
  870. package/src/modules/sales/i18n/de.json +2 -1
  871. package/src/modules/sales/i18n/en.json +2 -1
  872. package/src/modules/sales/i18n/es.json +2 -1
  873. package/src/modules/sales/i18n/ko.json +2 -1
  874. package/src/modules/sales/i18n/pl.json +2 -1
  875. package/src/modules/sales/workflows.ts +12 -1
  876. package/src/modules/seeds/README.md +86 -0
  877. package/src/modules/seeds/cli.ts +220 -0
  878. package/src/modules/seeds/examples/sample-seed.json +26 -0
  879. package/src/modules/seeds/index.ts +11 -0
  880. package/src/modules/workflows/AGENTS.md +851 -10
  881. package/src/modules/workflows/acl.ts +96 -0
  882. package/src/modules/workflows/ai-agents.ts +80 -0
  883. package/src/modules/workflows/ai-tools/authoring-pack.ts +798 -0
  884. package/src/modules/workflows/ai-tools/types.ts +117 -0
  885. package/src/modules/workflows/ai-tools.ts +20 -0
  886. package/src/modules/workflows/api/command-settings/route.ts +171 -0
  887. package/src/modules/workflows/api/commands/route.ts +109 -0
  888. package/src/modules/workflows/api/definitions/[id]/callers/route.ts +95 -0
  889. package/src/modules/workflows/api/definitions/[id]/context-schema/route.ts +187 -0
  890. package/src/modules/workflows/api/definitions/[id]/customize/route.ts +6 -1
  891. package/src/modules/workflows/api/definitions/[id]/draft/route.ts +395 -0
  892. package/src/modules/workflows/api/definitions/[id]/publish/route.ts +250 -0
  893. package/src/modules/workflows/api/definitions/[id]/reset-to-code/route.ts +5 -0
  894. package/src/modules/workflows/api/definitions/[id]/route.ts +107 -7
  895. package/src/modules/workflows/api/definitions/[id]/test-step/route.ts +288 -0
  896. package/src/modules/workflows/api/definitions/generate/route.ts +335 -0
  897. package/src/modules/workflows/api/definitions/route.ts +88 -113
  898. package/src/modules/workflows/api/definitions/serialize.ts +9 -0
  899. package/src/modules/workflows/api/endpoints/route.ts +88 -0
  900. package/src/modules/workflows/api/functions/route.ts +91 -0
  901. package/src/modules/workflows/api/grantable-features/route.ts +102 -0
  902. package/src/modules/workflows/api/instances/[id]/context/route.ts +214 -0
  903. package/src/modules/workflows/api/instances/[id]/rerun-step/route.ts +226 -0
  904. package/src/modules/workflows/api/instances/[id]/retry/route.ts +18 -2
  905. package/src/modules/workflows/api/instances/[id]/step-through/route.ts +195 -0
  906. package/src/modules/workflows/api/instances/[id]/steps/route.ts +160 -0
  907. package/src/modules/workflows/api/instances/[id]/would-do/route.ts +216 -0
  908. package/src/modules/workflows/api/instances/bulk-replay/route.ts +141 -0
  909. package/src/modules/workflows/api/instances/failure-queue/route.ts +197 -0
  910. package/src/modules/workflows/api/instances/route.ts +135 -3
  911. package/src/modules/workflows/api/metrics/definitions/route.ts +262 -0
  912. package/src/modules/workflows/api/openapi.ts +549 -2
  913. package/src/modules/workflows/api/portal/tasks/[id]/complete/route.ts +160 -0
  914. package/src/modules/workflows/api/portal/tasks/[id]/route.ts +124 -0
  915. package/src/modules/workflows/api/portal/tasks/route.ts +157 -0
  916. package/src/modules/workflows/api/rule-usage/route.ts +94 -0
  917. package/src/modules/workflows/api/task-settings/route.ts +138 -0
  918. package/src/modules/workflows/api/tasks/[id]/claim/route.ts +42 -17
  919. package/src/modules/workflows/api/tasks/[id]/complete/route.ts +47 -15
  920. package/src/modules/workflows/api/tasks/[id]/reassign/route.ts +197 -0
  921. package/src/modules/workflows/api/tasks/[id]/route.ts +57 -6
  922. package/src/modules/workflows/api/tasks/[id]/unclaim/route.ts +132 -0
  923. package/src/modules/workflows/api/tasks/route.ts +60 -5
  924. package/src/modules/workflows/api/tasks/serialize.ts +119 -0
  925. package/src/modules/workflows/api/templates/route.ts +87 -0
  926. package/src/modules/workflows/api/work-inbox/next/route.ts +170 -0
  927. package/src/modules/workflows/api/work-inbox/route.ts +153 -0
  928. package/src/modules/workflows/backend/config/workflows/page.meta.ts +33 -0
  929. package/src/modules/workflows/backend/config/workflows/page.tsx +12 -0
  930. package/src/modules/workflows/backend/definitions/[id]/page.tsx +19 -343
  931. package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
  932. package/src/modules/workflows/backend/definitions/create/page.tsx +19 -59
  933. package/src/modules/workflows/backend/definitions/page.tsx +156 -76
  934. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3129 -584
  935. package/src/modules/workflows/backend/instances/[id]/page.meta.ts +1 -1
  936. package/src/modules/workflows/backend/instances/[id]/page.tsx +711 -539
  937. package/src/modules/workflows/backend/instances/failure-queue/page.meta.ts +16 -0
  938. package/src/modules/workflows/backend/instances/failure-queue/page.tsx +311 -0
  939. package/src/modules/workflows/backend/instances/page.meta.ts +1 -1
  940. package/src/modules/workflows/backend/instances/page.tsx +218 -38
  941. package/src/modules/workflows/backend/tasks/[id]/page.tsx +639 -400
  942. package/src/modules/workflows/backend/tasks/page.meta.ts +7 -0
  943. package/src/modules/workflows/backend/tasks/page.tsx +20 -333
  944. package/src/modules/workflows/backend/work-inbox/page.meta.ts +15 -0
  945. package/src/modules/workflows/backend/work-inbox/page.tsx +506 -0
  946. package/src/modules/workflows/cli.ts +1 -1
  947. package/src/modules/workflows/commands/tasks.ts +146 -0
  948. package/src/modules/workflows/components/ActivitiesEditor.tsx +91 -114
  949. package/src/modules/workflows/components/ActivityEditDialog.tsx +244 -0
  950. package/src/modules/workflows/components/AgentSelector.tsx +200 -0
  951. package/src/modules/workflows/components/AnnotationEditDialog.tsx +157 -0
  952. package/src/modules/workflows/components/BusinessRuleUsagePanel.tsx +106 -0
  953. package/src/modules/workflows/components/BusinessRulesSelector.tsx +71 -17
  954. package/src/modules/workflows/components/ConfigJsonTextarea.tsx +111 -0
  955. package/src/modules/workflows/components/ContextSchemaEditor.tsx +165 -0
  956. package/src/modules/workflows/components/DefinitionErrorHandlerField.tsx +133 -0
  957. package/src/modules/workflows/components/DefinitionMetadataDrawer.tsx +456 -0
  958. package/src/modules/workflows/components/DefinitionMetricsCells.tsx +212 -0
  959. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +196 -95
  960. package/src/modules/workflows/components/EdgeEditDialog.tsx +15 -16
  961. package/src/modules/workflows/components/EdgeEditDialogCrudForm.tsx +130 -80
  962. package/src/modules/workflows/components/InputDataPanel.tsx +177 -0
  963. package/src/modules/workflows/components/InspectorPanel.tsx +250 -0
  964. package/src/modules/workflows/components/NodeEditDialog.tsx +444 -38
  965. package/src/modules/workflows/components/NodeEditDialogCrudForm.tsx +848 -178
  966. package/src/modules/workflows/components/StepsEditor.tsx +9 -2
  967. package/src/modules/workflows/components/TemplateGalleryDialog.tsx +205 -0
  968. package/src/modules/workflows/components/TransitionsEditor.tsx +98 -89
  969. package/src/modules/workflows/components/TriggersDialog.tsx +83 -0
  970. package/src/modules/workflows/components/TriggersEditor.tsx +363 -0
  971. package/src/modules/workflows/components/WorkflowAiDraftDialog.tsx +383 -0
  972. package/src/modules/workflows/components/WorkflowCodeView.tsx +257 -0
  973. package/src/modules/workflows/components/WorkflowCommandPalette.tsx +82 -0
  974. package/src/modules/workflows/components/WorkflowCompensationGhostEdge.tsx +78 -0
  975. package/src/modules/workflows/components/WorkflowDataMappingEdge.tsx +46 -0
  976. package/src/modules/workflows/components/WorkflowGraph.tsx +54 -1
  977. package/src/modules/workflows/components/WorkflowGraphImpl.tsx +463 -37
  978. package/src/modules/workflows/components/WorkflowIconPicker.tsx +144 -0
  979. package/src/modules/workflows/components/WorkflowLegend.tsx +59 -33
  980. package/src/modules/workflows/components/WorkflowNodeCard.tsx +355 -28
  981. package/src/modules/workflows/components/WorkflowRouteChips.tsx +145 -0
  982. package/src/modules/workflows/components/WorkflowSelector.tsx +33 -14
  983. package/src/modules/workflows/components/WorkflowTransitionEdge.tsx +83 -10
  984. package/src/modules/workflows/components/WorkflowTransitionLabel.tsx +13 -2
  985. package/src/modules/workflows/components/fields/ActivityArrayEditor.tsx +120 -30
  986. package/src/modules/workflows/components/fields/ActivityConfigFields.tsx +675 -0
  987. package/src/modules/workflows/components/fields/ActivityTestPanel.tsx +250 -0
  988. package/src/modules/workflows/components/fields/AgentInvokeConfigField.tsx +580 -0
  989. package/src/modules/workflows/components/fields/AgentReviewOnBreachField.tsx +88 -0
  990. package/src/modules/workflows/components/fields/BranchingRoutesEditor.tsx +323 -0
  991. package/src/modules/workflows/components/fields/BusinessRuleConditionsEditor.tsx +36 -4
  992. package/src/modules/workflows/components/fields/CommandPicker.tsx +158 -0
  993. package/src/modules/workflows/components/fields/EndpointPicker.tsx +330 -0
  994. package/src/modules/workflows/components/fields/FormFieldArrayEditor.tsx +2 -2
  995. package/src/modules/workflows/components/fields/FunctionPicker.tsx +68 -0
  996. package/src/modules/workflows/components/fields/MappingArrayEditor.tsx +46 -12
  997. package/src/modules/workflows/components/fields/PortFieldArrayEditor.tsx +255 -0
  998. package/src/modules/workflows/components/fields/RolesMultiSelect.tsx +68 -0
  999. package/src/modules/workflows/components/fields/RouteOrderEditor.tsx +169 -0
  1000. package/src/modules/workflows/components/fields/SchemaBuilderDialog.tsx +139 -0
  1001. package/src/modules/workflows/components/fields/StartPreConditionsEditor.tsx +2 -2
  1002. package/src/modules/workflows/components/fields/TaskAssignmentField.tsx +355 -0
  1003. package/src/modules/workflows/components/fields/TaskDeadlineFields.tsx +172 -0
  1004. package/src/modules/workflows/components/fields/TaskDecisionsField.tsx +294 -0
  1005. package/src/modules/workflows/components/fields/TaskEntityBindingsField.tsx +156 -0
  1006. package/src/modules/workflows/components/fields/TemplateTextControl.tsx +85 -0
  1007. package/src/modules/workflows/components/fields/VariablePickerButton.tsx +177 -0
  1008. package/src/modules/workflows/components/fields/ledgerDropTarget.ts +55 -0
  1009. package/src/modules/workflows/components/fields/useActivityTypeOptions.ts +19 -0
  1010. package/src/modules/workflows/components/formConfig.tsx +84 -10
  1011. package/src/modules/workflows/components/mobile/MobileDefinitionDetail.tsx +5 -0
  1012. package/src/modules/workflows/components/mobile/MobileMetadataSheet.tsx +10 -0
  1013. package/src/modules/workflows/components/mobile/MobileTaskForm.tsx +55 -19
  1014. package/src/modules/workflows/components/mobile/MobileVisualEditor.tsx +49 -40
  1015. package/src/modules/workflows/components/nodes/AnnotationGroupNode.tsx +81 -0
  1016. package/src/modules/workflows/components/nodes/AutomatedNode.tsx +34 -17
  1017. package/src/modules/workflows/components/nodes/EndNode.tsx +15 -14
  1018. package/src/modules/workflows/components/nodes/ErrorOutputHandle.tsx +32 -0
  1019. package/src/modules/workflows/components/nodes/IfElseNode.tsx +64 -0
  1020. package/src/modules/workflows/components/nodes/InvokeAgentNode.tsx +180 -0
  1021. package/src/modules/workflows/components/nodes/NodeOutcomeRows.tsx +143 -0
  1022. package/src/modules/workflows/components/nodes/ParallelForkNode.tsx +28 -15
  1023. package/src/modules/workflows/components/nodes/ParallelJoinNode.tsx +28 -15
  1024. package/src/modules/workflows/components/nodes/StartNode.tsx +78 -18
  1025. package/src/modules/workflows/components/nodes/StickyNoteNode.tsx +65 -0
  1026. package/src/modules/workflows/components/nodes/SubWorkflowNode.tsx +124 -23
  1027. package/src/modules/workflows/components/nodes/SwitchNode.tsx +64 -0
  1028. package/src/modules/workflows/components/nodes/TriggerCap.tsx +103 -0
  1029. package/src/modules/workflows/components/nodes/TriggerNode.tsx +151 -0
  1030. package/src/modules/workflows/components/nodes/UserTaskNode.tsx +67 -22
  1031. package/src/modules/workflows/components/nodes/WaitForConditionNode.tsx +74 -0
  1032. package/src/modules/workflows/components/nodes/WaitForSignalNode.tsx +31 -17
  1033. package/src/modules/workflows/components/nodes/WaitForTimerNode.tsx +31 -16
  1034. package/src/modules/workflows/components/nodes/index.ts +17 -0
  1035. package/src/modules/workflows/components/portal/PortalTaskForm.tsx +280 -0
  1036. package/src/modules/workflows/components/run/AgentActivityPanel.tsx +48 -0
  1037. package/src/modules/workflows/components/run/RerunStepDialog.tsx +133 -0
  1038. package/src/modules/workflows/components/run/RunEventBadge.tsx +37 -0
  1039. package/src/modules/workflows/components/run/RunGantt.tsx +180 -0
  1040. package/src/modules/workflows/components/run/RunStatusBadge.tsx +112 -0
  1041. package/src/modules/workflows/components/run/RunStepInspector.tsx +176 -0
  1042. package/src/modules/workflows/components/run/WouldDoReport.tsx +93 -0
  1043. package/src/modules/workflows/components/run/useAgentLabels.ts +42 -0
  1044. package/src/modules/workflows/components/run/useLastRunOverlay.ts +150 -0
  1045. package/src/modules/workflows/components/run/useLiveAgentActions.ts +70 -0
  1046. package/src/modules/workflows/components/run/useLiveRunUpdates.ts +89 -0
  1047. package/src/modules/workflows/components/settings/CommandSettingsPageClient.tsx +228 -0
  1048. package/src/modules/workflows/components/work-inbox/EntityContextPanel.tsx +179 -0
  1049. package/src/modules/workflows/components/work-inbox/ReassignTaskDialog.tsx +203 -0
  1050. package/src/modules/workflows/components/work-inbox/StatusChip.tsx +61 -0
  1051. package/src/modules/workflows/components/work-inbox/TaskActionNotice.tsx +77 -0
  1052. package/src/modules/workflows/components/work-inbox/TaskFormFields.tsx +322 -0
  1053. package/src/modules/workflows/components/work-inbox/WorkInboxEmptyState.tsx +43 -0
  1054. package/src/modules/workflows/data/activity-config-schemas.ts +249 -0
  1055. package/src/modules/workflows/data/activity-config-warnings.ts +71 -0
  1056. package/src/modules/workflows/data/branching-route-warnings.ts +129 -0
  1057. package/src/modules/workflows/data/entities.ts +397 -4
  1058. package/src/modules/workflows/data/metrics-validators.ts +51 -0
  1059. package/src/modules/workflows/data/task-primitives.ts +36 -0
  1060. package/src/modules/workflows/data/types.ts +81 -2
  1061. package/src/modules/workflows/data/validators.ts +729 -60
  1062. package/src/modules/workflows/di.ts +22 -0
  1063. package/src/modules/workflows/events.ts +68 -8
  1064. package/src/modules/workflows/examples/oze-residential-install-60-nodes.json +1545 -0
  1065. package/src/modules/workflows/examples/sales-pipeline-definition.json +35 -35
  1066. package/src/modules/workflows/examples/templates/lead-to-install.json +160 -0
  1067. package/src/modules/workflows/examples/templates/order-approval.json +230 -0
  1068. package/src/modules/workflows/examples/templates/task-escalation.json +110 -0
  1069. package/src/modules/workflows/examples/templates/webhook-integration.json +113 -0
  1070. package/src/modules/workflows/extension-points.ts +1 -1
  1071. package/src/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.meta.ts +21 -0
  1072. package/src/modules/workflows/frontend/[orgSlug]/portal/tasks/[id]/page.tsx +212 -0
  1073. package/src/modules/workflows/frontend/[orgSlug]/portal/tasks/page.meta.ts +25 -0
  1074. package/src/modules/workflows/frontend/[orgSlug]/portal/tasks/page.tsx +185 -0
  1075. package/src/modules/workflows/i18n/de.json +1083 -24
  1076. package/src/modules/workflows/i18n/en.json +1081 -22
  1077. package/src/modules/workflows/i18n/es.json +1083 -24
  1078. package/src/modules/workflows/i18n/ko.json +1072 -13
  1079. package/src/modules/workflows/i18n/pl.json +1082 -23
  1080. package/src/modules/workflows/lib/activity-executor.ts +855 -186
  1081. package/src/modules/workflows/lib/activity-queue-types.ts +120 -1
  1082. package/src/modules/workflows/lib/activity-registry-bootstrap.ts +7 -0
  1083. package/src/modules/workflows/lib/activity-registry.ts +89 -0
  1084. package/src/modules/workflows/lib/activity-types.ts +415 -0
  1085. package/src/modules/workflows/lib/activity-worker-handler.ts +744 -35
  1086. package/src/modules/workflows/lib/advanced-config.ts +41 -0
  1087. package/src/modules/workflows/lib/agent-disposition-task.ts +343 -0
  1088. package/src/modules/workflows/lib/agent-outcome-paths.ts +153 -0
  1089. package/src/modules/workflows/lib/agent-result-mapping.ts +88 -0
  1090. package/src/modules/workflows/lib/agent-review-inspector.ts +125 -0
  1091. package/src/modules/workflows/lib/agent-review.ts +171 -0
  1092. package/src/modules/workflows/lib/ai-authoring.ts +402 -0
  1093. package/src/modules/workflows/lib/ai-draft-runner.ts +105 -0
  1094. package/src/modules/workflows/lib/annotation-events.ts +15 -0
  1095. package/src/modules/workflows/lib/branching-routes.ts +280 -0
  1096. package/src/modules/workflows/lib/breach-routing.ts +142 -0
  1097. package/src/modules/workflows/lib/bulk-replay.ts +185 -0
  1098. package/src/modules/workflows/lib/business-rule-usage.ts +154 -0
  1099. package/src/modules/workflows/lib/caller-graph.ts +104 -0
  1100. package/src/modules/workflows/lib/code-view-apply.ts +178 -0
  1101. package/src/modules/workflows/lib/collect-validation-issues.ts +239 -0
  1102. package/src/modules/workflows/lib/compensation-ghosts.ts +134 -0
  1103. package/src/modules/workflows/lib/component-guard.ts +13 -0
  1104. package/src/modules/workflows/lib/condition-handler.ts +658 -0
  1105. package/src/modules/workflows/lib/context-ledger.ts +814 -0
  1106. package/src/modules/workflows/lib/crud-form-dialogs-flag.ts +5 -0
  1107. package/src/modules/workflows/lib/data-edge-mapping.ts +112 -0
  1108. package/src/modules/workflows/lib/definition-context-schema.ts +103 -0
  1109. package/src/modules/workflows/lib/definition-edit-safety.ts +228 -0
  1110. package/src/modules/workflows/lib/definition-error-body.ts +43 -0
  1111. package/src/modules/workflows/lib/definition-evaluation.ts +156 -0
  1112. package/src/modules/workflows/lib/definition-grant.ts +211 -0
  1113. package/src/modules/workflows/lib/definition-json-locations.ts +226 -0
  1114. package/src/modules/workflows/lib/definition-payload.ts +81 -0
  1115. package/src/modules/workflows/lib/draft-restore.ts +72 -0
  1116. package/src/modules/workflows/lib/dry-run.ts +203 -0
  1117. package/src/modules/workflows/lib/duration.ts +138 -24
  1118. package/src/modules/workflows/lib/edge-reattachment.ts +186 -0
  1119. package/src/modules/workflows/lib/edgeFormTransforms.ts +15 -14
  1120. package/src/modules/workflows/lib/editor-annotations.ts +301 -0
  1121. package/src/modules/workflows/lib/editor-commands.ts +205 -0
  1122. package/src/modules/workflows/lib/editor-history.ts +151 -0
  1123. package/src/modules/workflows/lib/endpoint-catalog.ts +283 -0
  1124. package/src/modules/workflows/lib/endpoint-path.ts +134 -0
  1125. package/src/modules/workflows/lib/engine-version.ts +67 -0
  1126. package/src/modules/workflows/lib/error-handler.ts +192 -0
  1127. package/src/modules/workflows/lib/error-routing.ts +236 -0
  1128. package/src/modules/workflows/lib/event-logger.ts +27 -0
  1129. package/src/modules/workflows/lib/expression-refs.ts +291 -0
  1130. package/src/modules/workflows/lib/failure-grouping.ts +134 -0
  1131. package/src/modules/workflows/lib/find-definition.ts +4 -0
  1132. package/src/modules/workflows/lib/flow-logic-warnings.ts +591 -0
  1133. package/src/modules/workflows/lib/graph-utils.ts +620 -110
  1134. package/src/modules/workflows/lib/icon-search.ts +65 -0
  1135. package/src/modules/workflows/lib/insert-at-cursor.ts +53 -0
  1136. package/src/modules/workflows/lib/instance-date-filter.ts +56 -0
  1137. package/src/modules/workflows/lib/interpolation-pipeline.ts +351 -0
  1138. package/src/modules/workflows/lib/ledger-drag.ts +61 -0
  1139. package/src/modules/workflows/lib/ledger-entry-display.ts +89 -0
  1140. package/src/modules/workflows/lib/ledger-schema-flatten.ts +137 -0
  1141. package/src/modules/workflows/lib/metrics/definition-metrics.ts +268 -0
  1142. package/src/modules/workflows/lib/metrics/metrics-display.ts +57 -0
  1143. package/src/modules/workflows/lib/metrics/rollup-schedule.ts +26 -0
  1144. package/src/modules/workflows/lib/metrics/rollup-service.ts +292 -0
  1145. package/src/modules/workflows/lib/node-config-summary.ts +235 -0
  1146. package/src/modules/workflows/lib/node-geometry.ts +168 -0
  1147. package/src/modules/workflows/lib/node-nudge.ts +63 -0
  1148. package/src/modules/workflows/lib/node-outcome-rows.ts +195 -0
  1149. package/src/modules/workflows/lib/node-placement.ts +104 -0
  1150. package/src/modules/workflows/lib/node-type-icons.ts +71 -10
  1151. package/src/modules/workflows/lib/nodeFormTransforms.ts +519 -28
  1152. package/src/modules/workflows/lib/outcome-routing.ts +346 -0
  1153. package/src/modules/workflows/lib/owned-definition.ts +188 -0
  1154. package/src/modules/workflows/lib/owned-node-changes.ts +29 -0
  1155. package/src/modules/workflows/lib/palette-drag.ts +68 -0
  1156. package/src/modules/workflows/lib/palette-drop.ts +114 -0
  1157. package/src/modules/workflows/lib/parallel-handler.ts +79 -2
  1158. package/src/modules/workflows/lib/port-contract.ts +107 -0
  1159. package/src/modules/workflows/lib/portal-task-access.ts +220 -0
  1160. package/src/modules/workflows/lib/rerun-from-step.ts +140 -0
  1161. package/src/modules/workflows/lib/route-chip-events.ts +45 -0
  1162. package/src/modules/workflows/lib/route-chips.ts +177 -0
  1163. package/src/modules/workflows/lib/route-edge.ts +57 -0
  1164. package/src/modules/workflows/lib/route-kinds.ts +166 -0
  1165. package/src/modules/workflows/lib/route-priority.ts +197 -0
  1166. package/src/modules/workflows/lib/run-duration.ts +70 -0
  1167. package/src/modules/workflows/lib/run-event-tone.ts +46 -0
  1168. package/src/modules/workflows/lib/run-execution.ts +598 -0
  1169. package/src/modules/workflows/lib/run-gantt.ts +311 -0
  1170. package/src/modules/workflows/lib/run-outcome-evidence.ts +60 -0
  1171. package/src/modules/workflows/lib/run-outcome.ts +142 -0
  1172. package/src/modules/workflows/lib/sample-resolver.ts +113 -0
  1173. package/src/modules/workflows/lib/seeds.ts +3 -1
  1174. package/src/modules/workflows/lib/server-output-contract.ts +120 -0
  1175. package/src/modules/workflows/lib/set-variable.ts +94 -0
  1176. package/src/modules/workflows/lib/signal-handler.ts +134 -4
  1177. package/src/modules/workflows/lib/start-fixtures.ts +93 -0
  1178. package/src/modules/workflows/lib/status-colors.ts +220 -21
  1179. package/src/modules/workflows/lib/step-handler.ts +744 -68
  1180. package/src/modules/workflows/lib/step-presentation.ts +295 -0
  1181. package/src/modules/workflows/lib/step-through.ts +71 -0
  1182. package/src/modules/workflows/lib/step-type-conversion.ts +263 -0
  1183. package/src/modules/workflows/lib/subgraph-clipboard.ts +214 -0
  1184. package/src/modules/workflows/lib/task-decision-context.ts +76 -0
  1185. package/src/modules/workflows/lib/task-decisions.ts +117 -0
  1186. package/src/modules/workflows/lib/task-entity-access.ts +181 -0
  1187. package/src/modules/workflows/lib/task-entity-aliases.ts +77 -0
  1188. package/src/modules/workflows/lib/task-entity-types.ts +66 -0
  1189. package/src/modules/workflows/lib/task-form-registry.ts +123 -0
  1190. package/src/modules/workflows/lib/task-form-schema.ts +129 -0
  1191. package/src/modules/workflows/lib/task-handler.ts +492 -51
  1192. package/src/modules/workflows/lib/task-inspector-config.ts +348 -0
  1193. package/src/modules/workflows/lib/task-list-query.ts +46 -0
  1194. package/src/modules/workflows/lib/task-notifications.ts +218 -0
  1195. package/src/modules/workflows/lib/task-permission-settings.ts +117 -0
  1196. package/src/modules/workflows/lib/task-presets.ts +95 -0
  1197. package/src/modules/workflows/lib/task-quick-action.ts +111 -0
  1198. package/src/modules/workflows/lib/task-resolution.ts +270 -0
  1199. package/src/modules/workflows/lib/task-sla.ts +628 -0
  1200. package/src/modules/workflows/lib/task-visibility-request.ts +668 -0
  1201. package/src/modules/workflows/lib/task-visibility.ts +627 -0
  1202. package/src/modules/workflows/lib/timer-handler.ts +8 -1
  1203. package/src/modules/workflows/lib/transition-handler.ts +228 -20
  1204. package/src/modules/workflows/lib/trigger-node.ts +272 -0
  1205. package/src/modules/workflows/lib/visual-editor-navigation.ts +29 -0
  1206. package/src/modules/workflows/lib/work-inbox/empty-state.ts +150 -0
  1207. package/src/modules/workflows/lib/work-inbox/entity-links.ts +99 -0
  1208. package/src/modules/workflows/lib/work-inbox/navigation.ts +28 -0
  1209. package/src/modules/workflows/lib/work-inbox/presentation.ts +163 -0
  1210. package/src/modules/workflows/lib/work-inbox/provider.ts +390 -0
  1211. package/src/modules/workflows/lib/work-inbox/query.ts +103 -0
  1212. package/src/modules/workflows/lib/work-inbox/service.ts +122 -0
  1213. package/src/modules/workflows/lib/work-inbox/user-task-source.ts +240 -0
  1214. package/src/modules/workflows/lib/workflow-command-enablement.ts +188 -0
  1215. package/src/modules/workflows/lib/workflow-command-settings.ts +124 -0
  1216. package/src/modules/workflows/lib/workflow-executor.ts +1036 -10
  1217. package/src/modules/workflows/lib/workflow-function-registry.ts +44 -0
  1218. package/src/modules/workflows/lib/workflow-safe-commands.ts +42 -1
  1219. package/src/modules/workflows/lib/workflow-templates.ts +91 -0
  1220. package/src/modules/workflows/migrations/.snapshot-open-mercato.json +2321 -698
  1221. package/src/modules/workflows/migrations/Migration20260626214855_workflows.ts +15 -0
  1222. package/src/modules/workflows/migrations/Migration20260626222424_workflows.ts +17 -0
  1223. package/src/modules/workflows/migrations/Migration20260727074335_workflows.ts +15 -0
  1224. package/src/modules/workflows/migrations/Migration20260728104038_workflows.ts +13 -0
  1225. package/src/modules/workflows/migrations/Migration20260728163001_workflows.ts +36 -0
  1226. package/src/modules/workflows/migrations/Migration20260729061736_workflows.ts +13 -0
  1227. package/src/modules/workflows/migrations/Migration20260729192652_workflows.ts +11 -0
  1228. package/src/modules/workflows/migrations/Migration20260730085000_workflows.ts +13 -0
  1229. package/src/modules/workflows/migrations/Migration20260730092706_workflows.ts +13 -0
  1230. package/src/modules/workflows/notifications.ts +40 -10
  1231. package/src/modules/workflows/setup.ts +128 -0
  1232. package/src/modules/workflows/subscribers/task-assigned-notification.ts +36 -45
  1233. package/src/modules/workflows/subscribers/task-deadline-breached-notification.ts +31 -0
  1234. package/src/modules/workflows/subscribers/task-reminder-notification.ts +31 -0
  1235. package/src/modules/workflows/widgets/injection/pending-work/widget.client.tsx +119 -0
  1236. package/src/modules/workflows/widgets/injection/pending-work/widget.ts +27 -0
  1237. package/src/modules/workflows/widgets/injection-table.ts +52 -2
  1238. package/src/modules/workflows/workers/workflow-activities.worker.ts +95 -42
  1239. package/src/modules/workflows/workers/workflow-definition-metric-rollup.worker.ts +71 -0
  1240. package/src/modules/workflows/workers/workflow-instance-bulk-replay.ts +51 -0
  1241. package/src/modules/workflows/workers/workflow-invoke-agent.worker.ts +72 -0
@@ -63,6 +63,10 @@
63
63
  "orderApproval.requestApproval": "승인 요청",
64
64
  "orderApproval.startError": "승인 워크플로우를 시작하지 못했습니다",
65
65
  "orderApproval.submitDecision": "결정 제출",
66
+ "run.agentActivity.step": "Step",
67
+ "run.agentActivity.subtitle": "Live steps and tool calls while the agent runs",
68
+ "run.agentActivity.title": "Agent activity",
69
+ "run.agentActivity.toolCall": "Tool",
66
70
  "workflows.actions.cancel": "취소",
67
71
  "workflows.actions.create": "워크플로우 생성",
68
72
  "workflows.actions.createVisual": "워크플로우 생성 (비주얼)",
@@ -73,6 +77,7 @@
73
77
  "workflows.actions.resetConfirm": "이 작업은 사용자 지정 내용을 삭제하고 코드로 정의된 버전으로 복원합니다. 계속하시겠습니까?",
74
78
  "workflows.actions.resetToCode": "코드 버전으로 재설정",
75
79
  "workflows.actions.saveChanges": "변경 사항 저장",
80
+ "workflows.actions.startInstance": "Start instance",
76
81
  "workflows.actions.toggleEnabled": "클릭하여 활성화/비활성화",
77
82
  "workflows.activities.activityId": "액티비티 ID",
78
83
  "workflows.activities.activityName": "액티비티 이름",
@@ -87,6 +92,7 @@
87
92
  "workflows.activities.editActivity": "액티비티 편집",
88
93
  "workflows.activities.plural": "액티비티",
89
94
  "workflows.activities.retryPolicy": "재시도 정책",
95
+ "workflows.activities.sendEmailSimulatedHint": "Without a configured email service, delivery is simulated — no email is actually sent.",
90
96
  "workflows.activities.singular": "액티비티",
91
97
  "workflows.activities.timeout": "타임아웃",
92
98
  "workflows.activities.title": "액티비티",
@@ -94,7 +100,9 @@
94
100
  "workflows.activities.types.CALL_WEBHOOK": "웹훅 호출",
95
101
  "workflows.activities.types.EMIT_EVENT": "이벤트 발생",
96
102
  "workflows.activities.types.EXECUTE_FUNCTION": "함수 실행",
103
+ "workflows.activities.types.INVOKE_AGENT": "Invoke Agent",
97
104
  "workflows.activities.types.SEND_EMAIL": "이메일 전송",
105
+ "workflows.activities.types.SET_VARIABLE": "Set Variable",
98
106
  "workflows.activities.types.UPDATE_ENTITY": "엔티티 업데이트",
99
107
  "workflows.activities.types.WAIT": "대기 / 지연",
100
108
  "workflows.activities.waitDuration": "지속 시간",
@@ -103,8 +111,141 @@
103
111
  "workflows.activities.waitOr": "또는",
104
112
  "workflows.activities.waitUntil": "다음 시점까지 대기",
105
113
  "workflows.activities.waitUntilDescription": "대기할 특정 날짜와 시간",
114
+ "workflows.activityConfig.CALL_API.body": "Body (JSON)",
115
+ "workflows.activityConfig.CALL_API.endpoint": "Endpoint",
116
+ "workflows.activityConfig.CALL_API.endpointHint": "Internal Open Mercato /api/* endpoint. The call authenticates with a one-time API key and, unless disabled below, validates that the response matches this tenant.",
117
+ "workflows.activityConfig.CALL_API.headers": "Headers",
118
+ "workflows.activityConfig.CALL_API.method": "Method",
119
+ "workflows.activityConfig.CALL_API.validateTenantMatch": "Validate tenant match",
120
+ "workflows.activityConfig.CALL_WEBHOOK.body": "Body (JSON)",
121
+ "workflows.activityConfig.CALL_WEBHOOK.headers": "Headers",
122
+ "workflows.activityConfig.CALL_WEBHOOK.method": "Method",
123
+ "workflows.activityConfig.CALL_WEBHOOK.url": "Webhook URL",
124
+ "workflows.activityConfig.CALL_WEBHOOK.urlHint": "External HTTP(S) endpoint. Private and internal addresses are blocked by the SSRF guard, and redirects are rejected.",
125
+ "workflows.activityConfig.EMIT_EVENT.eventName": "Event",
126
+ "workflows.activityConfig.EMIT_EVENT.payload": "Payload (JSON)",
127
+ "workflows.activityConfig.EXECUTE_FUNCTION.args": "Arguments (JSON)",
128
+ "workflows.activityConfig.EXECUTE_FUNCTION.functionName": "Function",
129
+ "workflows.activityConfig.EXECUTE_FUNCTION.functionNameHint": "Pick a registered function or type any function name — unregistered functions fail at runtime.",
130
+ "workflows.activityConfig.INVOKE_AGENT.agentId": "Agent",
131
+ "workflows.activityConfig.INVOKE_AGENT.input": "Input (JSON)",
132
+ "workflows.activityConfig.INVOKE_AGENT.onResult": "On result (JSON)",
133
+ "workflows.activityConfig.INVOKE_AGENT.outputMapping": "Output mapping (JSON)",
134
+ "workflows.activityConfig.SEND_EMAIL.body": "Body",
135
+ "workflows.activityConfig.SEND_EMAIL.subject": "Subject",
136
+ "workflows.activityConfig.SEND_EMAIL.template": "Template",
137
+ "workflows.activityConfig.SEND_EMAIL.to": "To",
138
+ "workflows.activityConfig.SET_VARIABLE.assignments": "Assignments",
139
+ "workflows.activityConfig.SET_VARIABLE.assignmentsHint": "Each assignment writes a value to a workflow context path. Values may use {{template}} expressions; toggle JSON for structured values.",
140
+ "workflows.activityConfig.UPDATE_ENTITY.commandId": "Command",
141
+ "workflows.activityConfig.UPDATE_ENTITY.commandIdHint": "Pick an allowlisted command or type any command id — commands outside the allowlist fail at runtime.",
142
+ "workflows.activityConfig.UPDATE_ENTITY.input": "Input (JSON)",
143
+ "workflows.activityConfig.UPDATE_ENTITY.statusDictionary": "Status dictionary",
144
+ "workflows.activityConfig.WAIT.duration": "Duration",
145
+ "workflows.activityConfig.WAIT.until": "Wait until",
146
+ "workflows.activityConfig.WAIT.xorHint": "Provide a duration or a wait-until time, not both.",
147
+ "workflows.activityDialog.advanced": "Advanced",
148
+ "workflows.activityDialog.async": "Run asynchronously",
149
+ "workflows.activityDialog.name": "Name",
150
+ "workflows.activityDialog.noTypedConfig": "This activity type has no typed config form. Use \"Open full transition\" for advanced JSON.",
151
+ "workflows.activityDialog.onRoute": "On route {route}",
152
+ "workflows.activityDialog.openFull": "Open full transition…",
153
+ "workflows.activityDialog.remove": "Remove activity",
154
+ "workflows.activityDialog.retry": "Retry policy",
155
+ "workflows.activityDialog.retryAttempts": "Max attempts",
156
+ "workflows.activityDialog.retryBackoff": "Backoff coefficient",
157
+ "workflows.activityDialog.retryInitial": "Initial interval (ms)",
158
+ "workflows.activityDialog.retryMax": "Max interval (ms)",
159
+ "workflows.activityDialog.save": "Save activity",
160
+ "workflows.activityDialog.timeout": "Timeout",
161
+ "workflows.activityDialog.title": "Edit activity",
162
+ "workflows.activityDialog.type": "Type",
163
+ "workflows.aiDraft.applied": "AI draft applied. Review the problems, then save when you are happy with it.",
164
+ "workflows.aiDraft.apply": "Apply to canvas",
165
+ "workflows.aiDraft.cannotApplyTitle": "This draft cannot be applied",
166
+ "workflows.aiDraft.close": "Close AI draft panel",
167
+ "workflows.aiDraft.counts": "{steps} step(s), {routes} route(s)",
168
+ "workflows.aiDraft.description": "Describe the process in plain language. The draft is authored against this installation's real activities, commands and events, lands on the canvas as a single undoable step, and is never saved or enabled for you.",
169
+ "workflows.aiDraft.failedTitle": "The workflow could not be generated",
170
+ "workflows.aiDraft.generate": "Generate draft",
171
+ "workflows.aiDraft.modelError": "The AI provider returned an error. Nothing on the canvas was changed.",
172
+ "workflows.aiDraft.networkError": "The request did not reach the server. Nothing on the canvas was changed.",
173
+ "workflows.aiDraft.notAWorkflow": "The model produced something that does not describe a workflow, so nothing was applied. Try rephrasing the request.",
174
+ "workflows.aiDraft.notAWorkflowTitle": "The generated result is not a workflow",
175
+ "workflows.aiDraft.notAllowed": "You need permission to create workflow definitions to use AI authoring.",
176
+ "workflows.aiDraft.notAllowedTitle": "Not allowed",
177
+ "workflows.aiDraft.open": "Draft this workflow with AI",
178
+ "workflows.aiDraft.problemCounts": "{errors} error(s), {warnings} warning(s)",
179
+ "workflows.aiDraft.promptLabel": "What should this workflow do?",
180
+ "workflows.aiDraft.promptPlaceholder": "When a refund is requested above 500, ask a manager to approve it, then notify the customer.",
181
+ "workflows.aiDraft.refusedUnknown": "The generated definition was refused.",
182
+ "workflows.aiDraft.regenerate": "Generate again",
183
+ "workflows.aiDraft.repairAttempted": "아래 오류를 모델에 {count}회 다시 전달했지만 해결하지 못했습니다.",
184
+ "workflows.aiDraft.replaceBody": "Every step and route on the canvas is replaced. It is one undo away.",
185
+ "workflows.aiDraft.replaceTitle": "Applying replaces the current canvas",
186
+ "workflows.aiDraft.reviewTitle": "Review before applying",
187
+ "workflows.aiDraft.serverError": "The server could not generate a draft. Nothing on the canvas was changed.",
188
+ "workflows.aiDraft.title": "Draft a workflow with AI",
189
+ "workflows.aiDraft.toggleShort": "AI draft",
190
+ "workflows.aiDraft.unavailable": "No AI provider is configured for this installation, so nothing was generated and the canvas is unchanged. Ask an administrator to configure an AI provider.",
191
+ "workflows.aiDraft.unavailableTitle": "AI authoring is not available",
192
+ "workflows.annotations.close": "Close annotation editor",
193
+ "workflows.annotations.confirmDeleteText": "The note or group is removed from the canvas. Nothing the workflow executes changes.",
194
+ "workflows.annotations.confirmDeleteTitle": "Delete annotation?",
195
+ "workflows.annotations.group.add": "Group",
196
+ "workflows.annotations.group.addHint": "Add a named region around part of the canvas",
197
+ "workflows.annotations.group.collapse": "Collapse group",
198
+ "workflows.annotations.group.collapsedBadge": "Collapsed",
199
+ "workflows.annotations.group.collapsedLabel": "Collapsed (visual only)",
200
+ "workflows.annotations.group.delete": "Delete group",
201
+ "workflows.annotations.group.dialogDescription": "Groups label a region of the canvas. Collapsing one changes nothing the engine runs.",
202
+ "workflows.annotations.group.dialogTitle": "Edit group",
203
+ "workflows.annotations.group.expand": "Expand group",
204
+ "workflows.annotations.group.nameLabel": "Group name",
205
+ "workflows.annotations.group.namePlaceholder": "Fulfillment",
206
+ "workflows.annotations.group.untitled": "Untitled group",
207
+ "workflows.annotations.note.add": "Note",
208
+ "workflows.annotations.note.addHint": "Add a markdown sticky note to the canvas",
209
+ "workflows.annotations.note.delete": "Delete note",
210
+ "workflows.annotations.note.dialogDescription": "Notes document the workflow for the people editing it. They are never executed.",
211
+ "workflows.annotations.note.dialogTitle": "Edit note",
212
+ "workflows.annotations.note.empty": "Empty note — click to write something.",
213
+ "workflows.annotations.note.markdownLabel": "Markdown",
214
+ "workflows.annotations.note.markdownPlaceholder": "## Why this branch exists",
215
+ "workflows.annotations.note.typeLabel": "Note",
216
+ "workflows.annotations.paletteHint": "Documentation only — never executed",
217
+ "workflows.annotations.paletteTitle": "Annotations",
106
218
  "workflows.backToList": "워크플로우 목록으로 돌아가기",
107
- "workflows.backend.definitions.visual_editor.title": "비주얼 워크플로우 에디터",
219
+ "workflows.backend.definitions.visual_editor.title": "비주얼 자동화 에디터",
220
+ "workflows.branching.caseBadge": "Case",
221
+ "workflows.branching.caseLabelField": "Label",
222
+ "workflows.branching.caseValueField": "Value",
223
+ "workflows.branching.duplicateCases": "Duplicate case value(s): {values}. Only the highest-priority route can ever match.",
224
+ "workflows.branching.groupDescription": "Routing happens on the outgoing transitions: each case is evaluated by priority, and the otherwise route runs when none matches.",
225
+ "workflows.branching.groupTitle": "Routes",
226
+ "workflows.branching.makeOtherwise": "Use as otherwise",
227
+ "workflows.branching.noRoutes": "Connect this step to its next steps on the canvas — every connection becomes a route you can condition here.",
228
+ "workflows.branching.noRuleSelected": "No rule selected",
229
+ "workflows.branching.otherwiseBadge": "Otherwise",
230
+ "workflows.branching.otherwiseHint": "The otherwise route runs when no other route matches. It is always evaluated last.",
231
+ "workflows.branching.otherwiseRequired": "A Switch always keeps one otherwise route so an unmatched value cannot stall the workflow.",
232
+ "workflows.branching.routeTarget": "Routes to {stepId}",
233
+ "workflows.branching.selectRule": "Select rule",
234
+ "workflows.branching.selectRuleTitle": "Select a business rule",
235
+ "workflows.branching.singleRoute": "Add a second outgoing connection so this step has both a conditioned route and an otherwise route.",
236
+ "workflows.branching.switchField": "Field",
237
+ "workflows.branching.switchFieldHint": "The context path this step switches on. Each case compares it for equality.",
238
+ "workflows.branching.switchFieldPlaceholder": "order.status",
239
+ "workflows.branching.useBusinessRule": "Use a Business Rule instead",
240
+ "workflows.businessRules.editRule": "Edit rule",
241
+ "workflows.businessRules.newRule": "New rule",
242
+ "workflows.businessRules.usage.empty": "No workflow references this rule yet.",
243
+ "workflows.businessRules.usage.kinds.startPreCondition": "· start pre-condition",
244
+ "workflows.businessRules.usage.kinds.transitionPostCondition": "· route post-condition",
245
+ "workflows.businessRules.usage.kinds.transitionPreCondition": "· route pre-condition",
246
+ "workflows.businessRules.usage.title": "Used by",
247
+ "workflows.businessRules.usage.unavailable": "Usage could not be loaded.",
248
+ "workflows.businessRules.usage.workflowCount": "{{count}} workflows",
108
249
  "workflows.checkoutDemo.cart.decreaseQty": "수량 줄이기",
109
250
  "workflows.checkoutDemo.cart.empty.hint": "위 드롭다운에서 상품을 추가하세요",
110
251
  "workflows.checkoutDemo.cart.empty.title": "장바구니가 비어 있습니다",
@@ -249,6 +390,53 @@
249
390
  "workflows.checkoutDemo.waitPayment.statusLabel": "상태:",
250
391
  "workflows.checkoutDemo.waitPayment.timeout": "타임아웃: 5분",
251
392
  "workflows.checkoutDemo.waitPayment.title": "결제 확인 대기 중",
393
+ "workflows.commandPalette.addGroup": "Add group",
394
+ "workflows.commandPalette.addNote": "Add note",
395
+ "workflows.commandPalette.addStep": "Add step: {type}",
396
+ "workflows.commandPalette.buttonLabel": "Commands",
397
+ "workflows.commandPalette.clear": "Clear search",
398
+ "workflows.commandPalette.copy": "Copy selection",
399
+ "workflows.commandPalette.delete": "Delete selection",
400
+ "workflows.commandPalette.duplicate": "Duplicate selection",
401
+ "workflows.commandPalette.empty": "No matching command",
402
+ "workflows.commandPalette.goToStep": "Go to step",
403
+ "workflows.commandPalette.groups.add": "Add",
404
+ "workflows.commandPalette.groups.edit": "Edit",
405
+ "workflows.commandPalette.groups.navigate": "Go to",
406
+ "workflows.commandPalette.groups.run": "Run",
407
+ "workflows.commandPalette.groups.view": "View",
408
+ "workflows.commandPalette.open": "Commands (Cmd+K)",
409
+ "workflows.commandPalette.paste": "Paste",
410
+ "workflows.commandPalette.placeholder": "Search commands…",
411
+ "workflows.commandPalette.redo": "Redo",
412
+ "workflows.commandPalette.title": "Workflow commands",
413
+ "workflows.commandPalette.toggleCodeView": "Toggle the Code view",
414
+ "workflows.commandPalette.toggleCompensation": "Toggle compensation paths",
415
+ "workflows.commandPalette.toggleFocus": "Toggle focus mode",
416
+ "workflows.commandPalette.toggleMetadata": "Toggle the workflow details panel",
417
+ "workflows.commandPalette.togglePalette": "Toggle the step palette",
418
+ "workflows.commandPalette.toggleProblems": "Toggle the Problems panel",
419
+ "workflows.commandPalette.undo": "Undo",
420
+ "workflows.commandPicker.lookupUnavailable": "Command list unavailable — type a command id manually",
421
+ "workflows.commandPicker.placeholder": "sales.orders.update",
422
+ "workflows.commandPicker.selectedDisabled": "This command is not enabled for your organisation. A workflow run will fail on this activity until an administrator enables it in Workflow settings.",
423
+ "workflows.commandPicker.selectedUnknown": "This command is not in the workflow-safe catalogue. A workflow run will fail on this activity.",
424
+ "workflows.commandPicker.unavailableHint": "An administrator can enable these in Settings → Workflow commands.",
425
+ "workflows.commandPicker.unavailableTitle": "Not enabled for your organisation",
426
+ "workflows.commandPicker.warningLabel": "Warning:",
427
+ "workflows.commandSettings.empty": "No module has declared a workflow-safe command.",
428
+ "workflows.commandSettings.groupDescription": "Commands declared by this module.",
429
+ "workflows.commandSettings.loadError": "Failed to load workflow commands",
430
+ "workflows.commandSettings.loading": "Loading workflow commands…",
431
+ "workflows.commandSettings.notConfiguredHint": "These settings have never been saved for your organisation, so the defaults above are in effect.",
432
+ "workflows.commandSettings.pageDescription": "Choose which business commands your workflows may execute from an Update entity activity. Commands are declared by the modules that own them; ticking one lets workflows run it, and the person a workflow runs as must still hold the listed permission.",
433
+ "workflows.commandSettings.pageTitle": "자동화 명령",
434
+ "workflows.commandSettings.requires": "Requires:",
435
+ "workflows.commandSettings.retry": "Retry",
436
+ "workflows.commandSettings.save": "Save",
437
+ "workflows.commandSettings.saveError": "Failed to save workflow commands",
438
+ "workflows.commandSettings.saveSuccess": "Workflow commands saved",
439
+ "workflows.commandSettings.saving": "Saving…",
252
440
  "workflows.common.back": "뒤로",
253
441
  "workflows.common.browse": "찾아보기",
254
442
  "workflows.common.cancel": "취소",
@@ -289,6 +477,11 @@
289
477
  "workflows.common.view": "보기",
290
478
  "workflows.common.warning": "경고",
291
479
  "workflows.common.workflowNotFoundOrUnavailable": "워크플로우를 찾을 수 없거나 사용할 수 없습니다",
480
+ "workflows.compensation.ghostAriaLabel": "Compensation path for {activities}",
481
+ "workflows.compensation.ghostLabel": "Compensation",
482
+ "workflows.compensation.nodeBadge": "Leaving this step schedules compensation",
483
+ "workflows.compensation.toggle": "Show compensation paths",
484
+ "workflows.compensation.toggleShort": "Compensation",
292
485
  "workflows.confirm.delete": "워크플로우 '{{name}}'을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
293
486
  "workflows.confirm.deleteStep": "단계 \"{{name}}\"을(를) 삭제하시겠습니까?",
294
487
  "workflows.confirm.deleteStepTitle": "단계 삭제",
@@ -296,10 +489,28 @@
296
489
  "workflows.confirm.deleteTransitionText": "이 전환을 삭제하시겠습니까?",
297
490
  "workflows.confirm.deleteTransitionTitle": "전환 삭제",
298
491
  "workflows.confirm.removeField": "이 필드를 제거하시겠습니까?",
492
+ "workflows.contextSchema.addField": "Add input",
493
+ "workflows.contextSchema.description": "Declare the inputs this workflow expects in its context when it starts, so steps and triggers can rely on them.",
494
+ "workflows.contextSchema.emptyState": "No inputs declared yet. Declare the inputs this workflow expects to receive when it starts.",
495
+ "workflows.contextSchema.fields.label": "Label",
496
+ "workflows.contextSchema.fields.name": "Name",
497
+ "workflows.contextSchema.fields.options": "Options",
498
+ "workflows.contextSchema.fields.required": "Required",
499
+ "workflows.contextSchema.fields.type": "Type",
500
+ "workflows.contextSchema.placeholders.label": "Deal ID",
501
+ "workflows.contextSchema.placeholders.name": "dealId",
502
+ "workflows.contextSchema.placeholders.options": "Add option",
503
+ "workflows.contextSchema.removeField": "Remove input",
504
+ "workflows.contextSchema.title": "Context",
505
+ "workflows.contextSchema.types.boolean": "Boolean",
506
+ "workflows.contextSchema.types.date": "Date",
507
+ "workflows.contextSchema.types.number": "Number",
508
+ "workflows.contextSchema.types.select": "Select",
509
+ "workflows.contextSchema.types.text": "Text",
299
510
  "workflows.create.description": "단계, 전환, 액티비티로 새 워크플로우를 정의합니다",
300
511
  "workflows.create.eventTriggersDescription": "이 워크플로우 정의를 생성한 후, 시스템에서 특정 이벤트가 발생할 때 워크플로우를 자동으로 시작하도록 이벤트 트리거를 설정할 수 있습니다.",
301
512
  "workflows.create.eventTriggersTitle": "이벤트 트리거",
302
- "workflows.create.title": "워크플로우 정의 생성",
513
+ "workflows.create.title": "자동화 생성",
303
514
  "workflows.definitions.activities": "액티비티",
304
515
  "workflows.definitions.backToList": "정의 목록으로 돌아가기",
305
516
  "workflows.definitions.category": "카테고리",
@@ -323,7 +534,7 @@
323
534
  "workflows.definitions.singular": "워크플로우 정의",
324
535
  "workflows.definitions.steps": "단계",
325
536
  "workflows.definitions.tags": "태그",
326
- "workflows.definitions.title": "워크플로우 정의",
537
+ "workflows.definitions.title": "자동화",
327
538
  "workflows.definitions.transitions": "전환",
328
539
  "workflows.definitions.updatedAt": "수정일",
329
540
  "workflows.definitions.updatedBy": "수정자",
@@ -332,7 +543,22 @@
332
543
  "workflows.definitions.workflowName": "워크플로우 이름",
333
544
  "workflows.dialogs.selectSubWorkflow": "하위 워크플로우 선택",
334
545
  "workflows.dialogs.selectSubWorkflowDescription": "하위 워크플로우 단계로 호출할 워크플로우를 선택하세요",
546
+ "workflows.dryRun.badge": "Dry run",
547
+ "workflows.dryRun.bannerDescription": "This run is a simulation. Nothing it touched was real: no email was sent, no record was written, no event was emitted, no task was raised and no agent proposal exists.",
548
+ "workflows.dryRun.report.description": "Every side effect this run suppressed, in execution order.",
549
+ "workflows.dryRun.report.empty": "This run has not suppressed anything yet.",
550
+ "workflows.dryRun.report.kind.activity": "Would run",
551
+ "workflows.dryRun.report.kind.businessRule": "Rule actions withheld",
552
+ "workflows.dryRun.report.kind.refusal": "Cannot simulate",
553
+ "workflows.dryRun.report.kind.userTask": "Would raise task",
554
+ "workflows.dryRun.report.severity.error": "Error",
555
+ "workflows.dryRun.report.severity.info": "Information",
556
+ "workflows.dryRun.report.severity.warning": "Warning",
557
+ "workflows.dryRun.report.stoppedDescription": "An activity type refused simulation, so the rest of the workflow was not explored.",
558
+ "workflows.dryRun.report.stoppedTitle": "The dry run stopped early",
559
+ "workflows.dryRun.report.title": "Would do",
335
560
  "workflows.edgeEditor.activities": "액티비티",
561
+ "workflows.edgeEditor.activitiesDescription": "Activities executed when this transition fires",
336
562
  "workflows.edgeEditor.activityId": "액티비티 ID",
337
563
  "workflows.edgeEditor.activityIdPlaceholder": "activity_name",
338
564
  "workflows.edgeEditor.activityName": "액티비티 이름",
@@ -348,6 +574,8 @@
348
574
  "workflows.edgeEditor.businessRuleDetails": "비즈니스 규칙 상세 정보",
349
575
  "workflows.edgeEditor.cancel": "취소",
350
576
  "workflows.edgeEditor.compensateOption": "보상 처리 (실패 시 보상 작업 실행)",
577
+ "workflows.edgeEditor.condition": "Route condition",
578
+ "workflows.edgeEditor.conditionHint": "Evaluated before this route is taken. Routes are tried highest priority first; the route without a condition is the default.",
351
579
  "workflows.edgeEditor.configurationHint": "액티비티별 설정을 JSON으로 입력합니다",
352
580
  "workflows.edgeEditor.configurationJson": "설정 (JSON)",
353
581
  "workflows.edgeEditor.confirmDelete": "이 전환을 삭제하시겠습니까?",
@@ -359,6 +587,11 @@
359
587
  "workflows.edgeEditor.entityType": "엔티티 유형",
360
588
  "workflows.edgeEditor.eventType": "이벤트 유형",
361
589
  "workflows.edgeEditor.flow": "흐름",
590
+ "workflows.edgeEditor.groups.basic": "Basic Configuration",
591
+ "workflows.edgeEditor.groups.businessRules": "Business Rules",
592
+ "workflows.edgeEditor.groups.businessRulesDescription": "Define pre-conditions (guards) and post-conditions (validations) for this transition",
593
+ "workflows.edgeEditor.groups.routing": "Routing",
594
+ "workflows.edgeEditor.groups.routingDescription": "When this route is taken.",
362
595
  "workflows.edgeEditor.id": "ID",
363
596
  "workflows.edgeEditor.initialInterval": "초기 간격 (ms)",
364
597
  "workflows.edgeEditor.maxAttempts": "최대 시도 횟수",
@@ -366,6 +599,7 @@
366
599
  "workflows.edgeEditor.noActivities": "정의된 액티비티가 없습니다. \"액티비티 추가\"를 클릭하여 생성하세요.",
367
600
  "workflows.edgeEditor.noPostConditions": "정의된 사후 조건이 없습니다. 전환 이후 검증할 비즈니스 규칙을 추가하세요.",
368
601
  "workflows.edgeEditor.noPreConditions": "정의된 사전 조건이 없습니다. 전환 전 검증할 비즈니스 규칙을 추가하세요.",
602
+ "workflows.edgeEditor.placeholders.transitionName": "Enter transition name",
369
603
  "workflows.edgeEditor.postConditions": "사후 조건",
370
604
  "workflows.edgeEditor.postConditionsHint": "전환이 발생한 후(AFTER) 검증할 비즈니스 규칙 (기록만 됨)",
371
605
  "workflows.edgeEditor.preConditions": "사전 조건",
@@ -385,6 +619,7 @@
385
619
  "workflows.edgeEditor.ruleName": "이름",
386
620
  "workflows.edgeEditor.ruleType": "유형",
387
621
  "workflows.edgeEditor.saveChanges": "변경 사항 저장",
622
+ "workflows.edgeEditor.saveTransition": "Save Transition",
388
623
  "workflows.edgeEditor.selectBusinessRule": "비즈니스 규칙 선택",
389
624
  "workflows.edgeEditor.selectBusinessRuleDescription": "{{mode}}(으)로 추가할 규칙을 선택하세요",
390
625
  "workflows.edgeEditor.timeout": "타임아웃",
@@ -399,11 +634,20 @@
399
634
  "workflows.edgeEditor.triggerDescriptions.signal": "외부 시그널/이벤트를 기다립니다",
400
635
  "workflows.edgeEditor.triggerDescriptions.timer": "지정된 기간 또는 시각까지 기다립니다",
401
636
  "workflows.edgeEditor.triggerType": "트리거 유형",
637
+ "workflows.edgeEditor.triggerTypeDescription": "How this transition is triggered",
402
638
  "workflows.edit.description": "다음 워크플로우의 단계, 전환, 액티비티를 수정합니다:",
403
639
  "workflows.edit.loading": "워크플로우 로딩 중...",
404
- "workflows.edit.title": "워크플로우 정의 편집",
640
+ "workflows.edit.title": "자동화 편집",
405
641
  "workflows.edit.visualEditorAvailable": "비주얼 에디터 사용 가능",
406
642
  "workflows.edit.visualEditorDescription": "드래그 앤 드롭 방식의 비주얼 에디터로 이 워크플로우를 편집합니다",
643
+ "workflows.endpointPicker.bodyFields": "Request body fields",
644
+ "workflows.endpointPicker.browse": "Browse",
645
+ "workflows.endpointPicker.lookupUnavailable": "Endpoint catalog unavailable — type an endpoint path manually",
646
+ "workflows.endpointPicker.noResults": "No endpoints match",
647
+ "workflows.endpointPicker.params": "Parameters",
648
+ "workflows.endpointPicker.placeholder": "/api/customers/people",
649
+ "workflows.endpointPicker.searchPlaceholder": "Search endpoints…",
650
+ "workflows.endpointPicker.untagged": "Other",
407
651
  "workflows.errors.createFailed": "워크플로우 생성에 실패했습니다",
408
652
  "workflows.errors.fetchFailed": "워크플로우를 가져오는 데 실패했습니다",
409
653
  "workflows.errors.loadFailed": "워크플로우를 불러오지 못했습니다. 다시 시도해 주세요.",
@@ -417,7 +661,7 @@
417
661
  "workflows.events.detail.summary": "이벤트 요약",
418
662
  "workflows.events.detail.technicalDetails": "기술 세부 정보",
419
663
  "workflows.events.detail.tenantId": "테넌트 ID",
420
- "workflows.events.detail.title": "워크플로우 이벤트 상세 정보",
664
+ "workflows.events.detail.title": "자동화 이벤트 상세 정보",
421
665
  "workflows.events.detail.type": "이벤트 유형",
422
666
  "workflows.events.detail.workflowContext": "워크플로우 컨텍스트",
423
667
  "workflows.events.detail.workflowInstance": "워크플로우 인스턴스",
@@ -441,7 +685,7 @@
441
685
  "workflows.events.occurredAt": "발생 시각",
442
686
  "workflows.events.plural": "이벤트",
443
687
  "workflows.events.singular": "이벤트",
444
- "workflows.events.title": "워크플로우 이벤트",
688
+ "workflows.events.title": "자동화 이벤트",
445
689
  "workflows.events.types.ACTIVITY_COMPLETED": "활동 완료",
446
690
  "workflows.events.types.ACTIVITY_FAILED": "활동 실패",
447
691
  "workflows.events.types.ACTIVITY_QUEUED": "활동 대기열 등록",
@@ -522,6 +766,23 @@
522
766
  "workflows.events.types.workflow_waiting_for_activities": "활동 대기 중",
523
767
  "workflows.events.userId": "사용자 ID",
524
768
  "workflows.events.workflowNotFound": "워크플로우를 찾을 수 없습니다",
769
+ "workflows.failureQueue.actions.cancel": "Cancel selected",
770
+ "workflows.failureQueue.actions.retry": "Replay selected",
771
+ "workflows.failureQueue.columns.age": "Age",
772
+ "workflows.failureQueue.columns.reason": "Reason",
773
+ "workflows.failureQueue.confirm.cancel": "Cancel {count} instance(s)?",
774
+ "workflows.failureQueue.confirm.retry": "Replay {count} instance(s)?",
775
+ "workflows.failureQueue.empty": "Nothing is waiting for triage.",
776
+ "workflows.failureQueue.groups.active": "Showing {count} instance(s) in this group.",
777
+ "workflows.failureQueue.groups.empty": "Nothing is waiting for triage.",
778
+ "workflows.failureQueue.groups.title": "Grouped by error",
779
+ "workflows.failureQueue.groups.truncated": "Grouped from the {count} most recent failures. Narrow by workflow to group the rest.",
780
+ "workflows.failureQueue.messages.bulkFailed": "Could not start the bulk operation.",
781
+ "workflows.failureQueue.messages.cancelStarted": "Cancellation started. Track progress in the top bar.",
782
+ "workflows.failureQueue.messages.loadFailed": "Failed to load the failure queue.",
783
+ "workflows.failureQueue.messages.retryStarted": "Replay started. Track progress in the top bar.",
784
+ "workflows.failureQueue.noReason": "No error message recorded",
785
+ "workflows.failureQueue.title": "Failure queue",
525
786
  "workflows.features.complete_tasks": "사용자 작업 완료 처리",
526
787
  "workflows.features.create": "워크플로우 생성",
527
788
  "workflows.features.delete": "워크플로우 삭제",
@@ -539,6 +800,14 @@
539
800
  "workflows.fieldEditors.activities.activityOptions": "활동 옵션",
540
801
  "workflows.fieldEditors.activities.activityType": "활동 유형",
541
802
  "workflows.fieldEditors.activities.addActivity": "활동 추가",
803
+ "workflows.fieldEditors.activities.advancedJson": "Advanced (JSON)",
804
+ "workflows.fieldEditors.activities.assignmentAddRow": "Add assignment",
805
+ "workflows.fieldEditors.activities.assignmentJsonToggle": "JSON",
806
+ "workflows.fieldEditors.activities.assignmentPath": "Path",
807
+ "workflows.fieldEditors.activities.assignmentPathPlaceholder": "customer.priority",
808
+ "workflows.fieldEditors.activities.assignmentRemoveRow": "Remove assignment",
809
+ "workflows.fieldEditors.activities.assignmentValue": "Value",
810
+ "workflows.fieldEditors.activities.assignmentValuePlaceholder": "Value or {{context.order.id}}",
542
811
  "workflows.fieldEditors.activities.asyncOption": "비동기 (백그라운드 실행)",
543
812
  "workflows.fieldEditors.activities.backoffCoefficient": "백오프 계수",
544
813
  "workflows.fieldEditors.activities.compensateOption": "보상 처리 (실패 시 보상 작업 실행)",
@@ -547,6 +816,11 @@
547
816
  "workflows.fieldEditors.activities.confirmRemove": "이 활동을 삭제하시겠습니까?",
548
817
  "workflows.fieldEditors.activities.emptyState": "정의된 활동이 없습니다. \"활동 추가\"를 클릭하여 새로 만드세요.",
549
818
  "workflows.fieldEditors.activities.initialInterval": "초기 간격 (ms)",
819
+ "workflows.fieldEditors.activities.invalidJson": "Invalid JSON — fix the syntax to apply changes",
820
+ "workflows.fieldEditors.activities.keyValueAddRow": "Add row",
821
+ "workflows.fieldEditors.activities.keyValueKey": "Key",
822
+ "workflows.fieldEditors.activities.keyValueRemoveRow": "Remove row",
823
+ "workflows.fieldEditors.activities.keyValueValue": "Value",
550
824
  "workflows.fieldEditors.activities.maxAttempts": "최대 시도 횟수",
551
825
  "workflows.fieldEditors.activities.maxInterval": "최대 간격 (ms)",
552
826
  "workflows.fieldEditors.activities.removeActivity": "활동 삭제",
@@ -554,6 +828,17 @@
554
828
  "workflows.fieldEditors.activities.timeout": "제한 시간",
555
829
  "workflows.fieldEditors.activities.timeoutHint": "ISO 8601 기간 형식 또는 밀리초 단위로 입력하세요",
556
830
  "workflows.fieldEditors.activities.timeoutPlaceholder": "PT30S 또는 30000",
831
+ "workflows.fieldEditors.agentSelector.agentNotFound": "This agent is not registered in this tenant — it may be disabled or provided by a module that is not installed.",
832
+ "workflows.fieldEditors.agentSelector.browseAgents": "Browse Agents",
833
+ "workflows.fieldEditors.agentSelector.clearSearch": "Clear search",
834
+ "workflows.fieldEditors.agentSelector.loading": "Loading agents...",
835
+ "workflows.fieldEditors.agentSelector.noAgentSelected": "No agent selected",
836
+ "workflows.fieldEditors.agentSelector.noAgents": "No agents are available",
837
+ "workflows.fieldEditors.agentSelector.noAgentsHint": "Agents are provided by the agent orchestrator module.",
838
+ "workflows.fieldEditors.agentSelector.noMatches": "No agents found matching your search",
839
+ "workflows.fieldEditors.agentSelector.searchPlaceholder": "Search by agent ID, name, or description...",
840
+ "workflows.fieldEditors.agentSelector.selectAgent": "Select Agent",
841
+ "workflows.fieldEditors.agentSelector.selectAgentDescription": "Choose the agent this step invokes",
557
842
  "workflows.fieldEditors.businessRuleConditions.addRule": "규칙 추가",
558
843
  "workflows.fieldEditors.businessRuleConditions.confirmRemove": "이 조건을 삭제하시겠습니까?",
559
844
  "workflows.fieldEditors.businessRuleConditions.emptyDescription": "이 전환에 대한 비즈니스 규칙 조건을 추가하세요.",
@@ -629,6 +914,17 @@
629
914
  "workflows.filters.status": "상태",
630
915
  "workflows.filters.workflowId": "워크플로우 ID",
631
916
  "workflows.filters.workflowIdPlaceholder": "워크플로우 ID로 필터링...",
917
+ "workflows.fixtures.delete": "Delete the fixture {name}",
918
+ "workflows.fixtures.errors.emptyName": "Give the fixture a name.",
919
+ "workflows.fixtures.errors.nameTooLong": "That fixture name is too long.",
920
+ "workflows.fixtures.errors.tooLarge": "That context is too large to store as a fixture.",
921
+ "workflows.fixtures.errors.tooMany": "This definition already has the maximum number of fixtures. Delete one first.",
922
+ "workflows.fixtures.label": "Fixtures",
923
+ "workflows.fixtures.nameLabel": "Save this context as",
924
+ "workflows.fixtures.namePlaceholder": "happy path",
925
+ "workflows.fixtures.save": "Save fixture",
926
+ "workflows.fixtures.saved": "Fixture saved — it is stored with the definition on save",
927
+ "workflows.fixtures.storageWarning": "Fixtures are stored verbatim with the definition and are not encrypted — do not save real personal data.",
632
928
  "workflows.form.activitiesLabel": "활동",
633
929
  "workflows.form.activityId": "활동 ID",
634
930
  "workflows.form.activityName": "활동 이름",
@@ -643,7 +939,6 @@
643
939
  "workflows.form.assignedToRoles": "담당 역할",
644
940
  "workflows.form.async": "비동기",
645
941
  "workflows.form.backoffCoefficient": "백오프 계수",
646
- "workflows.form.backoffMultiplier": "백오프 배수",
647
942
  "workflows.form.browse": "찾아보기...",
648
943
  "workflows.form.category": "카테고리",
649
944
  "workflows.form.configuration": "설정 (JSON)",
@@ -663,6 +958,8 @@
663
958
  "workflows.form.descriptions.effectiveFrom": "이 날짜부터 워크플로우가 활성화됩니다",
664
959
  "workflows.form.descriptions.effectiveTo": "이 날짜 이후 워크플로우가 비활성화됩니다",
665
960
  "workflows.form.descriptions.enabled": "사용 설정된 워크플로우만 시작할 수 있습니다",
961
+ "workflows.form.descriptions.errorDirectiveFallbackValue": "JSON value used when the directive is \"Continue with a fallback value\". Typed against this step output contract; leave empty to continue without writing anything.",
962
+ "workflows.form.descriptions.errorDirectiveMode": "Fail the instance, continue with a fallback value written to the run context under this step id, or park the run for triage.",
666
963
  "workflows.form.descriptions.fieldLabel": "사용자에게 표시되는 라벨",
667
964
  "workflows.form.descriptions.fieldName": "이 필드의 고유 식별자",
668
965
  "workflows.form.descriptions.formFields": "이 사용자 작업의 양식 구조를 정의하세요",
@@ -684,10 +981,18 @@
684
981
  "workflows.form.descriptions.timeoutMs": "밀리초 단위의 제한 시간 (예: 30000 = 30초)",
685
982
  "workflows.form.descriptions.transitions": "워크플로우가 단계 간에 이동하는 방식을 정의하세요. 전환에는 조건과 활동을 지정할 수 있습니다.",
686
983
  "workflows.form.descriptions.version": "버전 번호 (주요 변경 시 증가)",
984
+ "workflows.form.descriptions.waitConditionOnTimeout": "Fail the step, or continue with \"timedOut\" set so an outgoing route can branch on it.",
985
+ "workflows.form.descriptions.waitConditionPollIntervalMs": "Optional backstop poll interval between 5000 and 3600000 ms, and never longer than the timeout. Defaults to 30000.",
986
+ "workflows.form.descriptions.waitConditionTimeout": "How long to wait before the timeout policy applies. Required.",
687
987
  "workflows.form.descriptions.workflowId": "고유 식별자 (소문자, 숫자, 하이픈, 밑줄만 사용 가능)",
688
988
  "workflows.form.effectiveFrom": "적용 시작일",
689
989
  "workflows.form.effectiveTo": "적용 종료일",
690
990
  "workflows.form.enabled": "사용 여부",
991
+ "workflows.form.errorDirective.fallbackValue": "Fallback value (JSON)",
992
+ "workflows.form.errorDirective.mode": "On failure",
993
+ "workflows.form.errorDirective.modeContinue": "Continue with a fallback value",
994
+ "workflows.form.errorDirective.modeFail": "Fail the instance (default)",
995
+ "workflows.form.errorDirective.modeQueue": "Send to the failure queue",
691
996
  "workflows.form.executeAsync": "비동기 실행",
692
997
  "workflows.form.fieldLabel": "필드 라벨",
693
998
  "workflows.form.fieldName": "필드 이름",
@@ -712,8 +1017,59 @@
712
1017
  "workflows.form.groups.steps": "워크플로우 단계",
713
1018
  "workflows.form.groups.transitions": "전환",
714
1019
  "workflows.form.icon": "아이콘",
1020
+ "workflows.form.iconPicker.clear": "Clear icon",
1021
+ "workflows.form.iconPicker.customLabel": "Or enter a name",
1022
+ "workflows.form.iconPicker.gridLabel": "Icons",
1023
+ "workflows.form.iconPicker.noResults": "No icon matches \"{query}\"",
1024
+ "workflows.form.iconPicker.none": "No icon",
1025
+ "workflows.form.iconPicker.searchLabel": "Search icons",
1026
+ "workflows.form.iconPicker.searchPlaceholder": "Search icons…",
1027
+ "workflows.form.iconPicker.trigger": "Choose an icon",
1028
+ "workflows.form.iconPicker.unknown": "This name is not in the icon set — it is kept as written and no icon renders.",
715
1029
  "workflows.form.initialInterval": "초기 간격 (ms)",
716
1030
  "workflows.form.inputMapping": "입력 매핑 ({{count}})",
1031
+ "workflows.form.invokeAgent.agent": "Agent",
1032
+ "workflows.form.invokeAgent.agentDescription": "The AI agent to run for this step.",
1033
+ "workflows.form.invokeAgent.agentPlaceholder": "Select an agent",
1034
+ "workflows.form.invokeAgent.alwaysAsk": "Always ask a human",
1035
+ "workflows.form.invokeAgent.autoApprove": "Auto-approve if confidence ≥",
1036
+ "workflows.form.invokeAgent.errors.templateSource": "Source paths are plain dot paths into the agent result, not {{ }} templates — this row would write nothing.",
1037
+ "workflows.form.invokeAgent.errors.unknownSourcePath": "The selected agent never returns this path — this row would write nothing.",
1038
+ "workflows.form.invokeAgent.input": "Input",
1039
+ "workflows.form.invokeAgent.inputDescription": "Values passed to the agent. Use {{expressions}} to reference workflow context.",
1040
+ "workflows.form.invokeAgent.inputKeyPlaceholder": "key",
1041
+ "workflows.form.invokeAgent.inputValuePlaceholder": "{{deal.id}}",
1042
+ "workflows.form.invokeAgent.insertSample": "Insert sample",
1043
+ "workflows.form.invokeAgent.noOutputMappings": "No output mappings — the agent result is written to the default context keys.",
1044
+ "workflows.form.invokeAgent.onResult": "On result",
1045
+ "workflows.form.invokeAgent.outputKeyDescription": "Workflow context key to write",
1046
+ "workflows.form.invokeAgent.outputKeyPlaceholder": "contextKey",
1047
+ "workflows.form.invokeAgent.outputMapping": "Output Mapping ({{count}})",
1048
+ "workflows.form.invokeAgent.outputMappingDescription": "Route the agent result into workflow context keys. When empty, the result is written to the default keys (disposition, agentProposalId, proposalPayload).",
1049
+ "workflows.form.invokeAgent.outputPathDescription": "Path into the agent result (kind, disposition, proposalId, proposalPayload, data)",
1050
+ "workflows.form.invokeAgent.outputPathPlaceholder": "proposalPayload.riskScore",
1051
+ "workflows.form.invokeAgent.review.deadlineDescription": "Counted from the moment the review task is created.",
1052
+ "workflows.form.invokeAgent.review.onBreachActions.attention": "Mark the run for attention",
1053
+ "workflows.form.invokeAgent.review.onBreachActions.notify": "Notify",
1054
+ "workflows.form.invokeAgent.review.onBreachActions.reassign": "Reassign",
1055
+ "workflows.form.invokeAgent.review.onBreachHint": "A missed deadline escalates; it never approves or rejects. The proposal stays pending until a person decides.",
1056
+ "workflows.form.invokeAgent.review.whenDescription": "How long the review may take, and what happens if nobody answers in time.",
1057
+ "workflows.form.invokeAgent.review.whenTitle": "Review — when",
1058
+ "workflows.form.invokeAgent.review.whoDescription": "Who dispositions the proposal when this step asks a human. Leave empty and nobody can act on it.",
1059
+ "workflows.form.invokeAgent.review.whoTitle": "Review — who",
1060
+ "workflows.form.invokeAgent.sectionDescription": "Select the agent to run and how its proposal is dispositioned",
1061
+ "workflows.form.invokeAgent.sectionTitle": "Invoke Agent Configuration",
1062
+ "workflows.form.invokeAgent.subject": "Business record",
1063
+ "workflows.form.invokeAgent.subjectDescription": "Optional: what this process is about. Shown in the agent caseload and interpolated like the rest of the step config.",
1064
+ "workflows.form.invokeAgent.subjectId": "Record id",
1065
+ "workflows.form.invokeAgent.subjectIdPlaceholder": "{{context.claimId}}",
1066
+ "workflows.form.invokeAgent.subjectLabel": "Record label",
1067
+ "workflows.form.invokeAgent.subjectLabelPlaceholder": "Claim #4821",
1068
+ "workflows.form.invokeAgent.subjectType": "Record type",
1069
+ "workflows.form.invokeAgent.subjectTypePlaceholder": "claim",
1070
+ "workflows.form.invokeAgent.threshold": "When the agent's confidence meets the threshold the proposal is applied automatically; otherwise a human is asked.",
1071
+ "workflows.form.invokeAgent.thresholdFailClosed": "Fail-closed: a proposal that reports no confidence at all counts as below the threshold, so it goes to a human.",
1072
+ "workflows.form.invokeAgent.warnings.unknownInputKey": "The agent sample input does not use this key.",
717
1073
  "workflows.form.maxAttempts": "최대 시도 횟수",
718
1074
  "workflows.form.maxInterval": "최대 간격 (ms)",
719
1075
  "workflows.form.maxRetryAttempts": "최대 재시도 횟수",
@@ -755,8 +1111,8 @@
755
1111
  "workflows.form.removeField": "필드 삭제",
756
1112
  "workflows.form.required": "필수",
757
1113
  "workflows.form.requiredField": "필수 필드",
758
- "workflows.form.retryDelay": "재시도 지연",
759
1114
  "workflows.form.retryPolicy": "재시도 정책",
1115
+ "workflows.form.saveStep": "Save Step",
760
1116
  "workflows.form.selectStep": "단계를 선택하세요",
761
1117
  "workflows.form.signalConfig": "신호 설정",
762
1118
  "workflows.form.signalName": "신호 이름",
@@ -769,11 +1125,23 @@
769
1125
  "workflows.form.transitionsLabel": "전환",
770
1126
  "workflows.form.update": "워크플로우 업데이트",
771
1127
  "workflows.form.version": "버전",
1128
+ "workflows.form.waitCondition.onTimeout": "On timeout",
1129
+ "workflows.form.waitCondition.onTimeoutContinue": "Continue with timedOut",
1130
+ "workflows.form.waitCondition.onTimeoutFail": "Fail the step",
1131
+ "workflows.form.waitCondition.pollIntervalMs": "Poll interval (ms)",
1132
+ "workflows.form.waitCondition.timeout": "Timeout",
772
1133
  "workflows.form.workflowId": "워크플로우 ID",
773
1134
  "workflows.form.workflowName": "워크플로우 이름",
774
1135
  "workflows.form.workflowToInvoke": "호출할 워크플로우",
1136
+ "workflows.functionPicker.lookupUnavailable": "Function list unavailable — type a function name manually",
1137
+ "workflows.functionPicker.placeholder": "inventory.recalculateStock",
775
1138
  "workflows.graph.editModeInfo": "편집 모드: 노드를 드래그하여 위치를 조정하세요",
776
1139
  "workflows.graph.visualization": "워크플로우 시각화",
1140
+ "workflows.inputDataPanel.copied": "Copied {path}",
1141
+ "workflows.inputDataPanel.hint": "Drag a field into a parameter, or click it to copy the pill.",
1142
+ "workflows.inputDataPanel.rowHint": "Drag into a field, or click to copy",
1143
+ "workflows.inputDataPanel.title": "Input data",
1144
+ "workflows.inspector.close": "Close inspector",
777
1145
  "workflows.instances.actions.backToList": "인스턴스 목록으로 돌아가기",
778
1146
  "workflows.instances.actions.cancel": "취소",
779
1147
  "workflows.instances.actions.retry": "재시도",
@@ -800,6 +1168,7 @@
800
1168
  "workflows.instances.fields.elapsed": "경과 시간",
801
1169
  "workflows.instances.fields.instanceId": "인스턴스 ID",
802
1170
  "workflows.instances.fields.lastError": "마지막 오류",
1171
+ "workflows.instances.fields.parentInstance": "Parent instance",
803
1172
  "workflows.instances.fields.pausedAt": "일시 중지 시각",
804
1173
  "workflows.instances.fields.retryCount": "재시도 횟수",
805
1174
  "workflows.instances.fields.startedAt": "시작 시각",
@@ -807,6 +1176,8 @@
807
1176
  "workflows.instances.fields.timing": "타이밍",
808
1177
  "workflows.instances.fields.version": "버전",
809
1178
  "workflows.instances.fields.workflowId": "워크플로우 ID",
1179
+ "workflows.instances.filters.attention": "Needs attention",
1180
+ "workflows.instances.filters.attentionTooltip": "Instances parked by a failure-queue directive, waiting for a human to triage them.",
810
1181
  "workflows.instances.filters.correlationKey": "상관 키",
811
1182
  "workflows.instances.filters.correlationKeyPlaceholder": "상관 키로 필터링...",
812
1183
  "workflows.instances.filters.entityId": "엔터티 ID",
@@ -815,10 +1186,14 @@
815
1186
  "workflows.instances.filters.entityTypePlaceholder": "엔터티 유형으로 필터링...",
816
1187
  "workflows.instances.filters.search": "검색",
817
1188
  "workflows.instances.filters.searchPlaceholder": "워크플로우 ID 또는 상관 키로 검색...",
1189
+ "workflows.instances.filters.startedAt": "Started",
818
1190
  "workflows.instances.filters.status": "상태",
819
1191
  "workflows.instances.filters.workflowId": "워크플로우 ID",
820
1192
  "workflows.instances.filters.workflowIdPlaceholder": "워크플로우 ID로 필터링...",
1193
+ "workflows.instances.list.showAllFlat": "All (flat)",
821
1194
  "workflows.instances.list.title": "워크플로우 인스턴스",
1195
+ "workflows.instances.list.topLevelOnly": "Top-level",
1196
+ "workflows.instances.list.viewToggle": "Instance view",
822
1197
  "workflows.instances.loadFailed": "워크플로우 인스턴스를 불러오지 못했습니다.",
823
1198
  "workflows.instances.messages.cancelFailed": "워크플로우 인스턴스를 취소하지 못했습니다",
824
1199
  "workflows.instances.messages.cancelled": "워크플로우 인스턴스가 취소되었습니다",
@@ -827,8 +1202,43 @@
827
1202
  "workflows.instances.messages.retryFailed": "워크플로우 인스턴스를 재시도하지 못했습니다",
828
1203
  "workflows.instances.noExecutionHistory": "실행 이력이 없습니다",
829
1204
  "workflows.instances.notFound": "워크플로우 인스턴스를 찾을 수 없습니다.",
830
- "workflows.instances.plural": "워크플로우 인스턴스",
1205
+ "workflows.instances.plural": "자동화 실행",
831
1206
  "workflows.instances.retryFailed": "워크플로우 인스턴스를 재시도하지 못했습니다.",
1207
+ "workflows.instances.run.definitionMissing": "Workflow definition not found (ID: {definitionId})",
1208
+ "workflows.instances.run.gantt.barLabel": "{step} — {status}, {duration}",
1209
+ "workflows.instances.run.gantt.collapsed": "Waiting time collapsed: {duration}",
1210
+ "workflows.instances.run.gantt.collapsedHint": "Hatched bars span a collapsed waiting period. Durations shown are always the real elapsed time.",
1211
+ "workflows.instances.run.gantt.empty": "No step executions have been recorded for this run yet.",
1212
+ "workflows.instances.run.gantt.lane": "lane {lane}",
1213
+ "workflows.instances.run.gantt.running": "(running)",
1214
+ "workflows.instances.run.gantt.span": "Wall-clock span",
1215
+ "workflows.instances.run.gantt.steps": "Step executions",
1216
+ "workflows.instances.run.gantt.title": "Step durations",
1217
+ "workflows.instances.run.inspector.attempts": "Attempts",
1218
+ "workflows.instances.run.inspector.branch": "Parallel branch",
1219
+ "workflows.instances.run.inspector.duration": "Duration",
1220
+ "workflows.instances.run.inspector.empty": "Select a step on the canvas to inspect its input, output and timing.",
1221
+ "workflows.instances.run.inspector.endedAt": "Ended",
1222
+ "workflows.instances.run.inspector.error": "Error",
1223
+ "workflows.instances.run.inspector.execution": "Execution {n}",
1224
+ "workflows.instances.run.inspector.hint": "Click a node on the canvas to inspect it.",
1225
+ "workflows.instances.run.inspector.input": "Input",
1226
+ "workflows.instances.run.inspector.notExecuted": "This step has not executed in this run.",
1227
+ "workflows.instances.run.inspector.openSubWorkflow": "Open sub-workflow",
1228
+ "workflows.instances.run.inspector.output": "Output",
1229
+ "workflows.instances.run.inspector.startedAt": "Started",
1230
+ "workflows.instances.run.inspector.title": "Step inspector",
1231
+ "workflows.instances.run.stepStatus.active": "Running",
1232
+ "workflows.instances.run.stepStatus.completed": "Completed",
1233
+ "workflows.instances.run.stepStatus.failed": "Failed",
1234
+ "workflows.instances.run.stepStatus.paused": "Waiting",
1235
+ "workflows.instances.run.stepStatus.pending": "Not started",
1236
+ "workflows.instances.run.stepStatus.skipped": "Skipped",
1237
+ "workflows.instances.run.tabs.context": "Context",
1238
+ "workflows.instances.run.tabs.flow": "Flow",
1239
+ "workflows.instances.run.tabs.label": "Run views",
1240
+ "workflows.instances.run.tabs.raw": "Raw",
1241
+ "workflows.instances.run.tabs.timeline": "Timeline",
832
1242
  "workflows.instances.sections.compensation": "보상 처리",
833
1243
  "workflows.instances.sections.context": "컨텍스트 데이터",
834
1244
  "workflows.instances.sections.executionHistory": "이벤트 로그",
@@ -837,23 +1247,41 @@
837
1247
  "workflows.instances.sections.overview": "개요",
838
1248
  "workflows.instances.sections.stepExecutionTimeline": "단계 실행 타임라인",
839
1249
  "workflows.instances.sections.visualFlow": "워크플로우 시각화",
840
- "workflows.instances.singular": "워크플로우 인스턴스",
1250
+ "workflows.instances.singular": "자동화 실행",
841
1251
  "workflows.instances.status.CANCELLED": "취소됨",
842
1252
  "workflows.instances.status.COMPENSATED": "보상 처리됨",
843
1253
  "workflows.instances.status.COMPENSATING": "보상 처리 중",
844
1254
  "workflows.instances.status.COMPLETED": "완료됨",
845
1255
  "workflows.instances.status.FAILED": "실패",
1256
+ "workflows.instances.status.FORKED": "Forked",
846
1257
  "workflows.instances.status.PAUSED": "일시중지됨",
847
1258
  "workflows.instances.status.RUNNING": "실행 중",
848
1259
  "workflows.instances.status.WAITING_FOR_ACTIVITIES": "액티비티 대기 중",
849
- "workflows.instances.title": "워크플로우 인스턴스",
1260
+ "workflows.instances.subWorkflows.empty": "No sub-workflows",
1261
+ "workflows.instances.subWorkflows.loading": "Loading sub-workflows…",
1262
+ "workflows.instances.subWorkflows.openChild": "Open sub-workflow instance",
1263
+ "workflows.instances.subWorkflows.pickerDescription": "This step spawned multiple sub-workflow instances. Choose one to open.",
1264
+ "workflows.instances.subWorkflows.pickerTitle": "Open sub-workflow instance",
1265
+ "workflows.instances.title": "자동화 실행",
1266
+ "workflows.invokeAgent.noAgent": "No agent selected",
1267
+ "workflows.invokeAgent.runsAgent": "Runs agent: {agentId}",
1268
+ "workflows.invokeAgent.statusDone": "Done",
1269
+ "workflows.invokeAgent.statusRunning": "Running",
1270
+ "workflows.invokeAgent.statusWaiting": "Waiting",
1271
+ "workflows.lastRun.never": "(never run)",
1272
+ "workflows.lastRun.toggle": "Show the last run on the canvas",
1273
+ "workflows.lastRun.toggleShort": "Last run",
850
1274
  "workflows.legend.edgeState.completed": "완료됨",
851
1275
  "workflows.legend.edgeState.pending": "대기 중/다음",
852
1276
  "workflows.legend.edgeStatesTitle": "연결선 상태",
853
1277
  "workflows.legend.status.completed": "완료됨",
1278
+ "workflows.legend.status.failed": "Failed",
854
1279
  "workflows.legend.status.inProgress": "진행 중",
1280
+ "workflows.legend.status.needsAttention": "Needs attention — parked for a human",
855
1281
  "workflows.legend.status.notStarted": "시작 안 됨",
856
1282
  "workflows.legend.status.pending": "대기 중 (준비됨)",
1283
+ "workflows.legend.status.waiting": "Waiting — blocked on a person, timer or signal",
1284
+ "workflows.legend.status.working": "Working — the system is doing something",
857
1285
  "workflows.legend.statusTitle": "워크플로우 상태 범례",
858
1286
  "workflows.list.title": "워크플로우 정의",
859
1287
  "workflows.messages.deleteFailed": "워크플로우를 삭제하지 못했습니다",
@@ -880,9 +1308,26 @@
880
1308
  "workflows.messages.workflowEnabled": "워크플로우가 활성화되었습니다",
881
1309
  "workflows.messages.workflowNotFound": "워크플로우를 찾을 수 없습니다",
882
1310
  "workflows.messages.workflowUpdated": "워크플로우가 수정되었습니다",
1311
+ "workflows.metrics.columns.p95Duration": "p95 duration (7d)",
1312
+ "workflows.metrics.columns.runs": "Runs (7d)",
1313
+ "workflows.metrics.columns.successRate": "Success (7d)",
1314
+ "workflows.metrics.columns.taskSla": "Task SLA (7d)",
1315
+ "workflows.metrics.noData": "No metrics available",
1316
+ "workflows.metrics.noDurationSample": "No run duration could be measured in this window",
1317
+ "workflows.metrics.noTaskDeadlines": "No task in this window had a deadline",
1318
+ "workflows.metrics.noTerminalRuns": "No run finished in this window",
1319
+ "workflows.metrics.p95Hint": "95th percentile over {samples} measured runs",
1320
+ "workflows.metrics.runsHint": "{started} started, {terminal} finished in the last 7 days",
1321
+ "workflows.metrics.slaHint": "{met} of {total} tasks met their deadline",
1322
+ "workflows.metrics.successHint": "{terminal} runs finished, {failed} failed",
1323
+ "workflows.metrics.tone.error": "unhealthy",
1324
+ "workflows.metrics.tone.neutral": "no data",
1325
+ "workflows.metrics.tone.success": "healthy",
1326
+ "workflows.metrics.tone.warning": "needs attention",
883
1327
  "workflows.mobile.addStep": "단계 추가",
884
1328
  "workflows.mobile.addTransition": "전환 추가",
885
1329
  "workflows.mobile.clear": "지우기",
1330
+ "workflows.mobile.closeActions": "Close actions",
886
1331
  "workflows.mobile.deleteStep": "단계 삭제",
887
1332
  "workflows.mobile.deleteTransition": "전환 삭제",
888
1333
  "workflows.mobile.editStep": "단계 편집",
@@ -904,30 +1349,81 @@
904
1349
  "workflows.mobile.validate": "검증",
905
1350
  "workflows.mobile.viewFullGraph": "전체 그래프 보기",
906
1351
  "workflows.module.description": "비즈니스 프로세스를 자동화 관리합니다",
907
- "workflows.module.name": "워크플로우 엔진",
1352
+ "workflows.module.name": "자동화",
908
1353
  "workflows.nav.graphTest": "그래프 테스트",
1354
+ "workflows.nodeEditor.activityIdDescription": "Unique identifier for this activity",
1355
+ "workflows.nodeEditor.activityTypeDescription": "Type of activity to execute",
1356
+ "workflows.nodeEditor.description": "Configure step properties and behavior",
909
1357
  "workflows.nodeEditor.endStepsNotEditable": "END 단계는 편집할 수 없습니다. 이는 워크플로우의 고정된 종료 지점을 나타냅니다.",
1358
+ "workflows.nodeEditor.groups.automated": "Automated Task Configuration",
1359
+ "workflows.nodeEditor.groups.errorHandling": "Error Handling",
1360
+ "workflows.nodeEditor.groups.errorHandlingDescription": "Applies when this step fails and no error route is wired from its error output handle.",
1361
+ "workflows.nodeEditor.groups.formFields": "Form Fields",
1362
+ "workflows.nodeEditor.groups.mappings": "Data Mappings",
1363
+ "workflows.nodeEditor.groups.mappingsDescription": "Map data between parent and sub-workflow",
1364
+ "workflows.nodeEditor.groups.stepActivities": "Step Activities",
1365
+ "workflows.nodeEditor.groups.stepActivitiesDescription": "Activities executed as part of this automated step",
1366
+ "workflows.nodeEditor.groups.timer": "Timer Configuration",
1367
+ "workflows.nodeEditor.groups.timerDescription": "Pause the workflow for a duration or until a specific date and time. Set exactly one.",
1368
+ "workflows.nodeEditor.groups.waitCondition": "Wait Condition",
1369
+ "workflows.nodeEditor.groups.waitConditionDescription": "The workflow pauses here until this condition over the run context becomes true. It is re-checked whenever the context is written and on a periodic poll.",
1370
+ "workflows.nodeEditor.groups.waitConditionTimeout": "Timeout Policy",
1371
+ "workflows.nodeEditor.groups.waitConditionTimeoutDescription": "A timeout is required so a condition that never becomes true cannot hang the run forever.",
1372
+ "workflows.nodeEditor.inputMappings": "Input Mappings",
910
1373
  "workflows.nodeEditor.jsonSchemaFormat": "이 폼은 JSON 스키마 형식을 사용합니다. 시각적 편집을 위해 필드가 변환되었습니다. 저장하면 단순화된 형식으로 다시 변환됩니다. 원본 JSON 스키마를 유지하려면 아래 \"고급 설정 (JSON)\" 섹션에서 편집하세요.",
911
1374
  "workflows.nodeEditor.noActivities": "정의된 액티비티가 없습니다. \"액티비티 추가\"를 클릭하여 생성하세요.",
912
1375
  "workflows.nodeEditor.noFormFields": "정의된 폼 필드가 없습니다. \"필드 추가\"를 클릭하여 생성하세요.",
913
1376
  "workflows.nodeEditor.noInputMappings": "입력 매핑이 없습니다. 상위 컨텍스트 전체가 하위로 전달됩니다.",
914
1377
  "workflows.nodeEditor.noOutputMappings": "출력 매핑이 없습니다. 하위 컨텍스트 전체가 상위로 반환됩니다.",
1378
+ "workflows.nodeEditor.outputMappings": "Output Mappings",
1379
+ "workflows.nodeEditor.signalTimeout": "Signal Timeout",
1380
+ "workflows.nodeEditor.slaDurationDescription": "Time allowed to complete this task before it is overdue; used to compute the task due date",
915
1381
  "workflows.nodeEditor.startStepsInfo": "START 단계는 워크플로우의 시작을 나타냅니다. 워크플로우 시작 전에 통과해야 하는 사전 조건을 정의할 수 있습니다.",
916
1382
  "workflows.nodeEditor.stepIdSanitized": "단계 ID가 스키마 요구사항(소문자, 숫자, 하이픈, 밑줄만 허용)에 맞게 \"{{from}}\"에서 \"{{to}}\"(으)로 자동 변환되었습니다.",
1383
+ "workflows.nodeEditor.timerDurationDescription": "ISO 8601 duration (e.g., PT5M, PT1H, P1D) or simple format (5m, 1h, 3d). Leave empty when using Wait Until.",
1384
+ "workflows.nodeEditor.timerUntilDescription": "Specific date and time to wait until. Leave empty when using Duration.",
917
1385
  "workflows.nodeEditor.title": "단계 편집",
918
1386
  "workflows.nodeEditor.userTaskConfig": "사용자 작업 설정",
1387
+ "workflows.nodeStatus.completed": "Completed",
1388
+ "workflows.nodeStatus.error": "Has errors",
1389
+ "workflows.nodeStatus.failed": "Failed",
1390
+ "workflows.nodeStatus.in_progress": "In progress",
1391
+ "workflows.nodeStatus.needs_attention": "Needs attention",
1392
+ "workflows.nodeStatus.not_started": "Not started",
1393
+ "workflows.nodeStatus.paused": "Paused",
1394
+ "workflows.nodeStatus.pending": "Pending",
1395
+ "workflows.nodeStatus.waiting": "Waiting",
1396
+ "workflows.nodeStatus.working": "Working",
1397
+ "workflows.nodeSummary.alwaysAsk": "always ask",
1398
+ "workflows.nodeSummary.assigned": "assigned",
1399
+ "workflows.nodeSummary.autoApproveThreshold": "auto ≥ {threshold}",
1400
+ "workflows.nodeSummary.bound": "bound: {count}",
1401
+ "workflows.nodeSummary.decisions": "{count} decisions",
1402
+ "workflows.nodeSummary.retries": "retries {count}×",
1403
+ "workflows.nodeSummary.role": "role: {roles}",
1404
+ "workflows.nodeSummary.until": "until {value}",
919
1405
  "workflows.nodeTypes.automated": "자동",
920
1406
  "workflows.nodeTypes.decision": "분기",
921
1407
  "workflows.nodeTypes.end": "종료",
1408
+ "workflows.nodeTypes.ifElse": "IF / ELSE",
1409
+ "workflows.nodeTypes.invokeAgent": "Invoke Agent",
922
1410
  "workflows.nodeTypes.parallelFork": "병렬 분기",
923
1411
  "workflows.nodeTypes.parallelJoin": "병렬 합류",
924
1412
  "workflows.nodeTypes.start": "시작",
925
1413
  "workflows.nodeTypes.subWorkflow": "하위 워크플로우",
1414
+ "workflows.nodeTypes.switch": "SWITCH",
926
1415
  "workflows.nodeTypes.userTask": "사용자 작업",
1416
+ "workflows.nodeTypes.waitForCondition": "WAIT FOR CONDITION",
927
1417
  "workflows.nodeTypes.waitForSignal": "신호 대기",
928
1418
  "workflows.nodeTypes.waitForTimer": "타이머 대기",
1419
+ "workflows.nodes.errorHandle": "On error",
1420
+ "workflows.notifications.task.actions.complete": "Complete",
929
1421
  "workflows.notifications.task.assigned.body": "워크플로우 \"{workflowName}\"의 작업 \"{taskName}\"이(가) 회원님에게 배정되었습니다{dueDate, select, other { (기한: {dueDate})}}",
930
1422
  "workflows.notifications.task.assigned.title": "작업 배정됨",
1423
+ "workflows.notifications.task.deadlineBreached.body": "Task \"{taskName}\" in workflow \"{workflowName}\" has passed its deadline{dueDate, select, other { (due: {dueDate})}}",
1424
+ "workflows.notifications.task.deadlineBreached.title": "Task Deadline Passed",
1425
+ "workflows.notifications.task.reminderDue.body": "Task \"{taskName}\" in workflow \"{workflowName}\" is due soon{dueDate, select, other { (due: {dueDate})}}",
1426
+ "workflows.notifications.task.reminderDue.title": "Task Due Soon",
931
1427
  "workflows.orderApproval.approveButton": "승인",
932
1428
  "workflows.orderApproval.commentsLabel": "코멘트",
933
1429
  "workflows.orderApproval.commentsPlaceholder": "선택적으로 코멘트를 추가하세요…",
@@ -946,6 +1442,14 @@
946
1442
  "workflows.orderApproval.requestApproval": "승인 요청",
947
1443
  "workflows.orderApproval.startError": "승인 워크플로우를 시작하지 못했습니다.",
948
1444
  "workflows.orderApproval.submitDecision": "결정 제출",
1445
+ "workflows.outcomes.add": "+ outcome",
1446
+ "workflows.outcomes.approved": "approved",
1447
+ "workflows.outcomes.default": "default",
1448
+ "workflows.outcomes.error": "error",
1449
+ "workflows.outcomes.guardrailBlocked": "guardrail blocked",
1450
+ "workflows.outcomes.inheritsErrorDirective": "unhandled → error directive",
1451
+ "workflows.outcomes.rejected": "rejected",
1452
+ "workflows.outcomes.researcher": "researcher",
949
1453
  "workflows.parallel.branch.label": "분기",
950
1454
  "workflows.parallel.branch.status.ACTIVE": "진행 중",
951
1455
  "workflows.parallel.branch.status.CANCELLED": "취소됨",
@@ -956,6 +1460,129 @@
956
1460
  "workflows.parallel.fork.label": "병렬 분기",
957
1461
  "workflows.parallel.join.label": "병렬 합류",
958
1462
  "workflows.parallel.validation.title": "병렬 분기/합류 검증 실패",
1463
+ "workflows.pendingWork.empty": "No open work is linked to this record.",
1464
+ "workflows.pendingWork.loading": "Loading pending work...",
1465
+ "workflows.pendingWork.open": "Open task",
1466
+ "workflows.pendingWork.title": "Pending work",
1467
+ "workflows.portal.tasks.description": "Things we need from you to move your orders along.",
1468
+ "workflows.portal.tasks.detail.back": "Back to tasks",
1469
+ "workflows.portal.tasks.detail.closed": "This task is already finished.",
1470
+ "workflows.portal.tasks.detail.notFound": "Task not available",
1471
+ "workflows.portal.tasks.detail.notFoundBody": "This task is not available to you. It may have been completed or reassigned.",
1472
+ "workflows.portal.tasks.detail.readOnly": "You can see this task because it belongs to your company. Only the person it is assigned to can complete it.",
1473
+ "workflows.portal.tasks.detail.title": "Task",
1474
+ "workflows.portal.tasks.done": "Completed",
1475
+ "workflows.portal.tasks.due": "Due {date}",
1476
+ "workflows.portal.tasks.empty.description": "When we need something from you, it will show up here.",
1477
+ "workflows.portal.tasks.empty.title": "Nothing needs you right now",
1478
+ "workflows.portal.tasks.form.comments": "Comments",
1479
+ "workflows.portal.tasks.form.commentsPlaceholder": "Anything to add? (optional)",
1480
+ "workflows.portal.tasks.form.noFields": "This task has nothing to fill in — confirm it below when you are done.",
1481
+ "workflows.portal.tasks.form.rendererMissing": "This task asks for the \"{formKey}\" form, which is not available here. The standard form is shown instead.",
1482
+ "workflows.portal.tasks.form.required": "Required",
1483
+ "workflows.portal.tasks.form.select": "Select…",
1484
+ "workflows.portal.tasks.form.submit": "Complete task",
1485
+ "workflows.portal.tasks.form.submitting": "Submitting…",
1486
+ "workflows.portal.tasks.label": "Your work",
1487
+ "workflows.portal.tasks.loadError": "Could not load your tasks.",
1488
+ "workflows.portal.tasks.nav": "Tasks",
1489
+ "workflows.portal.tasks.open": "Waiting on you",
1490
+ "workflows.portal.tasks.overdue": "Overdue {date}",
1491
+ "workflows.portal.tasks.status.CANCELLED": "Cancelled",
1492
+ "workflows.portal.tasks.status.COMPLETED": "Completed",
1493
+ "workflows.portal.tasks.status.ESCALATED": "Escalated",
1494
+ "workflows.portal.tasks.status.IN_PROGRESS": "In progress",
1495
+ "workflows.portal.tasks.status.PENDING": "Waiting",
1496
+ "workflows.portal.tasks.submitError": "Could not submit this task.",
1497
+ "workflows.portal.tasks.title": "Tasks",
1498
+ "workflows.ports.addInput": "Add input port",
1499
+ "workflows.ports.addOutput": "Add output port",
1500
+ "workflows.ports.breakingWarning": "Changing or removing a port can break existing field mappings in workflows that use this sub-workflow. Review the mapping before saving.",
1501
+ "workflows.ports.cancel": "Cancel",
1502
+ "workflows.ports.close": "Close port schema editor",
1503
+ "workflows.ports.confirmRemove": "Are you sure you want to remove this port?",
1504
+ "workflows.ports.description": "Define the data this sub-workflow accepts and returns.",
1505
+ "workflows.ports.editSchema": "Edit schema",
1506
+ "workflows.ports.emptyInputs": "No input ports defined.",
1507
+ "workflows.ports.emptyOutputs": "No output ports defined.",
1508
+ "workflows.ports.inputs": "Input fields (IN)",
1509
+ "workflows.ports.label": "Label",
1510
+ "workflows.ports.name": "Field name",
1511
+ "workflows.ports.nameHint": "Identifier used in mappings — letters, numbers, and underscores.",
1512
+ "workflows.ports.openInside": "Open inside",
1513
+ "workflows.ports.openInsideNotFound": "Could not find the referenced sub-workflow.",
1514
+ "workflows.ports.options": "Options",
1515
+ "workflows.ports.optionsHint": "Comma-separated list of allowed values.",
1516
+ "workflows.ports.outputs": "Output fields (OUT)",
1517
+ "workflows.ports.remove": "Remove port",
1518
+ "workflows.ports.required": "Required",
1519
+ "workflows.ports.save": "Save schema",
1520
+ "workflows.ports.title": "Port schema",
1521
+ "workflows.ports.type": "Data type",
1522
+ "workflows.ports.types.boolean": "Yes/No",
1523
+ "workflows.ports.types.date": "Date",
1524
+ "workflows.ports.types.number": "Number",
1525
+ "workflows.ports.types.select": "Option list",
1526
+ "workflows.ports.types.text": "Text",
1527
+ "workflows.reattach.rejected.dataMappingRoute": "Data mapping links are edited in the step configuration, not on the canvas.",
1528
+ "workflows.reattach.rejected.duplicateRoute": "A route already connects those two steps.",
1529
+ "workflows.reattach.rejected.errorHandleUnsupported": "An error route can only start at a step that can fail.",
1530
+ "workflows.reattach.rejected.forkJoinInvalid": "That target would break the parallel branch structure: {reason}",
1531
+ "workflows.reattach.rejected.graphInvalid": "That target would break the workflow: {reason}",
1532
+ "workflows.reattach.rejected.kindHandleUnsupported": "This route cannot start at that type of step.",
1533
+ "workflows.reattach.rejected.selfLoop": "A route cannot start and end on the same step.",
1534
+ "workflows.reattach.rejected.unsupported": "That route cannot be re-targeted.",
1535
+ "workflows.reattach.retargeted": "Route re-targeted",
1536
+ "workflows.redirect.toStudio": "Opening the workflow studio…",
1537
+ "workflows.redirect.toWorkInbox": "Opening the work inbox…",
1538
+ "workflows.rerunStep.action": "Rerun from this step",
1539
+ "workflows.rerunStep.close": "Close rerun panel",
1540
+ "workflows.rerunStep.confirm": "Rerun step",
1541
+ "workflows.rerunStep.description": "The run continues from {step}. The previous attempt is kept in the history, and the rerun is recorded in the audit log.",
1542
+ "workflows.rerunStep.failed": "Could not rerun the step.",
1543
+ "workflows.rerunStep.patchHint": "Merged over the run context. Only the keys you provide change.",
1544
+ "workflows.rerunStep.patchInvalid": "The context patch is not valid JSON.",
1545
+ "workflows.rerunStep.patchLabel": "Context patch (optional JSON)",
1546
+ "workflows.rerunStep.patchNotAnObject": "The context patch must be a JSON object.",
1547
+ "workflows.rerunStep.started": "Rerun started.",
1548
+ "workflows.rerunStep.title": "Rerun from this step",
1549
+ "workflows.rolesSelect.lookupUnavailable": "Role list unavailable — type role names and press Enter",
1550
+ "workflows.rolesSelect.placeholder": "Select a role or type a name and press Enter",
1551
+ "workflows.routeChips.activityLabel": "Route activity: {{activity}} — open the activity list",
1552
+ "workflows.routeChips.collapsed": "{{count}} route details, zoom in to read them",
1553
+ "workflows.routeChips.conditionLabel": "Route condition: {{summary}} — open the condition editor",
1554
+ "workflows.routeChips.otherwise": "otherwise",
1555
+ "workflows.routeChips.overflowLabel": "{{count}} more activities on this route",
1556
+ "workflows.routeOrder.empty": "Connect this step to its next steps — every connection becomes a route you can order here.",
1557
+ "workflows.routeOrder.groupDescription": "Drag to change which outgoing route is evaluated first. The priority number is derived from this order.",
1558
+ "workflows.routeOrder.groupTitle": "Route order",
1559
+ "workflows.routeOrder.hint": "Routes are evaluated top to bottom. The first route whose condition matches wins.",
1560
+ "workflows.routeOrder.moveDown": "Move route down",
1561
+ "workflows.routeOrder.moveUp": "Move route up",
1562
+ "workflows.routeOrder.showPriorityNumbers": "Edit priority numbers",
1563
+ "workflows.routeOrder.target": "Routes to {stepId}",
1564
+ "workflows.runState.elapsed": "running for {duration}",
1565
+ "workflows.runState.reason.activityRunning": "Running {activity}…",
1566
+ "workflows.runState.reason.activityRunningUnnamed": "Running an activity…",
1567
+ "workflows.runState.reason.agentDisposition": "Waiting for a decision on the proposal",
1568
+ "workflows.runState.reason.agentRunning": "Agent {agent} is running…",
1569
+ "workflows.runState.reason.agentRunningUnnamed": "An agent is running…",
1570
+ "workflows.runState.reason.attention": "Parked for attention",
1571
+ "workflows.runState.reason.condition": "Waiting for a condition",
1572
+ "workflows.runState.reason.conditionUntil": "Waiting for a condition, until {time}",
1573
+ "workflows.runState.reason.fork": "{running} of {total} branches still running",
1574
+ "workflows.runState.reason.signal": "Waiting for signal {signal}",
1575
+ "workflows.runState.reason.signalUnnamed": "Waiting for a signal",
1576
+ "workflows.runState.reason.subWorkflow": "Waiting for {workflow}",
1577
+ "workflows.runState.reason.subWorkflowUnnamed": "Waiting for a child workflow",
1578
+ "workflows.runState.reason.timer": "Waiting until {time}",
1579
+ "workflows.runState.reason.timerUnnamed": "Waiting for a timer",
1580
+ "workflows.runState.reason.userTask": "Waiting for a person",
1581
+ "workflows.runState.reason.userTaskAssignee": "Waiting for the assignee",
1582
+ "workflows.runState.reason.userTaskQueue": "Waiting for {queue}",
1583
+ "workflows.selectors.agent.close": "Close agent picker",
1584
+ "workflows.selectors.businessRule.close": "Close business rule picker",
1585
+ "workflows.selectors.workflow.close": "Close workflow picker",
959
1586
  "workflows.signals.awaiting": "신호 대기 중",
960
1587
  "workflows.signals.correlationKey": "상관 키",
961
1588
  "workflows.signals.payload": "신호 페이로드",
@@ -977,6 +1604,38 @@
977
1604
  "workflows.source.code_override": "커스터마이즈됨",
978
1605
  "workflows.source.code_override.banner": "이 워크플로우는 코드 정의 버전에서 커스터마이즈되었습니다.",
979
1606
  "workflows.source.user": "사용자 생성",
1607
+ "workflows.startInstance.cancel": "Cancel",
1608
+ "workflows.startInstance.close": "Close start panel",
1609
+ "workflows.startInstance.contextLabel": "Initial context (JSON)",
1610
+ "workflows.startInstance.description": "Provide the initial context as JSON. The workflow runs in the background — you'll be taken to the new instance.",
1611
+ "workflows.startInstance.dryRunHint": "Every action is replaced by its simulation: no emails, no entity writes, no events, no tasks and no agent proposals. The run reports what it would have done.",
1612
+ "workflows.startInstance.dryRunLabel": "Dry run (no side effects)",
1613
+ "workflows.startInstance.failed": "Failed to start the workflow instance.",
1614
+ "workflows.startInstance.invalidJson": "Initial context must be valid JSON.",
1615
+ "workflows.startInstance.start": "Start",
1616
+ "workflows.startInstance.started": "Workflow instance started.",
1617
+ "workflows.startInstance.stepThroughHint": "Pause before each step so you can inspect the context and continue or stop.",
1618
+ "workflows.startInstance.stepThroughLabel": "Step through",
1619
+ "workflows.startInstance.title": "Start workflow instance",
1620
+ "workflows.stepConversion.action": "Change type…",
1621
+ "workflows.stepConversion.confirm": "The step keeps its name, position and routes.",
1622
+ "workflows.stepConversion.confirmTitle": "Change step type?",
1623
+ "workflows.stepConversion.confirmWithQuarantine": "The step keeps its name, position and routes. {count} setting(s) the new type cannot execute move to Unmapped configuration: {keys}",
1624
+ "workflows.stepConversion.converted": "Step type changed",
1625
+ "workflows.stepConversion.convertedWithQuarantine": "Step type changed; {count} setting(s) parked as unmapped configuration",
1626
+ "workflows.stepConversion.description": "Keeps this step’s id, name, position and wiring. Configuration the new type cannot execute is parked under Unmapped configuration instead of being deleted.",
1627
+ "workflows.stepConversion.groupTitle": "Change step type",
1628
+ "workflows.stepConversion.targetLabel": "New step type",
1629
+ "workflows.stepConversion.targetPlaceholder": "Select a step type",
1630
+ "workflows.stepConversion.unavailable": "This step type cannot be changed.",
1631
+ "workflows.stepConversion.unmapped.description": "Kept from an earlier type change. It is stored with the step but is not executed; change the step back to recover it.",
1632
+ "workflows.stepConversion.unmapped.title": "Unmapped configuration",
1633
+ "workflows.stepThrough.continue": "Continue one step",
1634
+ "workflows.stepThrough.failed": "Failed to advance the run.",
1635
+ "workflows.stepThrough.pausedAt": "Paused before step {stepId}.",
1636
+ "workflows.stepThrough.running": "The run is advancing.",
1637
+ "workflows.stepThrough.stop": "Stop stepping",
1638
+ "workflows.stepThrough.title": "Stepping through this run",
980
1639
  "workflows.steps.addStep": "단계 추가",
981
1640
  "workflows.steps.config": "설정",
982
1641
  "workflows.steps.deleteStep": "단계 삭제",
@@ -1006,6 +1665,8 @@
1006
1665
  "workflows.steps.types.WAIT_FOR_TIMER": "타이머 대기",
1007
1666
  "workflows.tasks.actions.claim": "작업 가져오기",
1008
1667
  "workflows.tasks.actions.complete": "작업 완료",
1668
+ "workflows.tasks.actions.reassign": "Reassign",
1669
+ "workflows.tasks.actions.unclaim": "Release Task",
1009
1670
  "workflows.tasks.actions.viewDetails": "상세보기",
1010
1671
  "workflows.tasks.allTasks": "전체 작업",
1011
1672
  "workflows.tasks.assignedTo": "담당자",
@@ -1022,18 +1683,49 @@
1022
1683
  "workflows.tasks.description": "설명",
1023
1684
  "workflows.tasks.detail.assignedTo": "담당자",
1024
1685
  "workflows.tasks.detail.backToList": "작업 목록으로",
1686
+ "workflows.tasks.detail.blocked.notInYourQueue": "This task is queued to a role you are not a member of, so you cannot complete it.",
1687
+ "workflows.tasks.detail.blocked.ownedByAnother": "This task belongs to someone else, so you cannot complete it.",
1688
+ "workflows.tasks.detail.blocked.reassignRemedy": "Reassign it to yourself to work on it.",
1689
+ "workflows.tasks.detail.blocked.reassignUnavailable": "Ask someone who can reassign tasks to move it to you.",
1690
+ "workflows.tasks.detail.blocked.unavailable": "You can view this task, but you cannot act on it here.",
1691
+ "workflows.tasks.detail.blocked.unowned": "This task is not assigned to anyone, so nobody can complete it.",
1025
1692
  "workflows.tasks.detail.cannotComplete": "이 작업은 이미 완료 또는 취소되어 수정할 수 없습니다.",
1693
+ "workflows.tasks.detail.claimPrompt": "This task is waiting in a role queue. Claim it to work on it.",
1026
1694
  "workflows.tasks.detail.comments": "코멘트",
1027
1695
  "workflows.tasks.detail.commentsPlaceholder": "이 작업에 대한 코멘트나 메모를 추가하세요...",
1028
1696
  "workflows.tasks.detail.completeTask": "작업 완료",
1697
+ "workflows.tasks.detail.decisionTaken": "Decision taken",
1698
+ "workflows.tasks.detail.form.rendererMissing": "The custom form \"{formKey}\" is not available here, so the standard form is shown instead.",
1029
1699
  "workflows.tasks.detail.form.selectOption": "-- 옵션 선택 --",
1030
1700
  "workflows.tasks.detail.loadFailed": "작업을 불러오지 못했습니다",
1031
1701
  "workflows.tasks.detail.loading": "작업을 불러오는 중...",
1702
+ "workflows.tasks.detail.nextTaskPrompt": "Done here. Take the next item from your queue?",
1032
1703
  "workflows.tasks.detail.noFormSchema": "이 작업에는 작성할 폼이 없습니다. 선택적으로 코멘트를 추가하고 제출할 수 있습니다.",
1033
1704
  "workflows.tasks.detail.notFound": "작업을 찾을 수 없습니다",
1034
1705
  "workflows.tasks.detail.optional": "선택 사항",
1035
1706
  "workflows.tasks.detail.overdueWarning": "⚠ 이 작업은 기한이 지났습니다!",
1707
+ "workflows.tasks.detail.reassign.assigneeLabel": "Assign to user",
1708
+ "workflows.tasks.detail.reassign.assigneePlaceholder": "User id",
1709
+ "workflows.tasks.detail.reassign.cancelHint": "to cancel",
1710
+ "workflows.tasks.detail.reassign.close": "Close reassign panel",
1711
+ "workflows.tasks.detail.reassign.description": "Moving a task records who moved it, when, and why. An in-flight claim is released and a task in progress returns to pending.",
1712
+ "workflows.tasks.detail.reassign.reasonHelp": "Stored on the task and in the workflow audit trail.",
1713
+ "workflows.tasks.detail.reassign.reasonLabel": "Reason",
1714
+ "workflows.tasks.detail.reassign.reasonPlaceholder": "Why is this task moving?",
1715
+ "workflows.tasks.detail.reassign.rolesHelp": "Comma-separated role names. Leave empty to assign an individual user.",
1716
+ "workflows.tasks.detail.reassign.rolesLabel": "Or queue to roles",
1717
+ "workflows.tasks.detail.reassign.rolesPlaceholder": "approver, warehouse",
1718
+ "workflows.tasks.detail.reassign.submitHint": "to reassign",
1719
+ "workflows.tasks.detail.reassign.targetRequired": "Name a user or at least one role queue to move this task to.",
1720
+ "workflows.tasks.detail.reassign.title": "Reassign task",
1721
+ "workflows.tasks.detail.records.empty": "This task is not linked to any record.",
1722
+ "workflows.tasks.detail.records.noLink": "No detail page for this record type",
1723
+ "workflows.tasks.detail.records.open": "Open record",
1724
+ "workflows.tasks.detail.releasePrompt": "You hold this task. Release it to put it back in its role queue.",
1725
+ "workflows.tasks.detail.sections.decisions": "Decide",
1036
1726
  "workflows.tasks.detail.sections.form": "작업 폼",
1727
+ "workflows.tasks.detail.sections.instructions": "What to do",
1728
+ "workflows.tasks.detail.sections.records": "About what",
1037
1729
  "workflows.tasks.detail.sections.submittedData": "제출된 데이터",
1038
1730
  "workflows.tasks.detail.sections.taskInfo": "작업 정보",
1039
1731
  "workflows.tasks.detail.submitting": "제출 중...",
@@ -1056,12 +1748,104 @@
1056
1748
  "workflows.tasks.filters.workflowInstanceIdPlaceholder": "워크플로우 인스턴스로 필터링...",
1057
1749
  "workflows.tasks.formData": "폼 데이터",
1058
1750
  "workflows.tasks.formSchema": "폼 스키마",
1751
+ "workflows.tasks.inspector.bindings.add": "Link a record",
1752
+ "workflows.tasks.inspector.bindings.empty": "No records linked yet. Link one so the assignee sees what the task is about.",
1753
+ "workflows.tasks.inspector.bindings.entityType": "Record type",
1754
+ "workflows.tasks.inspector.bindings.entityTypeKnown": "Known record types",
1755
+ "workflows.tasks.inspector.bindings.entityTypePlaceholder": "customers:person",
1756
+ "workflows.tasks.inspector.bindings.idPath": "Record id",
1757
+ "workflows.tasks.inspector.bindings.idPathPlaceholder": "context.customerId",
1758
+ "workflows.tasks.inspector.bindings.label": "Records this task is about",
1759
+ "workflows.tasks.inspector.bindings.labelPlaceholder": "Customer",
1760
+ "workflows.tasks.inspector.bindings.remove": "Remove this record",
1761
+ "workflows.tasks.inspector.bindings.title": "About what",
1762
+ "workflows.tasks.inspector.decisions.add": "Add a decision",
1763
+ "workflows.tasks.inspector.decisions.applyApprovalPreset": "Use the approval preset",
1764
+ "workflows.tasks.inspector.decisions.buttonLabel": "Button label",
1765
+ "workflows.tasks.inspector.decisions.buttonLabelPlaceholder": "Approve",
1766
+ "workflows.tasks.inspector.decisions.editablePrefilled": "Fields the assignee may edit",
1767
+ "workflows.tasks.inspector.decisions.editablePrefilledEmpty": "Add form fields first; then choose which of them the assignee may change.",
1768
+ "workflows.tasks.inspector.decisions.empty": "No decision buttons. Add one for each way this task can end.",
1769
+ "workflows.tasks.inspector.decisions.label": "Decision buttons",
1770
+ "workflows.tasks.inspector.decisions.presetApprove": "Approve",
1771
+ "workflows.tasks.inspector.decisions.presetComment": "Comment",
1772
+ "workflows.tasks.inspector.decisions.presetReject": "Reject",
1773
+ "workflows.tasks.inspector.decisions.remove": "Remove this decision",
1774
+ "workflows.tasks.inspector.decisions.route": "Route it follows",
1775
+ "workflows.tasks.inspector.decisions.routeConditional": "conditional",
1776
+ "workflows.tasks.inspector.decisions.routeMissing": "This route no longer leaves this step. Pick another one, or remove the button.",
1777
+ "workflows.tasks.inspector.decisions.routePlaceholder": "Select a route",
1778
+ "workflows.tasks.inspector.decisions.routesEmpty": "This step has no outgoing route yet. Draw one on the canvas first.",
1779
+ "workflows.tasks.inspector.decisions.style": "Style",
1780
+ "workflows.tasks.inspector.decisions.styleDefault": "Default",
1781
+ "workflows.tasks.inspector.decisions.styles.destructive": "Destructive",
1782
+ "workflows.tasks.inspector.decisions.styles.primary": "Primary",
1783
+ "workflows.tasks.inspector.decisions.styles.secondary": "Secondary",
1784
+ "workflows.tasks.inspector.decisions.title": "Decisions",
1785
+ "workflows.tasks.inspector.what.instructions": "Instructions",
1786
+ "workflows.tasks.inspector.what.instructionsPlaceholder": "What should the assignee do? Insert context values with the variable picker.",
1787
+ "workflows.tasks.inspector.what.taskTitle": "Task title",
1788
+ "workflows.tasks.inspector.what.title": "What",
1789
+ "workflows.tasks.inspector.when.addReminder": "Add a reminder",
1790
+ "workflows.tasks.inspector.when.breachRoute": "Route to follow",
1791
+ "workflows.tasks.inspector.when.breachRouteEmpty": "This step has no outgoing route yet.",
1792
+ "workflows.tasks.inspector.when.breachRoutePlaceholder": "Select a route",
1793
+ "workflows.tasks.inspector.when.deadline": "Deadline",
1794
+ "workflows.tasks.inspector.when.onBreach": "When the deadline passes",
1795
+ "workflows.tasks.inspector.when.onBreachActions.notify": "Notify",
1796
+ "workflows.tasks.inspector.when.onBreachActions.reassign": "Reassign",
1797
+ "workflows.tasks.inspector.when.onBreachActions.route": "Follow a route",
1798
+ "workflows.tasks.inspector.when.onBreachNone": "Do nothing",
1799
+ "workflows.tasks.inspector.when.priorities.extreme": "Extreme",
1800
+ "workflows.tasks.inspector.when.priorities.high": "High",
1801
+ "workflows.tasks.inspector.when.priorities.low": "Low",
1802
+ "workflows.tasks.inspector.when.priorities.medium": "Medium",
1803
+ "workflows.tasks.inspector.when.priority": "Priority",
1804
+ "workflows.tasks.inspector.when.reassignTo": "Reassign to",
1805
+ "workflows.tasks.inspector.when.reassignToPlaceholder": "User id or role",
1806
+ "workflows.tasks.inspector.when.reminderOffset": "Time before the deadline",
1807
+ "workflows.tasks.inspector.when.reminders": "Reminders",
1808
+ "workflows.tasks.inspector.when.remindersEmpty": "No reminders. Add one to nudge the assignee before the deadline.",
1809
+ "workflows.tasks.inspector.when.removeReminder": "Remove this reminder",
1810
+ "workflows.tasks.inspector.when.title": "When",
1811
+ "workflows.tasks.inspector.who.audience": "Audience",
1812
+ "workflows.tasks.inspector.who.audienceCustomerHint": "The task goes to a customer signed in to the portal. Only a named individual can be reached there, so a role queue and a business rule are not offered.",
1813
+ "workflows.tasks.inspector.who.audienceUserHint": "The task goes to somebody who signs in to the backoffice.",
1814
+ "workflows.tasks.inspector.who.audiences.customer": "Customer (portal)",
1815
+ "workflows.tasks.inspector.who.audiences.user": "Backoffice user",
1816
+ "workflows.tasks.inspector.who.customerBindingRequired": "A portal task is only visible to the customer whose record it is about. Link at least one record under “About what”, or nobody in the portal will see it.",
1817
+ "workflows.tasks.inspector.who.customerDynamicExpression": "Portal user from context",
1818
+ "workflows.tasks.inspector.who.customerDynamicPlaceholder": "{{context.customer.userId}}",
1819
+ "workflows.tasks.inspector.who.customerFallbackRolesHint": "When the context value is missing the task falls back to these backoffice roles, so the work leaves the portal.",
1820
+ "workflows.tasks.inspector.who.customerFallbackRolesRequired": "Pick at least one fallback role. When the context value is missing the task cannot reach the portal, and without a backoffice queue nobody would see it at all.",
1821
+ "workflows.tasks.inspector.who.customerUserId": "Portal user id",
1822
+ "workflows.tasks.inspector.who.customerUserIdHint": "The id of a customer portal account, not a backoffice user id.",
1823
+ "workflows.tasks.inspector.who.dynamicExpression": "Assignee from context",
1824
+ "workflows.tasks.inspector.who.dynamicPlaceholder": "{{context.deal.ownerId}}",
1825
+ "workflows.tasks.inspector.who.fallbackRoles": "Fallback roles",
1826
+ "workflows.tasks.inspector.who.fallbackRolesHint": "When the context value is missing the task is offered to these roles instead.",
1827
+ "workflows.tasks.inspector.who.fallbackRolesRequired": "Pick at least one fallback role. When the context value is missing the task is offered to these roles instead — without them nobody would see it.",
1828
+ "workflows.tasks.inspector.who.label": "Assign to",
1829
+ "workflows.tasks.inspector.who.modes.dynamic": "Dynamic",
1830
+ "workflows.tasks.inspector.who.modes.role": "Role",
1831
+ "workflows.tasks.inspector.who.modes.rule": "Rule",
1832
+ "workflows.tasks.inspector.who.modes.user": "User",
1833
+ "workflows.tasks.inspector.who.pickRule": "Pick a rule",
1834
+ "workflows.tasks.inspector.who.pickRuleDescription": "The rule decides who this task is assigned to.",
1835
+ "workflows.tasks.inspector.who.roleQueue": "Roles that can claim this task",
1836
+ "workflows.tasks.inspector.who.rule": "Business rule",
1837
+ "workflows.tasks.inspector.who.rulePlaceholder": "Business rule id",
1838
+ "workflows.tasks.inspector.who.tabsLabel": "Assignment kind",
1839
+ "workflows.tasks.inspector.who.title": "Who",
1840
+ "workflows.tasks.inspector.who.userId": "User id",
1059
1841
  "workflows.tasks.list.title": "사용자 작업",
1060
1842
  "workflows.tasks.messages.claimFailed": "작업을 가져오지 못했습니다",
1061
1843
  "workflows.tasks.messages.claimed": "작업을 가져왔습니다",
1062
1844
  "workflows.tasks.messages.completeFailed": "작업을 완료하지 못했습니다",
1063
1845
  "workflows.tasks.messages.completed": "작업이 완료되었습니다",
1064
1846
  "workflows.tasks.messages.loadFailed": "사용자 작업을 불러오지 못했습니다",
1847
+ "workflows.tasks.messages.reassignFailed": "Failed to reassign task",
1848
+ "workflows.tasks.messages.reassigned": "Task reassigned successfully",
1065
1849
  "workflows.tasks.myTasks": "내 작업",
1066
1850
  "workflows.tasks.overdue": "기한 초과",
1067
1851
  "workflows.tasks.plural": "사용자 작업",
@@ -1081,10 +1865,44 @@
1081
1865
  "workflows.tasks.userTaskConfig.slaDuration": "SLA 기간",
1082
1866
  "workflows.tasks.userTaskConfig.title": "사용자 작업 설정",
1083
1867
  "workflows.tasks.viewTask": "작업 보기",
1868
+ "workflows.templates.gallery.blank.description": "Start from scratch with an empty canvas.",
1869
+ "workflows.templates.gallery.blank.name": "Blank canvas",
1870
+ "workflows.templates.gallery.close": "Close template gallery",
1871
+ "workflows.templates.gallery.description": "Start from a ready-made workflow or a blank canvas.",
1872
+ "workflows.templates.gallery.loadFailed": "Failed to load workflow templates",
1873
+ "workflows.templates.gallery.loading": "Loading templates...",
1874
+ "workflows.templates.gallery.notFound": "Template not found",
1875
+ "workflows.templates.gallery.title": "Choose a template",
1876
+ "workflows.templates.lead-to-install.description": "Take a new deal from first call through contract signing to a confirmed installation date.",
1877
+ "workflows.templates.lead-to-install.name": "Lead to installation",
1878
+ "workflows.templates.order-approval.description": "Route new sales orders through an approve/reject decision with status updates and events.",
1879
+ "workflows.templates.order-approval.name": "Order approval",
1880
+ "workflows.templates.task-escalation.description": "Assign a task with an SLA and notify an escalation channel when it is not resolved in time.",
1881
+ "workflows.templates.task-escalation.name": "Task with escalation",
1882
+ "workflows.templates.webhook-integration.description": "Send a templated payload to an external endpoint when a domain event fires, with delivery bookkeeping.",
1883
+ "workflows.templates.webhook-integration.name": "Webhook integration",
1884
+ "workflows.testStep.failed": "Test step failed",
1885
+ "workflows.testStep.hint": "Runs against a sample context with mocked effects — nothing executes",
1886
+ "workflows.testStep.interpolatedConfig": "Interpolated config",
1887
+ "workflows.testStep.noRedactionWarning": "Samples are stored with the definition and are not redacted — do not pin production personal data.",
1888
+ "workflows.testStep.notAllowed": "You do not have permission to run test steps",
1889
+ "workflows.testStep.outputTitle": "Output preview",
1890
+ "workflows.testStep.pin": "Pin as sample",
1891
+ "workflows.testStep.pinnedAt": "Sample pinned {time}",
1892
+ "workflows.testStep.pinnedFlash": "Sample pinned — it is stored with the definition on save",
1893
+ "workflows.testStep.refused.noMock": "This activity type has no dry-run mock, so there is nothing to preview",
1894
+ "workflows.testStep.refused.refused": "This activity type cannot be simulated safely and opts out of dry runs",
1895
+ "workflows.testStep.retry": "Retry",
1896
+ "workflows.testStep.run": "Test step",
1897
+ "workflows.testStep.running": "Testing…",
1898
+ "workflows.testStep.simulatedBadge": "Simulated",
1899
+ "workflows.testStep.unpin": "Unpin",
1900
+ "workflows.testStep.unsavedHint": "Save the workflow definition first to test steps",
1084
1901
  "workflows.transitions.activities": "액티비티",
1085
1902
  "workflows.transitions.addTransition": "전환 추가",
1086
1903
  "workflows.transitions.deleteTransition": "전환 삭제",
1087
1904
  "workflows.transitions.editTransition": "전환 편집",
1905
+ "workflows.transitions.errorRoute": "On error",
1088
1906
  "workflows.transitions.fromStep": "출발 단계",
1089
1907
  "workflows.transitions.plural": "전환",
1090
1908
  "workflows.transitions.postConditions": "사후 조건",
@@ -1100,12 +1918,25 @@
1100
1918
  "workflows.transitions.triggers.manual": "수동",
1101
1919
  "workflows.transitions.triggers.signal": "신호",
1102
1920
  "workflows.transitions.triggers.timer": "타이머",
1921
+ "workflows.triggerNode.capCount": "{count} triggers",
1922
+ "workflows.triggerNode.capCountOne": "{count} trigger",
1923
+ "workflows.triggerNode.definitionDisabled": "workflow disabled — nothing starts it",
1924
+ "workflows.triggerNode.manual": "manual / API start",
1925
+ "workflows.triggerNode.more": "+{count} more",
1926
+ "workflows.triggerNode.open": "Edit triggers",
1927
+ "workflows.triggerNode.summary": "{enabled} of {total} event trigger(s) active, plus manual and API start",
1928
+ "workflows.triggerNode.title": "Starts",
1929
+ "workflows.triggerNode.triggerDisabled": "disabled",
1930
+ "workflows.triggers.actions.delete": "Delete trigger",
1931
+ "workflows.triggers.actions.edit": "Edit trigger",
1103
1932
  "workflows.triggers.add": "트리거 추가",
1104
1933
  "workflows.triggers.addCondition": "조건 추가",
1105
1934
  "workflows.triggers.addMapping": "매핑 추가",
1935
+ "workflows.triggers.builtIn": "built-in",
1106
1936
  "workflows.triggers.delete.description": "이 이벤트 트리거가 영구적으로 삭제됩니다. 이 트리거로는 더 이상 워크플로우가 자동 시작되지 않습니다.",
1107
1937
  "workflows.triggers.delete.title": "이벤트 트리거를 삭제하시겠습니까?",
1108
1938
  "workflows.triggers.description": "이 워크플로우를 자동으로 시작할 이벤트를 설정하세요. 시스템에서 일치하는 이벤트가 발생하면 매핑된 컨텍스트로 새 워크플로우 인스턴스가 생성됩니다.",
1939
+ "workflows.triggers.dialog.close": "Close trigger editor",
1109
1940
  "workflows.triggers.dialog.create.title": "이벤트 트리거 생성",
1110
1941
  "workflows.triggers.dialog.description": "시스템 이벤트를 기준으로 이 워크플로우를 언제 자동 시작할지 설정하세요.",
1111
1942
  "workflows.triggers.dialog.edit.title": "이벤트 트리거 편집",
@@ -1126,6 +1957,7 @@
1126
1957
  "workflows.triggers.hints.filterConditions": "이벤트 페이로드가 이 조건들과 모두 일치할 때만 트리거됩니다",
1127
1958
  "workflows.triggers.hints.maxConcurrent": "동시에 실행되는 워크플로우 인스턴스 수를 제한합니다",
1128
1959
  "workflows.triggers.hints.priority": "우선순위가 높은 트리거가 먼저 실행됩니다",
1960
+ "workflows.triggers.manualBuiltInHint": "always available",
1129
1961
  "workflows.triggers.messages.createFailed": "트리거를 생성하지 못했습니다",
1130
1962
  "workflows.triggers.messages.created": "이벤트 트리거가 생성되었습니다",
1131
1963
  "workflows.triggers.messages.deleteFailed": "트리거를 삭제하지 못했습니다",
@@ -1149,6 +1981,8 @@
1149
1981
  "workflows.triggers.operators.notIn": "포함되지 않음 (배열)",
1150
1982
  "workflows.triggers.operators.regex": "정규식 일치",
1151
1983
  "workflows.triggers.operators.startsWith": "다음으로 시작함",
1984
+ "workflows.triggers.payloadField.optional": "optional",
1985
+ "workflows.triggers.placeholders.debounce": "e.g. 1000",
1152
1986
  "workflows.triggers.placeholders.defaultValue": "default",
1153
1987
  "workflows.triggers.placeholders.description": "이 트리거가 발생해야 하는 조건을 설명하세요...",
1154
1988
  "workflows.triggers.placeholders.eventPattern": "sales.orders.updated",
@@ -1162,7 +1996,20 @@
1162
1996
  "workflows.triggers.status.active": "활성",
1163
1997
  "workflows.triggers.status.disabled": "비활성",
1164
1998
  "workflows.triggers.title": "이벤트 트리거",
1999
+ "workflows.triggers.untypedPayload": "Untyped event payload",
2000
+ "workflows.triggers.values.false": "False",
2001
+ "workflows.triggers.values.placeholder": "Select value",
2002
+ "workflows.triggers.values.true": "True",
2003
+ "workflows.triggersDialog.description": "What starts this workflow. Manual and API start are always available.",
2004
+ "workflows.triggersDialog.save": "Save triggers",
2005
+ "workflows.triggersDialog.title": "Triggers",
2006
+ "workflows.validation.conditionPollIntervalInvalid": "Poll interval must be a whole number of milliseconds.",
2007
+ "workflows.validation.conditionRequired": "Wait For Condition requires a condition.",
2008
+ "workflows.validation.conditionTimeoutRequired": "Wait For Condition requires a timeout.",
1165
2009
  "workflows.validation.descriptionMaxLength": "설명은 5000자 이하여야 합니다",
2010
+ "workflows.validation.errorDirectiveFallbackInvalid": "The fallback value must be valid JSON",
2011
+ "workflows.validation.invalidActivityConfigJson": "Activity \"{activity}\" has invalid JSON in its configuration. Fix it before saving.",
2012
+ "workflows.validation.invalidAdvancedConfigJson": "Invalid JSON in Advanced Configuration. Please check your syntax.",
1166
2013
  "workflows.validation.invalidDuration": "잘못된 기간 형식입니다. ISO 8601 형식(예: PT5M, PT1H, P1D) 또는 간단한 형식(5m, 1h, 3d)을 사용하세요.",
1167
2014
  "workflows.validation.invalidFormat": "잘못된 형식입니다",
1168
2015
  "workflows.validation.invalidTransition": "잘못된 전환 설정입니다",
@@ -1172,6 +2019,8 @@
1172
2019
  "workflows.validation.mustHaveStartEnd": "워크플로우에는 START와 END 단계가 있어야 합니다",
1173
2020
  "workflows.validation.noOrphanSteps": "모든 단계는 연결되어 있어야 합니다",
1174
2021
  "workflows.validation.required": "이 필드는 필수입니다",
2022
+ "workflows.validation.timerDurationOrUntilRequired": "Wait For Timer requires either \"Duration\" or \"Wait Until\".",
2023
+ "workflows.validation.timerDurationXorUntil": "Wait For Timer accepts \"Duration\" or \"Wait Until\", not both. Clear one of them.",
1175
2024
  "workflows.validation.uniqueId": "ID는 고유해야 합니다",
1176
2025
  "workflows.validation.untilMustBeFuture": "대기 종료 시각은 미래의 날짜와 시간이어야 합니다.",
1177
2026
  "workflows.validation.workflowIdFormat": "워크플로우 ID는 소문자, 숫자, 하이픈, 밑줄만 포함해야 합니다",
@@ -1179,27 +2028,237 @@
1179
2028
  "workflows.validation.workflowIdRequired": "워크플로우 ID는 필수입니다",
1180
2029
  "workflows.validation.workflowNameMaxLength": "워크플로우 이름은 200자 이하여야 합니다",
1181
2030
  "workflows.validation.workflowNameRequired": "워크플로우 이름은 필수입니다",
2031
+ "workflows.variablePicker.buttonLabel": "Insert context variable",
2032
+ "workflows.variablePicker.emptyState": "No context variables are known at this step yet. Declare workflow inputs or add earlier steps that produce outputs.",
2033
+ "workflows.variablePicker.groups.activity": "Activity outputs",
2034
+ "workflows.variablePicker.groups.asyncResult": "Async activity results",
2035
+ "workflows.variablePicker.groups.contextSchema": "Workflow inputs",
2036
+ "workflows.variablePicker.groups.invokeAgent": "Agent results",
2037
+ "workflows.variablePicker.groups.join": "Parallel join",
2038
+ "workflows.variablePicker.groups.setVariable": "Set variables",
2039
+ "workflows.variablePicker.groups.signal": "Signals",
2040
+ "workflows.variablePicker.groups.subWorkflow": "Sub-workflow outputs",
2041
+ "workflows.variablePicker.groups.trigger": "Trigger",
2042
+ "workflows.variablePicker.groups.userTask": "User task form",
2043
+ "workflows.variablePicker.maybeBadge": "maybe",
2044
+ "workflows.variablePicker.noMatches": "No context variables match your search.",
2045
+ "workflows.variablePicker.searchPlaceholder": "Search available context…",
2046
+ "workflows.visualEditor.autoArrange": "Auto-arrange",
2047
+ "workflows.visualEditor.autosaved": "Saved",
2048
+ "workflows.visualEditor.autosaving": "Saving…",
1182
2049
  "workflows.visualEditor.clear": "지우기",
1183
2050
  "workflows.visualEditor.clearDescription": "모든 메타데이터와 워크플로우 캔버스가 지워집니다. 이 작업은 되돌릴 수 없습니다.",
1184
2051
  "workflows.visualEditor.clearTitle": "전체를 지우시겠습니까?",
1185
2052
  "workflows.visualEditor.clickToAdd": "단계 유형을 클릭하여 캔버스에 추가하세요",
1186
2053
  "workflows.visualEditor.clickToAddFromPalette": "팔레트에서 단계 유형을 클릭하여 캔버스에 추가하세요",
2054
+ "workflows.visualEditor.clipboard.copied": "Copied {count} step(s)",
2055
+ "workflows.visualEditor.clipboard.copyUnavailable": "The browser blocked clipboard access, so the selection was kept in this editor only — pasting into another tab will not work.",
2056
+ "workflows.visualEditor.clipboard.empty": "The copied selection contains no steps.",
2057
+ "workflows.visualEditor.clipboard.invalidJson": "The clipboard does not contain valid JSON.",
2058
+ "workflows.visualEditor.clipboard.nothingSelected": "Select one or more steps first",
2059
+ "workflows.visualEditor.clipboard.pasteUnavailable": "The browser blocked clipboard access, so there is nothing to paste. Copy a selection in this editor first.",
2060
+ "workflows.visualEditor.clipboard.pasted": "Pasted {count} step(s)",
2061
+ "workflows.visualEditor.clipboard.unsupportedFormat": "The clipboard does not contain a copied workflow selection.",
2062
+ "workflows.visualEditor.codeView.applied": "The canvas was replaced from the JSON — undo restores the previous version.",
2063
+ "workflows.visualEditor.codeView.apply": "Apply to canvas",
2064
+ "workflows.visualEditor.codeView.assemblyFailed": "The definition could not be assembled: {message}",
2065
+ "workflows.visualEditor.codeView.cannotApply": "This JSON cannot be applied yet",
2066
+ "workflows.visualEditor.codeView.canvasChanged": "The canvas changed; this text has been refreshed from it.",
2067
+ "workflows.visualEditor.codeView.copied": "Definition JSON copied",
2068
+ "workflows.visualEditor.codeView.copy": "Copy JSON",
2069
+ "workflows.visualEditor.codeView.copyUnavailable": "The browser blocked clipboard access, so nothing was copied — select the JSON and copy it manually.",
2070
+ "workflows.visualEditor.codeView.description": "The definition JSON this workflow would be saved as. It is read-only here — the canvas stays the source of truth.",
2071
+ "workflows.visualEditor.codeView.descriptionEditable": "The definition JSON this workflow would be saved as. Edit it and press Apply (or Cmd/Ctrl+Enter) to replace the canvas — the canvas keeps updating this text until you start typing.",
2072
+ "workflows.visualEditor.codeView.jsonTitle": "Definition JSON",
2073
+ "workflows.visualEditor.codeView.lineNumber": "line {line}",
2074
+ "workflows.visualEditor.codeView.open": "Show the definition JSON",
2075
+ "workflows.visualEditor.codeView.pasteSubgraph": "Paste steps",
2076
+ "workflows.visualEditor.codeView.readyToApply": "Ready to apply.",
2077
+ "workflows.visualEditor.codeView.revert": "Discard edits",
2078
+ "workflows.visualEditor.codeView.title": "Code",
2079
+ "workflows.visualEditor.codeView.validationClean": "No problems found in this definition.",
2080
+ "workflows.visualEditor.codeView.validationTitle": "Schema validation",
2081
+ "workflows.visualEditor.collapsePalette": "Collapse palette",
2082
+ "workflows.visualEditor.deleteStep": "Delete step",
2083
+ "workflows.visualEditor.draft.bannerConflict": "The workflow definition has changed since this draft was made. Restoring will apply your draft over the newer version.",
2084
+ "workflows.visualEditor.draft.bannerTitle": "You have an unsaved draft from {time}",
2085
+ "workflows.visualEditor.draft.discard": "Discard",
2086
+ "workflows.visualEditor.draft.restore": "Restore draft",
2087
+ "workflows.visualEditor.draft.restoreFailed": "Failed to restore draft",
2088
+ "workflows.visualEditor.draft.restored": "Draft restored",
2089
+ "workflows.visualEditor.draft.saveFailed": "Draft not saved",
2090
+ "workflows.visualEditor.draft.saved": "Draft saved {time}",
2091
+ "workflows.visualEditor.editSafety.bannerDescription": "{count} instance(s) are still running on this version. Changing the steps or routes would re-point them mid-flight, so the change is saved to a new version instead.",
2092
+ "workflows.visualEditor.editSafety.bannerTitle": "This change needs a new version",
2093
+ "workflows.visualEditor.editSafety.createVersion": "Create version",
2094
+ "workflows.visualEditor.editSafety.createVersionFailed": "Could not create a new version.",
2095
+ "workflows.visualEditor.editSafety.createVersionSucceeded": "Version {version} created. Your changes were saved there.",
2096
+ "workflows.visualEditor.editSafety.keepEditing": "Keep editing",
2097
+ "workflows.visualEditor.enterFocusMode": "Focus",
2098
+ "workflows.visualEditor.errorHandler.help": "Catch-all for failures no error route and no step directive handled. A handler step keeps the run going in place; a handler workflow starts separately with the failed step, the error and a context snapshot.",
2099
+ "workflows.visualEditor.errorHandler.label": "On unhandled failure",
2100
+ "workflows.visualEditor.errorHandler.none": "Fail the instance (default)",
2101
+ "workflows.visualEditor.errorHandler.step": "Go to a handler step",
2102
+ "workflows.visualEditor.errorHandler.stepLabel": "Handler step",
2103
+ "workflows.visualEditor.errorHandler.workflow": "Run a handler workflow",
2104
+ "workflows.visualEditor.errorHandler.workflowLabel": "Handler workflow id",
2105
+ "workflows.visualEditor.errorHandler.workflowPlaceholder": "order-failure-handler",
2106
+ "workflows.visualEditor.exitFocusMode": "Exit focus",
2107
+ "workflows.visualEditor.expandPalette": "Expand palette",
1187
2108
  "workflows.visualEditor.hideMetadata": "메타데이터 숨기기",
1188
2109
  "workflows.visualEditor.hint.addSteps": "단계 유형을 클릭하여 추가하세요",
2110
+ "workflows.visualEditor.hint.commandPalette": "Press Cmd/Ctrl+K for every command without the mouse",
1189
2111
  "workflows.visualEditor.hint.connectSteps": "핸들을 드래그하여 단계를 연결하세요",
2112
+ "workflows.visualEditor.hint.copyPaste": "Select steps and copy, paste or duplicate them with Cmd/Ctrl+C, +V and +D",
2113
+ "workflows.visualEditor.hint.dragFromPalette": "Drag a step onto the canvas, or onto a route to insert it there",
1190
2114
  "workflows.visualEditor.hint.dragSteps": "단계를 드래그하여 위치를 조정하세요",
1191
2115
  "workflows.visualEditor.hint.editSteps": "단계와 전환을 클릭하여 편집하세요",
2116
+ "workflows.visualEditor.hint.keyboardCanvas": "With a step selected: Enter opens it, Del removes it, arrows nudge it (hold Shift for bigger steps)",
1192
2117
  "workflows.visualEditor.hint.validate": "저장 전에 검증하세요",
2118
+ "workflows.visualEditor.history.addActivity": "Add action to route",
2119
+ "workflows.visualEditor.history.addGroup": "Add group",
2120
+ "workflows.visualEditor.history.addNote": "Add note",
2121
+ "workflows.visualEditor.history.addStep": "Add step",
2122
+ "workflows.visualEditor.history.aiDraft": "AI draft",
2123
+ "workflows.visualEditor.history.applyCode": "Apply JSON from Code view",
2124
+ "workflows.visualEditor.history.branchRoutes": "Edit branch routes",
2125
+ "workflows.visualEditor.history.connect": "Connect steps",
2126
+ "workflows.visualEditor.history.convert": "Change step type",
2127
+ "workflows.visualEditor.history.deleteAnnotation": "Delete annotation",
2128
+ "workflows.visualEditor.history.deleteFixture": "Delete start fixture",
2129
+ "workflows.visualEditor.history.deleteRoute": "Delete route",
2130
+ "workflows.visualEditor.history.deleteStep": "Delete step",
2131
+ "workflows.visualEditor.history.duplicate": "Duplicate",
2132
+ "workflows.visualEditor.history.editAnnotation": "Edit annotation",
2133
+ "workflows.visualEditor.history.editRoute": "Edit route",
2134
+ "workflows.visualEditor.history.editStep": "Edit step",
2135
+ "workflows.visualEditor.history.insertOnRoute": "Insert step on route",
2136
+ "workflows.visualEditor.history.move": "Move steps",
2137
+ "workflows.visualEditor.history.nothingToRedo": "Nothing to redo",
2138
+ "workflows.visualEditor.history.nothingToUndo": "Nothing to undo",
2139
+ "workflows.visualEditor.history.paste": "Paste",
2140
+ "workflows.visualEditor.history.pinSample": "Pin sample",
2141
+ "workflows.visualEditor.history.reattach": "Re-target route",
2142
+ "workflows.visualEditor.history.redone": "Redone: {label}",
2143
+ "workflows.visualEditor.history.routeOrder": "Reorder routes",
2144
+ "workflows.visualEditor.history.saveFixture": "Save start fixture",
2145
+ "workflows.visualEditor.history.tidy": "Tidy layout",
2146
+ "workflows.visualEditor.history.toggleGroup": "Collapse group",
2147
+ "workflows.visualEditor.history.undone": "Undone: {label}",
2148
+ "workflows.visualEditor.history.unpinSample": "Unpin sample",
1193
2149
  "workflows.visualEditor.howToUse": "사용 방법:",
2150
+ "workflows.visualEditor.interpolation.help": "Controls what happens when a variable placeholder cannot be resolved at run time: strict fails the step so problems surface immediately; lenient keeps the unresolved text unchanged. New workflows start strict.",
2151
+ "workflows.visualEditor.interpolation.label": "Missing variables",
2152
+ "workflows.visualEditor.interpolation.lenient": "Lenient — keep the text as written",
2153
+ "workflows.visualEditor.interpolation.strict": "Strict — fail the step",
2154
+ "workflows.visualEditor.keyboard.nothingSelected": "Select a step or a route first",
1194
2155
  "workflows.visualEditor.loadExample": "예제 불러오기",
1195
2156
  "workflows.visualEditor.loadExampleWorkflow": "예제 워크플로우 불러오기",
2157
+ "workflows.visualEditor.menuGroups.canvas": "Canvas",
2158
+ "workflows.visualEditor.menuGroups.tools": "Tools",
2159
+ "workflows.visualEditor.menuGroups.view": "View",
2160
+ "workflows.visualEditor.metadata.buttonLabel": "Settings",
2161
+ "workflows.visualEditor.metadata.close": "Close",
2162
+ "workflows.visualEditor.metadata.description": "Everything about this workflow except its graph — identity, presentation, availability, inputs and runtime behaviour.",
2163
+ "workflows.visualEditor.metadata.lockedAfterCreate": "Fixed once the workflow exists. Publish a new version to change it.",
2164
+ "workflows.visualEditor.metadata.open": "Open workflow details",
2165
+ "workflows.visualEditor.metadata.readOnlyNotice": "This workflow is defined in code and cannot be edited here.",
2166
+ "workflows.visualEditor.metadata.requiredFields": "Workflow ID and name are required.",
2167
+ "workflows.visualEditor.metadata.saveHint": "Press Cmd/Ctrl + Enter to save.",
2168
+ "workflows.visualEditor.metadata.sections.availability": "Availability",
2169
+ "workflows.visualEditor.metadata.sections.availabilityHint": "Whether this workflow may start, and the window in which it may.",
2170
+ "workflows.visualEditor.metadata.sections.identity": "Identity",
2171
+ "workflows.visualEditor.metadata.sections.identityHint": "The ID and version are the unique key the engine resolves a running instance against, so both are fixed after creation. The name and description are what people read.",
2172
+ "workflows.visualEditor.metadata.sections.inputs": "Inputs",
2173
+ "workflows.visualEditor.metadata.sections.inputsHint": "The context data this workflow starts with. Triggers are edited from the Start node on the canvas.",
2174
+ "workflows.visualEditor.metadata.sections.presentation": "Presentation",
2175
+ "workflows.visualEditor.metadata.sections.presentationHint": "How this workflow is recognised and found in lists.",
2176
+ "workflows.visualEditor.metadata.sections.runtime": "Runtime behaviour",
2177
+ "workflows.visualEditor.metadata.sections.runtimeHint": "What the engine does when a variable cannot be resolved or a step fails with nothing wired to catch it.",
2178
+ "workflows.visualEditor.metadata.title": "Workflow details",
2179
+ "workflows.visualEditor.more": "More",
2180
+ "workflows.visualEditor.nodeCardLabel": "{type}: {title} — {status}",
2181
+ "workflows.visualEditor.palette.actionsTitle": "Actions",
2182
+ "workflows.visualEditor.palette.activityAdded": "{activity} added to the route",
2183
+ "workflows.visualEditor.palette.dragActionHint": "Drop an action onto a route to add it there",
2184
+ "workflows.visualEditor.palette.insertedOnRoute": "Step inserted on the route",
2185
+ "workflows.visualEditor.palette.rejected.dataMappingRoute": "Data mapping links are edited in the step configuration, not on the canvas.",
2186
+ "workflows.visualEditor.palette.rejected.unknownRoute": "That route no longer exists.",
2187
+ "workflows.visualEditor.problems.branchingWithoutOtherwise": "Branching step \"{stepId}\" has no unconditioned route; add an otherwise route so the workflow cannot stall when no condition matches",
2188
+ "workflows.visualEditor.problems.conditionUnknownPath": "Condition path \"{path}\" is not provided by any earlier step, trigger, or input",
2189
+ "workflows.visualEditor.problems.counts": "{errors} error(s) · {warnings} warning(s)",
2190
+ "workflows.visualEditor.problems.dismiss": "Dismiss problems",
2191
+ "workflows.visualEditor.problems.duplicateBranchingCase": "Branching step \"{stepId}\" has more than one route for {caseValue}; only the highest-priority one can ever match",
2192
+ "workflows.visualEditor.problems.errorRouteDuplicateTarget": "Error route \"{transitionId}\" shares its source and target with a normal route; the engine cannot tell them apart",
2193
+ "workflows.visualEditor.problems.errorRouteUnknownSource": "Error route \"{transitionId}\" starts at unknown step \"{stepId}\"",
2194
+ "workflows.visualEditor.problems.errorRouteUnknownTarget": "Error route \"{transitionId}\" targets unknown step \"{stepId}\"",
2195
+ "workflows.visualEditor.problems.nodeErrorBadge": "{count} validation error(s)",
2196
+ "workflows.visualEditor.problems.outcomeRouteDuplicateKind": "Agent step \"{stepId}\" has more than one route for the \"{outcomeKind}\" outcome; only the highest-priority one can ever be taken",
2197
+ "workflows.visualEditor.problems.outcomeRouteUnknownKind": "Outcome route \"{transitionId}\" claims outcome \"{outcomeKind}\", which the platform does not define; it can never be selected",
2198
+ "workflows.visualEditor.problems.saveBlocked": "Cannot save: {count} validation error(s) found. Please fix them first.",
2199
+ "workflows.visualEditor.problems.schemaValidationFailed": "Schema validation failed: {message}",
2200
+ "workflows.visualEditor.problems.severityError": "Error",
2201
+ "workflows.visualEditor.problems.severityWarning": "Warning",
2202
+ "workflows.visualEditor.problems.summary": "Validation found {errors} error(s) and {warnings} warning(s).",
2203
+ "workflows.visualEditor.problems.taskBindingAssigneeCannotView": "Task \"{stepId}\" is about \"{entityType}\", which {roles} may not view; assignees holding only those roles would not see the task",
2204
+ "workflows.visualEditor.problems.taskBindingUnknownEntityType": "Task \"{stepId}\" is about \"{entityType}\", which is not a known record type; the task would be hidden from its own assignee",
2205
+ "workflows.visualEditor.problems.taskDecisionDuplicateId": "Task \"{stepId}\" has more than one decision with the id \"{decisionId}\"; only one of them can ever be recorded",
2206
+ "workflows.visualEditor.problems.taskDecisionUnknownRoute": "Decision \"{decisionId}\" on task \"{stepId}\" points at route \"{transitionId}\", which no longer leaves this step",
2207
+ "workflows.visualEditor.problems.taskPortalWithoutBinding": "Task \"{stepId}\" is addressed to a customer but is about no record; a portal task is only visible to the customer whose record it is linked to, so nobody in the portal would see it",
2208
+ "workflows.visualEditor.problems.taskWithoutOwner": "Task \"{stepId}\" names neither an assignee nor a role queue, so nobody can complete it and the workflow will stall there",
2209
+ "workflows.visualEditor.problems.title": "Problems",
2210
+ "workflows.visualEditor.problems.unmappedStepConfig": "Step \"{stepId}\" keeps unmapped configuration from an earlier type change ({keys}); it is stored but no longer executed",
2211
+ "workflows.visualEditor.problems.unresolvedContextRef": "Context reference \"{path}\" is not provided by any earlier step, trigger, or input",
2212
+ "workflows.visualEditor.problems.validationPassed": "Validation passed! Your workflow is valid and ready to save.",
1196
2213
  "workflows.visualEditor.readOnly": "읽기 전용",
2214
+ "workflows.visualEditor.routeLabelled": "Route: {label}",
2215
+ "workflows.visualEditor.routeUnlabelled": "Route",
1197
2216
  "workflows.visualEditor.runTest": "테스트 실행",
1198
2217
  "workflows.visualEditor.showMetadata": "메타데이터 표시",
1199
2218
  "workflows.visualEditor.startBuilding": "워크플로우 만들기 시작",
1200
2219
  "workflows.visualEditor.stepPalette": "단계 팔레트",
1201
2220
  "workflows.visualEditor.tapToAdd": "단계 유형을 탭하여 캔버스에 추가하세요",
1202
2221
  "workflows.visualEditor.tapToAddBelow": "아래의 단계 유형을 탭하여 캔버스에 추가하세요",
2222
+ "workflows.visualEditor.templateLoaded": "Template loaded",
1203
2223
  "workflows.visualEditor.validate": "검증",
1204
- "workflows.visualEditor.workflowMetadata": "워크플로우 메타데이터"
2224
+ "workflows.visualEditor.validateWithErrors": "{count} validation errors",
2225
+ "workflows.visualEditor.workflowMetadata": "워크플로우 메타데이터",
2226
+ "workflows.workInbox.actions.claimNext": "Claim Next",
2227
+ "workflows.workInbox.confirm.unclaim": "Release task '{{name}}' back to its queue?",
2228
+ "workflows.workInbox.empty.degraded.description": "A work source did not respond, so items may be missing from this view. Reload in a moment — there may be work waiting that could not be loaded.",
2229
+ "workflows.workInbox.empty.degraded.title": "This list may be incomplete",
2230
+ "workflows.workInbox.empty.entityHidden.description": "{count} item(s) match this view but are attached to records this account cannot open, so they are not listed. Ask an administrator for access to those records, or have the work reassigned.",
2231
+ "workflows.workInbox.empty.entityHidden.title": "Some work is hidden from this account",
2232
+ "workflows.workInbox.empty.entityNamePlural": "work items",
2233
+ "workflows.workInbox.empty.noRelationship.description": "This inbox shows work assigned to you or waiting in a queue for one of your roles. It no longer lists every task in the organisation. Ask a colleague to assign you a task, or ask an administrator for permission to view all workflow tasks if you need to see other people’s work.",
2234
+ "workflows.workInbox.empty.noRelationship.title": "Nothing is assigned to you",
2235
+ "workflows.workInbox.fields.item": "Work Item",
2236
+ "workflows.workInbox.fields.kind": "Source",
2237
+ "workflows.workInbox.fields.priority": "Priority",
2238
+ "workflows.workInbox.filters.allWork": "All Work",
2239
+ "workflows.workInbox.filters.entityType": "Entity Type",
2240
+ "workflows.workInbox.filters.entityTypePlaceholder": "e.g. sales:order",
2241
+ "workflows.workInbox.filters.kind": "Source",
2242
+ "workflows.workInbox.filters.module": "Module",
2243
+ "workflows.workInbox.filters.modulePlaceholder": "Filter by module…",
2244
+ "workflows.workInbox.filters.myWork": "My Work",
2245
+ "workflows.workInbox.filters.priority": "Priority",
2246
+ "workflows.workInbox.filters.role": "Role",
2247
+ "workflows.workInbox.filters.rolePlaceholder": "Filter by queued role…",
2248
+ "workflows.workInbox.kinds.agent_disposition": "Agent proposal",
2249
+ "workflows.workInbox.kinds.user_task": "Workflow task",
2250
+ "workflows.workInbox.list.title": "Work Inbox",
2251
+ "workflows.workInbox.messages.degraded": "Some work sources are unavailable; this list may be incomplete",
2252
+ "workflows.workInbox.messages.entityHidden": "{count} item(s) in this queue are hidden because you cannot view the records they are about. Reassign or request access to the record type to see them.",
2253
+ "workflows.workInbox.messages.loadFailed": "Failed to load the work inbox",
2254
+ "workflows.workInbox.messages.nothingClaimable": "No claimable work available",
2255
+ "workflows.workInbox.messages.releaseFailed": "Failed to release task",
2256
+ "workflows.workInbox.messages.released": "Task released successfully",
2257
+ "workflows.workInbox.plural": "Work Inbox",
2258
+ "workflows.workInbox.priorities.extreme": "Extreme",
2259
+ "workflows.workInbox.priorities.high": "High",
2260
+ "workflows.workInbox.priorities.low": "Low",
2261
+ "workflows.workInbox.priorities.medium": "Medium",
2262
+ "workflows.workInbox.priorities.unset": "Unset",
2263
+ "workflows.workInbox.title": "Work Inbox"
1205
2264
  }