@open-mercato/cli 0.6.7-develop.6863.1.61001cf9a8 → 0.6.7

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 (278) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/build.mjs +7 -24
  3. package/dist/agentic/claude-code/hooks/entity-migration-check.ts +88 -32
  4. package/dist/agentic/codex/enforcement-rules.md +16 -2
  5. package/dist/agentic/cursor/hooks/entity-migration-check.mjs +50 -19
  6. package/dist/agentic/cursor/rules/entity-guard.mdc +21 -9
  7. package/dist/agentic/cursor/rules/generated-guard.mdc +5 -3
  8. package/dist/agentic/cursor/rules/open-mercato.mdc +29 -3
  9. package/dist/agentic/guides/cache.md +45 -0
  10. package/dist/agentic/guides/core.md +453 -0
  11. package/dist/agentic/guides/events.md +117 -0
  12. package/dist/agentic/guides/module-facts.json +3833 -115419
  13. package/dist/agentic/guides/module-system.md +127 -12
  14. package/dist/agentic/guides/modules/ai_assistant.md +28 -227
  15. package/dist/agentic/guides/modules/api_docs.md +2 -58
  16. package/dist/agentic/guides/modules/api_keys.md +7 -92
  17. package/dist/agentic/guides/modules/attachments.md +14 -119
  18. package/dist/agentic/guides/modules/audit_logs.md +10 -131
  19. package/dist/agentic/guides/modules/auth.md +33 -276
  20. package/dist/agentic/guides/modules/business_rules.md +14 -149
  21. package/dist/agentic/guides/modules/catalog.md +43 -475
  22. package/dist/agentic/guides/modules/channel_gmail.md +3 -82
  23. package/dist/agentic/guides/modules/channel_imap.md +3 -82
  24. package/dist/agentic/guides/modules/checkout.md +27 -299
  25. package/dist/agentic/guides/modules/communication_channels.md +33 -315
  26. package/dist/agentic/guides/modules/configs.md +8 -104
  27. package/dist/agentic/guides/modules/content.md +2 -57
  28. package/dist/agentic/guides/modules/currencies.md +17 -152
  29. package/dist/agentic/guides/modules/customer_accounts.md +45 -387
  30. package/dist/agentic/guides/modules/customers.md +85 -746
  31. package/dist/agentic/guides/modules/dashboards.md +10 -155
  32. package/dist/agentic/guides/modules/data_sync.md +16 -149
  33. package/dist/agentic/guides/modules/dictionaries.md +12 -107
  34. package/dist/agentic/guides/modules/directory.md +15 -148
  35. package/dist/agentic/guides/modules/entities.md +13 -145
  36. package/dist/agentic/guides/modules/events.md +2 -59
  37. package/dist/agentic/guides/modules/feature_toggles.md +9 -119
  38. package/dist/agentic/guides/modules/gateway_stripe.md +4 -92
  39. package/dist/agentic/guides/modules/generators.md +2 -45
  40. package/dist/agentic/guides/modules/inbox_ops.md +27 -207
  41. package/dist/agentic/guides/modules/integrations.md +16 -146
  42. package/dist/agentic/guides/modules/messages.md +24 -223
  43. package/dist/agentic/guides/modules/notifications.md +8 -96
  44. package/dist/agentic/guides/modules/onboarding.md +6 -77
  45. package/dist/agentic/guides/modules/payment_gateways.md +21 -164
  46. package/dist/agentic/guides/modules/perspectives.md +7 -77
  47. package/dist/agentic/guides/modules/planner.md +18 -136
  48. package/dist/agentic/guides/modules/portal.md +2 -93
  49. package/dist/agentic/guides/modules/progress.md +14 -104
  50. package/dist/agentic/guides/modules/query_index.md +15 -154
  51. package/dist/agentic/guides/modules/record_locks.md +21 -206
  52. package/dist/agentic/guides/modules/resources.md +30 -197
  53. package/dist/agentic/guides/modules/sales.md +84 -678
  54. package/dist/agentic/guides/modules/scheduler.md +14 -133
  55. package/dist/agentic/guides/modules/search.md +6 -170
  56. package/dist/agentic/guides/modules/security.md +35 -294
  57. package/dist/agentic/guides/modules/shipping_carriers.md +18 -134
  58. package/dist/agentic/guides/modules/sso.md +26 -151
  59. package/dist/agentic/guides/modules/staff.md +57 -369
  60. package/dist/agentic/guides/modules/storage_s3.md +5 -95
  61. package/dist/agentic/guides/modules/sync_akeneo.md +3 -85
  62. package/dist/agentic/guides/modules/sync_excel.md +6 -75
  63. package/dist/agentic/guides/modules/system_status_overlays.md +2 -60
  64. package/dist/agentic/guides/modules/translations.md +10 -104
  65. package/dist/agentic/guides/modules/webhooks.md +24 -203
  66. package/dist/agentic/guides/modules/wms.md +46 -441
  67. package/dist/agentic/guides/modules/workflows.md +43 -302
  68. package/dist/agentic/guides/queue.md +53 -0
  69. package/dist/agentic/guides/search.md +115 -0
  70. package/dist/agentic/guides/shared.md +108 -0
  71. package/dist/agentic/guides/ui.md +347 -0
  72. package/dist/agentic/shared/AGENTS.md.template +311 -124
  73. package/dist/agentic/shared/ai/agentic.config.json +0 -2
  74. package/dist/agentic/shared/ai/lessons.md +3 -26
  75. package/dist/agentic/shared/ai/skills/om-auto-continue-pr-loop/SKILL.md +27 -0
  76. package/dist/agentic/shared/ai/skills/om-auto-create-pr-loop/SKILL.md +27 -0
  77. package/dist/agentic/shared/ai/skills/om-auto-review-pr/SKILL.md +0 -4
  78. package/dist/agentic/shared/ai/skills/om-backend-ui-design/SKILL.md +241 -20
  79. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/ui-components.md +260 -0
  80. package/dist/agentic/shared/ai/skills/om-data-model-design/SKILL.md +601 -16
  81. package/dist/agentic/shared/ai/skills/om-data-model-design/references/mikro-orm-cheatsheet.md +146 -0
  82. package/dist/agentic/shared/ai/skills/om-eject-and-customize/SKILL.md +310 -14
  83. package/dist/agentic/shared/ai/skills/om-help/SKILL.md +97 -15
  84. package/dist/agentic/shared/ai/skills/om-help/references/skills-catalog.md +84 -0
  85. package/dist/agentic/shared/ai/skills/om-help/references/workflow-sequences.md +193 -0
  86. package/dist/agentic/shared/ai/skills/om-implement-spec/SKILL.md +152 -33
  87. package/dist/agentic/shared/ai/skills/om-integration-builder/SKILL.md +708 -24
  88. package/dist/agentic/shared/ai/skills/om-integration-builder/STANDALONE.md +34 -0
  89. package/dist/agentic/shared/ai/skills/om-integration-builder/references/adapter-contracts.md +762 -0
  90. package/dist/agentic/shared/ai/skills/om-module-scaffold/SKILL.md +820 -20
  91. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/naming-conventions.md +50 -0
  92. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/navigation-patterns.md +97 -0
  93. package/dist/agentic/shared/ai/skills/om-system-extension/SKILL.md +843 -19
  94. package/dist/agentic/shared/ai/skills/om-system-extension/references/extension-contracts.md +271 -0
  95. package/dist/agentic/shared/ai/skills/om-trim-unused-modules/SKILL.md +63 -15
  96. package/dist/agentic/shared/ai/skills/om-troubleshooter/SKILL.md +467 -16
  97. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/diagnostic-commands.md +101 -0
  98. package/dist/agentic/shared/ai/skills/tiers.json +21 -143
  99. package/dist/agentic/shared/ai/skills/tiers.schema.json +40 -52
  100. package/dist/agentic/shared/ai/specs/README.md +3 -4
  101. package/dist/agentic/shared/ai/specs/SPEC-000-template.md +10 -226
  102. package/dist/agentic/shared/ai/trackers/github.md +4 -108
  103. package/dist/agentic/shared/scripts/install-skills.sh +694 -4
  104. package/dist/bin.js +1 -13
  105. package/dist/bin.js.map +2 -2
  106. package/dist/lib/__integration__/TC-INT-008.spec.js +8 -88
  107. package/dist/lib/__integration__/TC-INT-008.spec.js.map +2 -2
  108. package/dist/lib/agentic-init.js +3 -13
  109. package/dist/lib/agentic-init.js.map +2 -2
  110. package/dist/lib/agentic-setup.js +186 -418
  111. package/dist/lib/agentic-setup.js.map +2 -2
  112. package/dist/lib/generators/extensions/injection-widgets.js +0 -20
  113. package/dist/lib/generators/extensions/injection-widgets.js.map +2 -2
  114. package/dist/lib/generators/module-facts-discovery.js +7 -41
  115. package/dist/lib/generators/module-facts-discovery.js.map +2 -2
  116. package/dist/lib/generators/module-facts.js +45 -1387
  117. package/dist/lib/generators/module-facts.js.map +3 -3
  118. package/dist/lib/generators/module-registry.js +5 -11
  119. package/dist/lib/generators/module-registry.js.map +2 -2
  120. package/dist/lib/resolver.js +0 -2
  121. package/dist/lib/resolver.js.map +2 -2
  122. package/dist/lib/testing/integration.js +0 -5
  123. package/dist/lib/testing/integration.js.map +2 -2
  124. package/dist/mercato.js +1 -23
  125. package/dist/mercato.js.map +2 -2
  126. package/package.json +11 -13
  127. package/src/bin.ts +1 -33
  128. package/src/lib/__integration__/TC-INT-008.spec.ts +9 -107
  129. package/src/lib/__tests__/agentic-init.test.ts +5 -41
  130. package/src/lib/agentic-init.ts +3 -15
  131. package/src/lib/agentic-setup.ts +224 -530
  132. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +2 -88
  133. package/src/lib/generators/__tests__/module-facts.customers.fixture.test.ts +0 -1
  134. package/src/lib/generators/__tests__/module-facts.discovery.test.ts +10 -54
  135. package/src/lib/generators/__tests__/module-subset.test.ts +0 -18
  136. package/src/lib/generators/extensions/injection-widgets.ts +0 -51
  137. package/src/lib/generators/module-facts-discovery.ts +7 -58
  138. package/src/lib/generators/module-facts.ts +46 -1851
  139. package/src/lib/generators/module-registry.ts +6 -16
  140. package/src/lib/resolver.ts +0 -3
  141. package/src/lib/testing/__tests__/integration.test.ts +0 -4
  142. package/src/lib/testing/integration.ts +0 -5
  143. package/src/mercato.ts +1 -26
  144. package/dist/agentic/guides/ai-workflows.md +0 -76
  145. package/dist/agentic/guides/architecture.md +0 -107
  146. package/dist/agentic/guides/backend-ui.md +0 -80
  147. package/dist/agentic/guides/contracts.md +0 -92
  148. package/dist/agentic/guides/extensions.md +0 -121
  149. package/dist/agentic/guides/framework-extension-points.md +0 -36
  150. package/dist/agentic/guides/integrations.md +0 -81
  151. package/dist/agentic/guides/modules/design_system.md +0 -102
  152. package/dist/agentic/guides/spec-delivery.md +0 -22
  153. package/dist/agentic/guides/testing-debugging.md +0 -80
  154. package/dist/agentic/guides/upstream/AGENTS.md +0 -298
  155. package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +0 -316
  156. package/dist/agentic/guides/upstream/manifest.json +0 -8
  157. package/dist/agentic/shared/ai/harness/README.md +0 -50
  158. package/dist/agentic/shared/ai/harness/RELEASE.md +0 -57
  159. package/dist/agentic/shared/ai/harness/cases.json +0 -13680
  160. package/dist/agentic/shared/ai/harness/cases.schema.json +0 -133
  161. package/dist/agentic/shared/ai/harness/fixtures/index.json +0 -49
  162. package/dist/agentic/shared/ai/harness/fixtures/seeds.json +0 -162
  163. package/dist/agentic/shared/ai/harness/generated-code-review-policy.md +0 -21
  164. package/dist/agentic/shared/ai/harness/generated-code-review-response.schema.json +0 -96
  165. package/dist/agentic/shared/ai/harness/generated-code-review-result.schema.json +0 -172
  166. package/dist/agentic/shared/ai/harness/release-matrix.json +0 -158
  167. package/dist/agentic/shared/ai/harness/release-result.schema.json +0 -219
  168. package/dist/agentic/shared/ai/harness/result.schema.json +0 -76
  169. package/dist/agentic/shared/ai/harness/routing-response.schema.json +0 -12
  170. package/dist/agentic/shared/ai/harness/target-validation-result.schema.json +0 -73
  171. package/dist/agentic/shared/ai/harness/validators.json +0 -78
  172. package/dist/agentic/shared/ai/harness/writable-ast-oracles.mjs +0 -2121
  173. package/dist/agentic/shared/ai/harness/writable-behavior-oracles.mjs +0 -1096
  174. package/dist/agentic/shared/ai/lessons/_template.md +0 -16
  175. package/dist/agentic/shared/ai/review-checklist.md +0 -36
  176. package/dist/agentic/shared/ai/skills/om-auto-implement-spec/SKILL.md +0 -21
  177. package/dist/agentic/shared/ai/skills/om-auto-upgrade-0.6.6-to-0.6.7/SKILL.md +0 -98
  178. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/crud-surfaces.md +0 -16
  179. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/frontend-and-design-system.md +0 -53
  180. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/page-and-navigation.md +0 -13
  181. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/quality-states.md +0 -11
  182. package/dist/agentic/shared/ai/skills/om-build-workflow/SKILL.md +0 -30
  183. package/dist/agentic/shared/ai/skills/om-build-workflow/references/activity-contracts.md +0 -12
  184. package/dist/agentic/shared/ai/skills/om-build-workflow/references/durability-and-progress.md +0 -13
  185. package/dist/agentic/shared/ai/skills/om-build-workflow/references/workflow-design.md +0 -14
  186. package/dist/agentic/shared/ai/skills/om-create-ai-agent/SKILL.md +0 -28
  187. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/attachments-and-overrides.md +0 -12
  188. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/module-agents-and-tools.md +0 -22
  189. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/orchestrator-agents.md +0 -12
  190. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/surface-selector.md +0 -19
  191. package/dist/agentic/shared/ai/skills/om-data-model-design/references/integrity-and-concurrency.md +0 -19
  192. package/dist/agentic/shared/ai/skills/om-data-model-design/references/migration-workflow.md +0 -13
  193. package/dist/agentic/shared/ai/skills/om-data-model-design/references/schema-design.md +0 -14
  194. package/dist/agentic/shared/ai/skills/om-data-model-design/references/sensitive-data.md +0 -10
  195. package/dist/agentic/shared/ai/skills/om-eject-and-customize/references/decision-and-procedure.md +0 -17
  196. package/dist/agentic/shared/ai/skills/om-evolve-harness/SKILL.md +0 -29
  197. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-template.md +0 -100
  198. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-workflow.md +0 -16
  199. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/owner-selection.md +0 -17
  200. package/dist/agentic/shared/ai/skills/om-framework-context/SKILL.md +0 -25
  201. package/dist/agentic/shared/ai/skills/om-framework-context/references/resolver-procedure.md +0 -11
  202. package/dist/agentic/shared/ai/skills/om-framework-context/references/skew-and-escalation.md +0 -13
  203. package/dist/agentic/shared/ai/skills/om-help/references/delivery-workflows.md +0 -18
  204. package/dist/agentic/shared/ai/skills/om-help/references/task-families.md +0 -20
  205. package/dist/agentic/shared/ai/skills/om-implement-spec/references/phases-and-gates.md +0 -33
  206. package/dist/agentic/shared/ai/skills/om-implement-spec/references/planning-and-progress.md +0 -40
  207. package/dist/agentic/shared/ai/skills/om-implement-spec/references/report-templates.md +0 -27
  208. package/dist/agentic/shared/ai/skills/om-implement-spec/references/spec-resolution.md +0 -24
  209. package/dist/agentic/shared/ai/skills/om-integration-builder/references/package-and-activation.md +0 -16
  210. package/dist/agentic/shared/ai/skills/om-integration-builder/references/provider-families.md +0 -14
  211. package/dist/agentic/shared/ai/skills/om-integration-builder/references/security-and-reliability.md +0 -15
  212. package/dist/agentic/shared/ai/skills/om-integration-builder/references/sync-and-files.md +0 -12
  213. package/dist/agentic/shared/ai/skills/om-judge-agent-session/SKILL.md +0 -34
  214. package/dist/agentic/shared/ai/skills/om-judge-agent-session/agents/openai.yaml +0 -4
  215. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/agentic-setup.md +0 -11
  216. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/input-normalization.md +0 -31
  217. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/judge-workflow.md +0 -39
  218. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/report-template.md +0 -43
  219. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/rules.md +0 -11
  220. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/api-and-domain.md +0 -19
  221. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/business-one-shot-blueprints.md +0 -172
  222. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/data-and-migrations.md +0 -12
  223. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/discovery-surface-catalog.md +0 -83
  224. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/module-surfaces.md +0 -21
  225. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/planning.md +0 -11
  226. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/runtime-cache-and-queues.md +0 -22
  227. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/verification.md +0 -13
  228. package/dist/agentic/shared/ai/skills/om-share-this-session/SKILL.md +0 -41
  229. package/dist/agentic/shared/ai/skills/om-share-this-session/references/agentic-setup.md +0 -19
  230. package/dist/agentic/shared/ai/skills/om-share-this-session/references/bundle-preparation.md +0 -44
  231. package/dist/agentic/shared/ai/skills/om-share-this-session/references/consent-and-review.md +0 -39
  232. package/dist/agentic/shared/ai/skills/om-share-this-session/references/publication.md +0 -20
  233. package/dist/agentic/shared/ai/skills/om-share-this-session/references/report-templates.md +0 -57
  234. package/dist/agentic/shared/ai/skills/om-share-this-session/references/rules.md +0 -11
  235. package/dist/agentic/shared/ai/skills/om-share-this-session/scripts/prepare-share-bundle.mjs +0 -486
  236. package/dist/agentic/shared/ai/skills/om-system-extension/references/extension-branches.md +0 -18
  237. package/dist/agentic/shared/ai/skills/om-system-extension/references/mechanism-selector.md +0 -27
  238. package/dist/agentic/shared/ai/skills/om-system-extension/references/read-write-roundtrip.md +0 -13
  239. package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +0 -41
  240. package/dist/agentic/shared/ai/skills/om-system-extension/references/verification.md +0 -11
  241. package/dist/agentic/shared/ai/skills/om-trim-unused-modules/references/dependency-and-redirect.md +0 -15
  242. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/diagnosis-map.md +0 -16
  243. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/regression-oracles.md +0 -14
  244. package/dist/agentic/shared/scripts/agent-harness-tool-server.mjs +0 -187
  245. package/dist/agentic/shared/scripts/check-lessons.mjs +0 -178
  246. package/dist/agentic/shared/scripts/evaluate-agent-harness.mjs +0 -2958
  247. package/dist/agentic/shared/scripts/execution-sandbox.mjs +0 -329
  248. package/dist/agentic/shared/scripts/framework-context.mjs +0 -888
  249. package/dist/agentic/shared/scripts/install-skills.mjs +0 -1029
  250. package/dist/agentic/shared/scripts/prepare-agent-harness-fixture.mjs +0 -222
  251. package/dist/agentic/shared/scripts/run-agent-harness-release.mjs +0 -1774
  252. package/dist/lib/generators/module-extension-facts.js +0 -1840
  253. package/dist/lib/generators/module-extension-facts.js.map +0 -7
  254. package/dist/lib/generators/module-fact-sources.js +0 -70
  255. package/dist/lib/generators/module-fact-sources.js.map +0 -7
  256. package/dist/lib/generators/module-override-targets.js +0 -688
  257. package/dist/lib/generators/module-override-targets.js.map +0 -7
  258. package/dist/lib/load-env.js +0 -24
  259. package/dist/lib/load-env.js.map +0 -7
  260. package/dist/lib/telemetry-init.js +0 -358
  261. package/dist/lib/telemetry-init.js.map +0 -7
  262. package/src/lib/__tests__/agentic-setup.ownership.test.ts +0 -386
  263. package/src/lib/__tests__/injection-widget-id-validation.test.ts +0 -184
  264. package/src/lib/__tests__/load-env.test.ts +0 -65
  265. package/src/lib/__tests__/telemetry-init.test.ts +0 -298
  266. package/src/lib/generators/__tests__/activation-adapter-coverage.test.ts +0 -92
  267. package/src/lib/generators/__tests__/module-extension-activations.test.ts +0 -762
  268. package/src/lib/generators/__tests__/module-extension-facts.test.ts +0 -404
  269. package/src/lib/generators/__tests__/module-facts.extension-hosts.test.ts +0 -108
  270. package/src/lib/generators/__tests__/module-facts.owned-contracts.test.ts +0 -561
  271. package/src/lib/generators/__tests__/module-facts.source-links.test.ts +0 -119
  272. package/src/lib/generators/__tests__/module-override-targets.roundtrip.test.ts +0 -149
  273. package/src/lib/generators/__tests__/module-override-targets.test.ts +0 -304
  274. package/src/lib/generators/module-extension-facts.ts +0 -2365
  275. package/src/lib/generators/module-fact-sources.ts +0 -108
  276. package/src/lib/generators/module-override-targets.ts +0 -863
  277. package/src/lib/load-env.ts +0 -30
  278. package/src/lib/telemetry-init.ts +0 -461
@@ -1,109 +1,59 @@
1
1
  # workflows — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/core 0.6.7-develop.6863.1.61001cf9a8; core 0.6.7-develop.6863.1.61001cf9a8 — R1 staleness stamp -->
3
- Source root: [node_modules/@open-mercato/core/src/modules/workflows](../../../node_modules/@open-mercato/core/src/modules/workflows)
2
+ <!-- generated from @open-mercato/core 0.6.7 — R1 staleness stamp -->
4
3
 
5
4
  ## Entities
6
5
 
7
- | Entity ID | Class | Table | Editable | CustomFields | Source |
8
- |---|---|---|---|---|---|
9
- | workflows:workflow_definition | WorkflowDefinition | workflow_definitions | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
10
- | workflows:workflow_instance | WorkflowInstance | workflow_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
11
- | workflows:workflow_branch_instance | WorkflowBranchInstance | workflow_branch_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
12
- | workflows:step_instance | StepInstance | step_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
13
- | workflows:user_task | UserTask | user_tasks | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
14
- | workflows:workflow_event | WorkflowEvent | workflow_events | no | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
15
- | workflows:workflow_event_trigger | WorkflowEventTrigger | workflow_event_triggers | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
6
+ | Entity ID | Class | Table | Editable | CustomFields |
7
+ |---|---|---|---|---|
8
+ | workflows:workflow_definition | WorkflowDefinition | workflow_definitions | yes | no |
9
+ | workflows:workflow_instance | WorkflowInstance | workflow_instances | yes | no |
10
+ | workflows:workflow_branch_instance | WorkflowBranchInstance | workflow_branch_instances | yes | no |
11
+ | workflows:step_instance | StepInstance | step_instances | yes | no |
12
+ | workflows:user_task | UserTask | user_tasks | yes | no |
13
+ | workflows:workflow_event | WorkflowEvent | workflow_events | no | no |
14
+ | workflows:workflow_event_trigger | WorkflowEventTrigger | workflow_event_triggers | yes | no |
16
15
 
17
- ## Events (26)
16
+ ## Events (25)
18
17
 
19
- | ID | Category | Entity | Browser transport | Source |
20
- |---|---|---|---|---|
21
- | workflows.definition.created | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
22
- | workflows.definition.updated | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
23
- | workflows.definition.deleted | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
24
- | workflows.definition.customized | lifecycle | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
25
- | workflows.definition.reset_to_code | lifecycle | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
26
- | workflows.instance.created | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
27
- | workflows.instance.updated | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
28
- | workflows.instance.deleted | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
29
- | workflows.instance.started | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
30
- | workflows.instance.completed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
31
- | workflows.instance.failed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
32
- | workflows.instance.cancelled | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
33
- | workflows.instance.paused | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
34
- | workflows.instance.resumed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
35
- | workflows.activity.started | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
36
- | workflows.activity.completed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
37
- | workflows.activity.failed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
38
- | workflows.task.assigned | lifecycle | task | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
39
- | workflows.trigger.created | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
40
- | workflows.trigger.updated | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
41
- | workflows.trigger.deleted | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
42
- | workflows.branch.opened | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
43
- | workflows.branch.completed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
44
- | workflows.branch.cancelled | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
45
- | workflows.branch.failed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
46
- | workflows.join.completed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
18
+ | ID | Category | Entity |
19
+ |---|---|---|
20
+ | workflows.definition.created | crud | definition |
21
+ | workflows.definition.updated | crud | definition |
22
+ | workflows.definition.deleted | crud | definition |
23
+ | workflows.definition.customized | lifecycle | definition |
24
+ | workflows.definition.reset_to_code | lifecycle | definition |
25
+ | workflows.instance.created | crud | instance |
26
+ | workflows.instance.updated | crud | instance |
27
+ | workflows.instance.deleted | crud | instance |
28
+ | workflows.instance.started | lifecycle | — |
29
+ | workflows.instance.completed | lifecycle | — |
30
+ | workflows.instance.failed | lifecycle | — |
31
+ | workflows.instance.cancelled | lifecycle | — |
32
+ | workflows.instance.paused | lifecycle | — |
33
+ | workflows.instance.resumed | lifecycle | — |
34
+ | workflows.activity.started | lifecycle | — |
35
+ | workflows.activity.completed | lifecycle | — |
36
+ | workflows.activity.failed | lifecycle | — |
37
+ | workflows.trigger.created | crud | trigger |
38
+ | workflows.trigger.updated | crud | trigger |
39
+ | workflows.trigger.deleted | crud | trigger |
40
+ | workflows.branch.opened | lifecycle | branch |
41
+ | workflows.branch.completed | lifecycle | branch |
42
+ | workflows.branch.cancelled | lifecycle | branch |
43
+ | workflows.branch.failed | lifecycle | branch |
44
+ | workflows.join.completed | lifecycle | branch |
47
45
 
48
46
  ## ACL features (18)
49
47
 
50
- | Feature | Source |
51
- |---|---|
52
- | workflows.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
53
- | workflows.manage | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
54
- | workflows.view_logs | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
55
- | workflows.view_tasks | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
56
- | workflows.definitions.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
57
- | workflows.definitions.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
58
- | workflows.definitions.edit | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
59
- | workflows.definitions.delete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
60
- | workflows.instances.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
61
- | workflows.instances.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
62
- | workflows.instances.cancel | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
63
- | workflows.instances.retry | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
64
- | workflows.instances.signal | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
65
- | workflows.tasks.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
66
- | workflows.tasks.claim | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
67
- | workflows.tasks.complete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
68
- | workflows.signals.send | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
69
- | workflows.events.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
48
+ workflows.view · workflows.manage · workflows.view_logs · workflows.view_tasks · workflows.definitions.view · workflows.definitions.create · workflows.definitions.edit · workflows.definitions.delete · workflows.instances.view · workflows.instances.create · workflows.instances.cancel · workflows.instances.retry · workflows.instances.signal · workflows.tasks.view · workflows.tasks.claim · workflows.tasks.complete · workflows.signals.send · workflows.events.view
70
49
 
71
50
  ## API routes
72
51
 
73
52
  _none_
74
53
 
75
- ## Backend pages
76
-
77
- | ID / path | Source |
78
- |---|---|
79
- | /backend/definitions | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx) |
80
- | /backend/definitions/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx) |
81
- | /backend/definitions/create | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx) |
82
- | /backend/definitions/visual-editor | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx) |
83
- | /backend/events | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx) |
84
- | /backend/events/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx) |
85
- | /backend/instances | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx) |
86
- | /backend/instances/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx) |
87
- | /backend/tasks | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx) |
88
- | /backend/tasks/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx) |
89
-
90
- ## Frontend pages
91
-
92
- | ID / path | Source |
93
- |---|---|
94
- | /checkout-demo | [node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx) |
95
-
96
54
  ## DI service tokens
97
55
 
98
- | Token | Source |
99
- |---|---|
100
- | workflowExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
101
- | stepHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
102
- | transitionHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
103
- | activityExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
104
- | eventLogger | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
105
- | signalHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
106
- | timerHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
56
+ workflowExecutor · stepHandler · transitionHandler · activityExecutor · eventLogger · signalHandler · timerHandler
107
57
 
108
58
  ## Search entities
109
59
 
@@ -114,219 +64,10 @@ _none_
114
64
  - Entity IDs: _none_
115
65
  - Table IDs: workflows.definitions.list · workflows.instances.list · workflows.tasks.list
116
66
 
117
- ## UMES hosts
118
-
119
- | ID / pattern | Family | Supports | Context | Stability | Source |
120
- |---|---|---|---|---|---|
121
- | data-table:workflows.definitions.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
122
- | data-table:workflows.definitions.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
123
- | data-table:workflows.definitions.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
124
- | data-table:workflows.definitions.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
125
- | data-table:workflows.definitions.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
126
- | data-table:workflows.definitions.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
127
- | data-table:workflows.definitions.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
128
- | data-table:workflows.definitions.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
129
- | data-table:workflows.definitions.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
130
- | data-table:workflows.instances.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
131
- | data-table:workflows.instances.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
132
- | data-table:workflows.instances.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
133
- | data-table:workflows.instances.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
134
- | data-table:workflows.instances.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
135
- | data-table:workflows.instances.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
136
- | data-table:workflows.instances.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
137
- | data-table:workflows.instances.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
138
- | data-table:workflows.instances.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
139
- | data-table:workflows.tasks.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
140
- | data-table:workflows.tasks.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
141
- | data-table:workflows.tasks.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
142
- | data-table:workflows.tasks.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
143
- | data-table:workflows.tasks.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
144
- | data-table:workflows.tasks.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
145
- | data-table:workflows.tasks.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
146
- | data-table:workflows.tasks.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
147
- | data-table:workflows.tasks.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
148
- | workflows:step_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:step_instance |
149
- | workflows:user_task | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:user_task |
150
- | workflows:workflow_branch_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_branch_instance |
151
- | workflows:workflow_definition | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_definition |
152
- | workflows:workflow_event | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_event |
153
- | workflows:workflow_event_trigger | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_event_trigger |
154
- | workflows:workflow_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_instance |
155
- | workflows.definition | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts) |
156
- | workflows.activity.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.completed |
157
- | workflows.activity.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.failed |
158
- | workflows.activity.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.started |
159
- | workflows.branch.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.cancelled |
160
- | workflows.branch.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.completed |
161
- | workflows.branch.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.failed |
162
- | workflows.branch.opened | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.opened |
163
- | workflows.definition.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.created |
164
- | workflows.definition.customized | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.customized |
165
- | workflows.definition.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.deleted |
166
- | workflows.definition.reset_to_code | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.reset_to_code |
167
- | workflows.definition.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.updated |
168
- | workflows.instance.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.cancelled |
169
- | workflows.instance.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.completed |
170
- | workflows.instance.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.created |
171
- | workflows.instance.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.deleted |
172
- | workflows.instance.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.failed |
173
- | workflows.instance.paused | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.paused |
174
- | workflows.instance.resumed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.resumed |
175
- | workflows.instance.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.started |
176
- | workflows.instance.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.updated |
177
- | workflows.join.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.join.completed |
178
- | workflows.task.assigned | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.task.assigned |
179
- | workflows.trigger.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.created |
180
- | workflows.trigger.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.deleted |
181
- | workflows.trigger.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.updated |
182
-
183
- ## UMES contributions
184
-
185
- | ID | Kind | Target | Phase / operations | Contract | Resolution | Source |
186
- |---|---|---|---|---|---|---|
187
- | notification:workflows.task.assigned | specialized-registry | workflows.task.assigned | — | registry=notification; registryId=workflows.task.assigned; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
188
- | workflow:workflows.checkout-demo | specialized-registry | workflows.checkout-demo | — | registry=workflow; registryId=workflows.checkout-demo; specialistRoute=workflows | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
189
- | workflow:workflows.simple-approval | specialized-registry | workflows.simple-approval | — | registry=workflow; registryId=workflows.simple-approval; specialistRoute=workflows | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
190
- | workflows:event-trigger | subscriber | * | async-delivery | event=*; persistent=true; subscriberId=workflows:event-trigger; sync=false | pattern | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
191
- | workflows:task-assigned-notification | subscriber | workflows.task.assigned | async-delivery | event=workflows.task.assigned; persistent=true; subscriberId=workflows:task-assigned-notification; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
192
- | workflows.injection.order-approval@sales.document.detail.order:details | widget | sales.document.detail.order:details | — | executionGuard=host; payload=render; registryKey=workflows.injection.order-approval | pattern | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
193
-
194
- ## Active extension bindings
195
-
196
- | Activation | Kind | Host | Contribution kinds | Phases | Bridge | Source |
197
- |---|---|---|---|---|---|---|
198
- | entity:workflows.definition:mutation-guard | mutation-guard | entity:workflows.definition @workflows | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts:64](../../../node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts#L64) |
199
-
200
- ## Incoming installed contributions
201
-
202
- _none_
203
-
204
- ## Contribution resolutions
205
-
206
- | Contribution | Target | Resolution | Activations | Source |
207
- |---|---|---|---|---|
208
- | notification:workflows.task.assigned | module:workflows.task.assigned @workflows | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
209
- | workflow:workflows.checkout-demo | module:workflows.checkout-demo | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
210
- | workflow:workflows.simple-approval | module:workflows.simple-approval | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
211
- | workflows:event-trigger | wildcard:* | wildcard | — | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
212
- | workflows:task-assigned-notification | event:workflows.task.assigned @workflows | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
213
- | workflows.injection.order-approval@sales.document.detail.order:details | widget-spot:sales.document.detail.order:details | wildcard | — | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
214
-
215
- ## UMES diagnostics
216
-
217
- - unbound-helper: data-table:workflows.definitions.list:empty-state
218
- - unbound-helper: data-table:workflows.instances.list:empty-state
219
- - unbound-helper: data-table:workflows.tasks.list:empty-state
220
-
221
67
  ## Notifications
222
68
 
223
- | Notification ID | Source |
224
- |---|---|
225
- | workflows.task.assigned | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
226
-
227
- ## CLI commands
228
-
229
- | ID / path | Source |
230
- |---|---|
231
- | start-worker | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
232
- | process-activities | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
233
- | seed-demo | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
234
- | seed-demo-with-rules | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
235
- | seed-sales-pipeline | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
236
- | seed-simple-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
237
- | seed-order-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
238
- | seed-all | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
239
-
240
- ## AI tools / MCP capabilities
241
-
242
- _none_
243
-
244
- ## AI agents
245
-
246
- _none_
247
-
248
- ## Exact override targets
249
-
250
- | Domain | Path / key | Supported modes | Referenced fact | Source |
251
- |---|---|---|---|---|
252
- | acl | `overrides.acl.features["workflows.definitions.create"]` | disable-replace | aclFeatures:workflows.definitions.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
253
- | acl | `overrides.acl.features["workflows.definitions.delete"]` | disable-replace | aclFeatures:workflows.definitions.delete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
254
- | acl | `overrides.acl.features["workflows.definitions.edit"]` | disable-replace | aclFeatures:workflows.definitions.edit | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
255
- | acl | `overrides.acl.features["workflows.definitions.view"]` | disable-replace | aclFeatures:workflows.definitions.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
256
- | acl | `overrides.acl.features["workflows.events.view"]` | disable-replace | aclFeatures:workflows.events.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
257
- | acl | `overrides.acl.features["workflows.instances.cancel"]` | disable-replace | aclFeatures:workflows.instances.cancel | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
258
- | acl | `overrides.acl.features["workflows.instances.create"]` | disable-replace | aclFeatures:workflows.instances.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
259
- | acl | `overrides.acl.features["workflows.instances.retry"]` | disable-replace | aclFeatures:workflows.instances.retry | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
260
- | acl | `overrides.acl.features["workflows.instances.signal"]` | disable-replace | aclFeatures:workflows.instances.signal | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
261
- | acl | `overrides.acl.features["workflows.instances.view"]` | disable-replace | aclFeatures:workflows.instances.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
262
- | acl | `overrides.acl.features["workflows.manage"]` | disable-replace | aclFeatures:workflows.manage | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
263
- | acl | `overrides.acl.features["workflows.signals.send"]` | disable-replace | aclFeatures:workflows.signals.send | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
264
- | acl | `overrides.acl.features["workflows.tasks.claim"]` | disable-replace | aclFeatures:workflows.tasks.claim | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
265
- | acl | `overrides.acl.features["workflows.tasks.complete"]` | disable-replace | aclFeatures:workflows.tasks.complete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
266
- | acl | `overrides.acl.features["workflows.tasks.view"]` | disable-replace | aclFeatures:workflows.tasks.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
267
- | acl | `overrides.acl.features["workflows.view"]` | disable-replace | aclFeatures:workflows.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
268
- | acl | `overrides.acl.features["workflows.view_logs"]` | disable-replace | aclFeatures:workflows.view_logs | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
269
- | acl | `overrides.acl.features["workflows.view_tasks"]` | disable-replace | aclFeatures:workflows.view_tasks | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
270
- | cli | `overrides.cli["process-activities"]` | disable-replace | cliCommands:process-activities | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
271
- | cli | `overrides.cli["seed-all"]` | disable-replace | cliCommands:seed-all | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
272
- | cli | `overrides.cli["seed-demo"]` | disable-replace | cliCommands:seed-demo | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
273
- | cli | `overrides.cli["seed-demo-with-rules"]` | disable-replace | cliCommands:seed-demo-with-rules | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
274
- | cli | `overrides.cli["seed-order-approval"]` | disable-replace | cliCommands:seed-order-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
275
- | cli | `overrides.cli["seed-sales-pipeline"]` | disable-replace | cliCommands:seed-sales-pipeline | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
276
- | cli | `overrides.cli["seed-simple-approval"]` | disable-replace | cliCommands:seed-simple-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
277
- | cli | `overrides.cli["start-worker"]` | disable-replace | cliCommands:start-worker | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
278
- | di | `overrides.di["activityExecutor"]` | disable-replace | ownedContracts.di-registration:activityExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
279
- | di | `overrides.di["eventLogger"]` | disable-replace | ownedContracts.di-registration:eventLogger | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
280
- | di | `overrides.di["signalHandler"]` | disable-replace | ownedContracts.di-registration:signalHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
281
- | di | `overrides.di["stepHandler"]` | disable-replace | ownedContracts.di-registration:stepHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
282
- | di | `overrides.di["timerHandler"]` | disable-replace | ownedContracts.di-registration:timerHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
283
- | di | `overrides.di["transitionHandler"]` | disable-replace | ownedContracts.di-registration:transitionHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
284
- | di | `overrides.di["workflowExecutor"]` | disable-replace | ownedContracts.di-registration:workflowExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
285
- | events | `overrides.events.subscribers["workflows:event-trigger"]` | disable-replace | extensionSurfaces.contributions:workflows:event-trigger | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
286
- | events | `overrides.events.subscribers["workflows:task-assigned-notification"]` | disable-replace | extensionSurfaces.contributions:workflows:task-assigned-notification | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
287
- | notifications | `overrides.notifications.types["workflows.task.assigned"]` | disable-replace | notifications:workflows.task.assigned | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
288
- | routes | `overrides.routes.pages["backend:/backend/definitions"]` | disable-replace | backendPages:/backend/definitions | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx) |
289
- | routes | `overrides.routes.pages["backend:/backend/definitions/[id]"]` | disable-replace | backendPages:/backend/definitions/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx) |
290
- | routes | `overrides.routes.pages["backend:/backend/definitions/create"]` | disable-replace | backendPages:/backend/definitions/create | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx) |
291
- | routes | `overrides.routes.pages["backend:/backend/definitions/visual-editor"]` | disable-replace | backendPages:/backend/definitions/visual-editor | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx) |
292
- | routes | `overrides.routes.pages["backend:/backend/events"]` | disable-replace | backendPages:/backend/events | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx) |
293
- | routes | `overrides.routes.pages["backend:/backend/events/[id]"]` | disable-replace | backendPages:/backend/events/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx) |
294
- | routes | `overrides.routes.pages["backend:/backend/instances"]` | disable-replace | backendPages:/backend/instances | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx) |
295
- | routes | `overrides.routes.pages["backend:/backend/instances/[id]"]` | disable-replace | backendPages:/backend/instances/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx) |
296
- | routes | `overrides.routes.pages["backend:/backend/tasks"]` | disable-replace | backendPages:/backend/tasks | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx) |
297
- | routes | `overrides.routes.pages["backend:/backend/tasks/[id]"]` | disable-replace | backendPages:/backend/tasks/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx) |
298
- | routes | `overrides.routes.pages["frontend:/checkout-demo"]` | disable-replace | frontendPages:/checkout-demo | [node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx) |
299
- | setup | `overrides.setup.defaultRoleFeatures` | replace | ownedContracts.setup:workflows:setup | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
300
- | setup | `overrides.setup.seedDefaults` | replace | ownedContracts.setup:workflows:setup | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
301
- | widgets | `overrides.widgets.injection["workflows.injection.order-approval"]` | disable-replace | extensionSurfaces.contributions:workflows.injection.order-approval@sales.document.detail.order:details | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
302
- | workers | `overrides.workers["workflows:workflow-activities"]` | disable-replace | ownedContracts.worker:workflows:workflow-activities | [node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts#L39) |
303
-
304
- ## Owned contract — module metadata
305
-
306
- | ID | Metadata | Source |
307
- |---|---|---|
308
- | workflows | ejectable=true; name=workflows; version=1.0.0 | [node_modules/@open-mercato/core/src/modules/workflows/index.ts:10](../../../node_modules/@open-mercato/core/src/modules/workflows/index.ts#L10) |
309
-
310
- ## Workers
311
-
312
- | ID | Metadata | Source |
313
- |---|---|---|
314
- | workflows:workflow-activities | queue=workflow-activities | [node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts#L39) |
315
-
316
- ## Setup
317
-
318
- | ID | Metadata | Source |
319
- |---|---|---|
320
- | workflows:setup | hooks=seedDefaults; roles=admin | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
69
+ workflows.task.assigned
321
70
 
322
- ## DI registrations (rich)
71
+ ## CLI
323
72
 
324
- | Token | Kind | Lifetime | Injection | Provider | Source |
325
- |---|---|---|---|---|---|
326
- | activityExecutor | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
327
- | eventLogger | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
328
- | signalHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
329
- | stepHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
330
- | timerHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
331
- | transitionHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
332
- | workflowExecutor | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
73
+ start-worker · process-activities · seed-demo · seed-demo-with-rules · seed-sales-pipeline · seed-simple-approval · seed-order-approval · seed-all
@@ -0,0 +1,53 @@
1
+ # Queue Package — Standalone Developer Guide
2
+
3
+ `@open-mercato/queue` provides background job processing. MUST NOT implement custom job queues or polling loops.
4
+
5
+ ## Strategy Selection
6
+
7
+ | Strategy | When | Config |
8
+ |----------|------|--------|
9
+ | Local | Development — processes from `.mercato/queue/` | `QUEUE_STRATEGY=local` |
10
+ | BullMQ | Production — Redis-backed with retries | `QUEUE_STRATEGY=async` |
11
+
12
+ ## Adding a Worker
13
+
14
+ Create `src/modules/<module>/workers/<name>.ts`:
15
+
16
+ ```typescript
17
+ export const metadata = {
18
+ queue: 'my-queue',
19
+ id: 'my-worker',
20
+ concurrency: 5,
21
+ }
22
+
23
+ export default async function handler(job) {
24
+ // MUST be idempotent — jobs may be retried on failure
25
+ // Check state before mutating
26
+ }
27
+ ```
28
+
29
+ Run `yarn generate` after adding.
30
+
31
+ ## Concurrency Guidelines
32
+
33
+ | Worker type | Concurrency | Rationale |
34
+ |-------------|-------------|-----------|
35
+ | I/O-bound (API calls, email) | 5–10 | Network latency allows parallelism |
36
+ | CPU-bound (calculations) | 1–2 | Avoid blocking event loop |
37
+ | Database-heavy (bulk writes) | 3–5 | Balance with connection pool |
38
+
39
+ Max concurrency: 20.
40
+
41
+ ## MUST Rules
42
+
43
+ 1. **MUST make workers idempotent** — duplicate execution MUST NOT corrupt data
44
+ 2. **MUST export `metadata`** with `{ queue, id?, concurrency? }`
45
+ 3. **MUST test with both strategies** (`local` and `async`)
46
+
47
+ ## Running Workers (Production)
48
+
49
+ ```bash
50
+ yarn mercato <module> worker <queue-name> --concurrency=5
51
+ ```
52
+
53
+ Development: local strategy auto-processes from `.mercato/queue/`.
@@ -0,0 +1,115 @@
1
+ # Search Package — Standalone Developer Guide
2
+
3
+ `@open-mercato/search` provides fulltext, vector, and token-based search. Configure search for your entities via `search.ts` in your module.
4
+
5
+ ## Strategy Overview
6
+
7
+ | Strategy | Backend | Use when |
8
+ |----------|---------|----------|
9
+ | **Fulltext** | Meilisearch | Fast, typo-tolerant search (names, titles, descriptions) |
10
+ | **Vector** | OpenAI / Ollama | Semantic, meaning-based search ("find customers interested in X") |
11
+ | **Tokens** | PostgreSQL | Baseline keyword search, always available, no external services |
12
+
13
+ Strategies auto-degrade when their backend is not configured.
14
+
15
+ ## Adding Search to a Module
16
+
17
+ Create `src/modules/<module>/search.ts`:
18
+
19
+ ```typescript
20
+ import type { SearchModuleConfig, SearchBuildContext } from '@open-mercato/shared/modules/search'
21
+
22
+ export const searchConfig: SearchModuleConfig = {
23
+ entities: [{
24
+ entityId: 'my_module:my_entity', // MUST match entity registry
25
+ priority: 10,
26
+
27
+ // Fulltext: control field indexing
28
+ fieldPolicy: {
29
+ searchable: ['name', 'description'],
30
+ hashOnly: ['email', 'phone'], // exact match only
31
+ excluded: ['password', 'api_key'], // never indexed
32
+ },
33
+
34
+ // Vector: generate text for embeddings
35
+ buildSource: async (ctx: SearchBuildContext) => ({
36
+ text: [`Name: ${ctx.record.name}`, `Description: ${ctx.record.description}`],
37
+ presenter: { title: ctx.record.name, subtitle: ctx.record.status, icon: 'lucide:file', badge: 'Item' },
38
+ links: [{ href: `/backend/my-module/${ctx.record.id}`, label: 'View', kind: 'primary' }],
39
+ checksumSource: { record: ctx.record, customFields: ctx.customFields },
40
+ }),
41
+
42
+ // Tokens: format at search time
43
+ formatResult: async (ctx: SearchBuildContext) => ({
44
+ title: ctx.record.name ?? 'Unknown',
45
+ subtitle: ctx.record.status,
46
+ icon: 'lucide:file',
47
+ badge: 'Item',
48
+ }),
49
+
50
+ resolveUrl: async (ctx) => `/backend/my-module/${ctx.record.id}`,
51
+ }],
52
+ }
53
+ export default searchConfig
54
+ ```
55
+
56
+ Run `yarn generate` after creating the file.
57
+
58
+ ## MUST Rules
59
+
60
+ 1. **MUST create `search.ts`** for every module with searchable entities
61
+ 2. **MUST define `fieldPolicy.excluded`** for sensitive fields (passwords, tokens, SSNs)
62
+ 3. **MUST define `formatResult`** for every entity using the tokens strategy
63
+ 4. **MUST include `checksumSource`** in every `buildSource` return value
64
+ 5. **MUST NOT** include encrypted/sensitive fields in `buildSource` text
65
+ 6. **MUST NOT** use raw `fetch` against search API — use `apiCall`/`apiCallOrThrow`
66
+
67
+ ## Auto-Indexing
68
+
69
+ When CRUD routes have `indexer: { entityType }`, the search module automatically subscribes to entity CRUD events and indexes/removes records. No manual indexing code needed.
70
+
71
+ ## CLI Commands
72
+
73
+ ```bash
74
+ yarn mercato search status # Check strategies and connectivity
75
+ yarn mercato search query -q "term" --tenant <id> # Run a search
76
+ yarn mercato search reindex --tenant <id> # Reindex all entities
77
+ yarn mercato search reindex --entity my_module:my_entity --tenant <id> # Reindex specific entity
78
+ yarn mercato search test-meilisearch # Test Meilisearch connection
79
+ ```
80
+
81
+ ## Environment Variables
82
+
83
+ | Variable | Purpose |
84
+ |----------|---------|
85
+ | `MEILISEARCH_HOST` | Meilisearch URL (enables fulltext) |
86
+ | `MEILISEARCH_API_KEY` | Meilisearch auth key |
87
+ | `OPENAI_API_KEY` | OpenAI API key (enables vector search) |
88
+ | `OM_SEARCH_DEBUG` | Enable verbose debug logging |
89
+
90
+ ## Programmatic Search via DI
91
+
92
+ ```typescript
93
+ const searchService = container.resolve('searchService')
94
+ const results = await searchService.search('query', {
95
+ tenantId: 'tenant-123',
96
+ limit: 20,
97
+ strategies: ['fulltext', 'vector'],
98
+ })
99
+ ```
100
+
101
+ ## SearchBuildContext
102
+
103
+ Both `buildSource` and `formatResult` receive this context:
104
+
105
+ ```typescript
106
+ interface SearchBuildContext {
107
+ record: Record<string, unknown> // The database record
108
+ customFields: Record<string, unknown> // Custom fields (without cf: prefix)
109
+ tenantId?: string | null
110
+ organizationId?: string | null
111
+ queryEngine?: QueryEngine // For loading related entities
112
+ }
113
+ ```
114
+
115
+ Use `queryEngine` to load parent/related entities for richer presenter data.