@endora-commerce/platform 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -0
  3. package/dist/cli/dispatch.d.ts +146 -0
  4. package/dist/cli/dispatch.d.ts.map +1 -0
  5. package/dist/cli/dispatch.js +259 -0
  6. package/dist/cli/dispatch.js.map +1 -0
  7. package/dist/cli/index.d.ts +58 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +58 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/cli/module-commands.d.ts +118 -0
  12. package/dist/cli/module-commands.d.ts.map +1 -0
  13. package/dist/cli/module-commands.js +120 -0
  14. package/dist/cli/module-commands.js.map +1 -0
  15. package/dist/commands/actor.d.ts +19 -0
  16. package/dist/commands/actor.d.ts.map +1 -0
  17. package/dist/commands/actor.js +45 -0
  18. package/dist/commands/actor.js.map +1 -0
  19. package/dist/commands/audit-from-context.d.ts +24 -0
  20. package/dist/commands/audit-from-context.d.ts.map +1 -0
  21. package/dist/commands/audit-from-context.js +28 -0
  22. package/dist/commands/audit-from-context.js.map +1 -0
  23. package/dist/commands/command-bus.d.ts +40 -0
  24. package/dist/commands/command-bus.d.ts.map +1 -0
  25. package/dist/commands/command-bus.js +46 -0
  26. package/dist/commands/command-bus.js.map +1 -0
  27. package/dist/commands/command.d.ts +76 -0
  28. package/dist/commands/command.d.ts.map +1 -0
  29. package/dist/commands/command.js +2 -0
  30. package/dist/commands/command.js.map +1 -0
  31. package/dist/commands/index.d.ts +65 -0
  32. package/dist/commands/index.d.ts.map +1 -0
  33. package/dist/commands/index.js +57 -0
  34. package/dist/commands/index.js.map +1 -0
  35. package/dist/commands/reversible.d.ts +66 -0
  36. package/dist/commands/reversible.d.ts.map +1 -0
  37. package/dist/commands/reversible.js +41 -0
  38. package/dist/commands/reversible.js.map +1 -0
  39. package/dist/composition/compose-app.d.ts +305 -0
  40. package/dist/composition/compose-app.d.ts.map +1 -0
  41. package/dist/composition/compose-app.js +939 -0
  42. package/dist/composition/compose-app.js.map +1 -0
  43. package/dist/composition/index.d.ts +92 -0
  44. package/dist/composition/index.d.ts.map +1 -0
  45. package/dist/composition/index.js +175 -0
  46. package/dist/composition/index.js.map +1 -0
  47. package/dist/composition/newsletter-token-secret.d.ts +19 -0
  48. package/dist/composition/newsletter-token-secret.d.ts.map +1 -0
  49. package/dist/composition/newsletter-token-secret.js +24 -0
  50. package/dist/composition/newsletter-token-secret.js.map +1 -0
  51. package/dist/composition/process-runs-workers.d.ts +17 -0
  52. package/dist/composition/process-runs-workers.d.ts.map +1 -0
  53. package/dist/composition/process-runs-workers.js +19 -0
  54. package/dist/composition/process-runs-workers.js.map +1 -0
  55. package/dist/db/baseline-migration-inventory.d.ts +15 -0
  56. package/dist/db/baseline-migration-inventory.d.ts.map +1 -0
  57. package/dist/db/baseline-migration-inventory.js +115 -0
  58. package/dist/db/baseline-migration-inventory.js.map +1 -0
  59. package/dist/db/configured-entities.d.ts +74 -0
  60. package/dist/db/configured-entities.d.ts.map +1 -0
  61. package/dist/db/configured-entities.js +20 -0
  62. package/dist/db/configured-entities.js.map +1 -0
  63. package/dist/db/configured-migrations.d.ts +199 -0
  64. package/dist/db/configured-migrations.d.ts.map +1 -0
  65. package/dist/db/configured-migrations.js +181 -0
  66. package/dist/db/configured-migrations.js.map +1 -0
  67. package/dist/db/index.d.ts +54 -0
  68. package/dist/db/index.d.ts.map +1 -0
  69. package/dist/db/index.js +54 -0
  70. package/dist/db/index.js.map +1 -0
  71. package/dist/db/migrate.d.ts +21 -0
  72. package/dist/db/migrate.d.ts.map +1 -0
  73. package/dist/db/migrate.js +48 -0
  74. package/dist/db/migrate.js.map +1 -0
  75. package/dist/db/migration-order.d.ts +159 -0
  76. package/dist/db/migration-order.d.ts.map +1 -0
  77. package/dist/db/migration-order.js +273 -0
  78. package/dist/db/migration-order.js.map +1 -0
  79. package/dist/db/mikro-orm.config.d.ts +51 -0
  80. package/dist/db/mikro-orm.config.d.ts.map +1 -0
  81. package/dist/db/mikro-orm.config.js +64 -0
  82. package/dist/db/mikro-orm.config.js.map +1 -0
  83. package/dist/db/orm.d.ts +40 -0
  84. package/dist/db/orm.d.ts.map +1 -0
  85. package/dist/db/orm.js +25 -0
  86. package/dist/db/orm.js.map +1 -0
  87. package/dist/db/platform-schema.d.ts +102 -0
  88. package/dist/db/platform-schema.d.ts.map +1 -0
  89. package/dist/db/platform-schema.js +79 -0
  90. package/dist/db/platform-schema.js.map +1 -0
  91. package/dist/db/pluralizing-naming-strategy.d.ts +16 -0
  92. package/dist/db/pluralizing-naming-strategy.d.ts.map +1 -0
  93. package/dist/db/pluralizing-naming-strategy.js +66 -0
  94. package/dist/db/pluralizing-naming-strategy.js.map +1 -0
  95. package/dist/demo/guard.d.ts +101 -0
  96. package/dist/demo/guard.d.ts.map +1 -0
  97. package/dist/demo/guard.js +168 -0
  98. package/dist/demo/guard.js.map +1 -0
  99. package/dist/demo/host-command.d.ts +133 -0
  100. package/dist/demo/host-command.d.ts.map +1 -0
  101. package/dist/demo/host-command.js +113 -0
  102. package/dist/demo/host-command.js.map +1 -0
  103. package/dist/demo/index.d.ts +82 -0
  104. package/dist/demo/index.d.ts.map +1 -0
  105. package/dist/demo/index.js +82 -0
  106. package/dist/demo/index.js.map +1 -0
  107. package/dist/demo/packages.d.ts +67 -0
  108. package/dist/demo/packages.d.ts.map +1 -0
  109. package/dist/demo/packages.js +132 -0
  110. package/dist/demo/packages.js.map +1 -0
  111. package/dist/demo/plan.d.ts +111 -0
  112. package/dist/demo/plan.d.ts.map +1 -0
  113. package/dist/demo/plan.js +74 -0
  114. package/dist/demo/plan.js.map +1 -0
  115. package/dist/demo/report.d.ts +17 -0
  116. package/dist/demo/report.d.ts.map +1 -0
  117. package/dist/demo/report.js +85 -0
  118. package/dist/demo/report.js.map +1 -0
  119. package/dist/demo/runner.d.ts +207 -0
  120. package/dist/demo/runner.d.ts.map +1 -0
  121. package/dist/demo/runner.js +169 -0
  122. package/dist/demo/runner.js.map +1 -0
  123. package/dist/demo/scope.d.ts +44 -0
  124. package/dist/demo/scope.d.ts.map +1 -0
  125. package/dist/demo/scope.js +44 -0
  126. package/dist/demo/scope.js.map +1 -0
  127. package/dist/env/index.d.ts +68 -0
  128. package/dist/env/index.d.ts.map +1 -0
  129. package/dist/env/index.js +427 -0
  130. package/dist/env/index.js.map +1 -0
  131. package/dist/events/bus.d.ts +29 -0
  132. package/dist/events/bus.d.ts.map +1 -0
  133. package/dist/events/bus.js +67 -0
  134. package/dist/events/bus.js.map +1 -0
  135. package/dist/events/index.d.ts +19 -0
  136. package/dist/events/index.d.ts.map +1 -0
  137. package/dist/events/index.js +19 -0
  138. package/dist/events/index.js.map +1 -0
  139. package/dist/http/cursor.d.ts +10 -0
  140. package/dist/http/cursor.d.ts.map +1 -0
  141. package/dist/http/cursor.js +20 -0
  142. package/dist/http/cursor.js.map +1 -0
  143. package/dist/http/error-envelope.d.ts +127 -0
  144. package/dist/http/error-envelope.d.ts.map +1 -0
  145. package/dist/http/error-envelope.js +402 -0
  146. package/dist/http/error-envelope.js.map +1 -0
  147. package/dist/http/health.d.ts +88 -0
  148. package/dist/http/health.d.ts.map +1 -0
  149. package/dist/http/health.js +77 -0
  150. package/dist/http/health.js.map +1 -0
  151. package/dist/http/index.d.ts +50 -0
  152. package/dist/http/index.d.ts.map +1 -0
  153. package/dist/http/index.js +50 -0
  154. package/dist/http/index.js.map +1 -0
  155. package/dist/http/interceptors/dispatch.d.ts +14 -0
  156. package/dist/http/interceptors/dispatch.d.ts.map +1 -0
  157. package/dist/http/interceptors/dispatch.js +113 -0
  158. package/dist/http/interceptors/dispatch.js.map +1 -0
  159. package/dist/http/interceptors/index.d.ts +6 -0
  160. package/dist/http/interceptors/index.d.ts.map +1 -0
  161. package/dist/http/interceptors/index.js +5 -0
  162. package/dist/http/interceptors/index.js.map +1 -0
  163. package/dist/http/interceptors/registry.d.ts +44 -0
  164. package/dist/http/interceptors/registry.d.ts.map +1 -0
  165. package/dist/http/interceptors/registry.js +123 -0
  166. package/dist/http/interceptors/registry.js.map +1 -0
  167. package/dist/http/interceptors/route-table.d.ts +33 -0
  168. package/dist/http/interceptors/route-table.d.ts.map +1 -0
  169. package/dist/http/interceptors/route-table.js +39 -0
  170. package/dist/http/interceptors/route-table.js.map +1 -0
  171. package/dist/http/interceptors/types.d.ts +101 -0
  172. package/dist/http/interceptors/types.d.ts.map +1 -0
  173. package/dist/http/interceptors/types.js +2 -0
  174. package/dist/http/interceptors/types.js.map +1 -0
  175. package/dist/http/interceptors/validation.d.ts +22 -0
  176. package/dist/http/interceptors/validation.d.ts.map +1 -0
  177. package/dist/http/interceptors/validation.js +39 -0
  178. package/dist/http/interceptors/validation.js.map +1 -0
  179. package/dist/http/logger.d.ts +9 -0
  180. package/dist/http/logger.d.ts.map +1 -0
  181. package/dist/http/logger.js +25 -0
  182. package/dist/http/logger.js.map +1 -0
  183. package/dist/http/openapi.d.ts +21 -0
  184. package/dist/http/openapi.d.ts.map +1 -0
  185. package/dist/http/openapi.js +114 -0
  186. package/dist/http/openapi.js.map +1 -0
  187. package/dist/http/product-audience.d.ts +78 -0
  188. package/dist/http/product-audience.d.ts.map +1 -0
  189. package/dist/http/product-audience.js +92 -0
  190. package/dist/http/product-audience.js.map +1 -0
  191. package/dist/http/request-actor.d.ts +82 -0
  192. package/dist/http/request-actor.d.ts.map +1 -0
  193. package/dist/http/request-actor.js +2 -0
  194. package/dist/http/request-actor.js.map +1 -0
  195. package/dist/http/server.d.ts +60 -0
  196. package/dist/http/server.d.ts.map +1 -0
  197. package/dist/http/server.js +117 -0
  198. package/dist/http/server.js.map +1 -0
  199. package/dist/http/storefront-revalidator.d.ts +29 -0
  200. package/dist/http/storefront-revalidator.d.ts.map +1 -0
  201. package/dist/http/storefront-revalidator.js +34 -0
  202. package/dist/http/storefront-revalidator.js.map +1 -0
  203. package/dist/http/test-actor-carrier.d.ts +28 -0
  204. package/dist/http/test-actor-carrier.d.ts.map +1 -0
  205. package/dist/http/test-actor-carrier.js +10 -0
  206. package/dist/http/test-actor-carrier.js.map +1 -0
  207. package/dist/http/trusted-proxy.d.ts +48 -0
  208. package/dist/http/trusted-proxy.d.ts.map +1 -0
  209. package/dist/http/trusted-proxy.js +136 -0
  210. package/dist/http/trusted-proxy.js.map +1 -0
  211. package/dist/kernel/audit/audit-log-entry.entity.d.ts +33 -0
  212. package/dist/kernel/audit/audit-log-entry.entity.d.ts.map +1 -0
  213. package/dist/kernel/audit/audit-log-entry.entity.js +102 -0
  214. package/dist/kernel/audit/audit-log-entry.entity.js.map +1 -0
  215. package/dist/kernel/audit/audit-log-service.d.ts +63 -0
  216. package/dist/kernel/audit/audit-log-service.d.ts.map +1 -0
  217. package/dist/kernel/audit/audit-log-service.js +107 -0
  218. package/dist/kernel/audit/audit-log-service.js.map +1 -0
  219. package/dist/kernel/cache/in-process-cache-registry.d.ts +93 -0
  220. package/dist/kernel/cache/in-process-cache-registry.d.ts.map +1 -0
  221. package/dist/kernel/cache/in-process-cache-registry.js +78 -0
  222. package/dist/kernel/cache/in-process-cache-registry.js.map +1 -0
  223. package/dist/kernel/cache/shared-drop-marks.d.ts +39 -0
  224. package/dist/kernel/cache/shared-drop-marks.d.ts.map +1 -0
  225. package/dist/kernel/cache/shared-drop-marks.js +68 -0
  226. package/dist/kernel/cache/shared-drop-marks.js.map +1 -0
  227. package/dist/kernel/compose.d.ts +234 -0
  228. package/dist/kernel/compose.d.ts.map +1 -0
  229. package/dist/kernel/compose.js +279 -0
  230. package/dist/kernel/compose.js.map +1 -0
  231. package/dist/kernel/container.d.ts +95 -0
  232. package/dist/kernel/container.d.ts.map +1 -0
  233. package/dist/kernel/container.js +90 -0
  234. package/dist/kernel/container.js.map +1 -0
  235. package/dist/kernel/contribution-sinks.d.ts +106 -0
  236. package/dist/kernel/contribution-sinks.d.ts.map +1 -0
  237. package/dist/kernel/contribution-sinks.js +153 -0
  238. package/dist/kernel/contribution-sinks.js.map +1 -0
  239. package/dist/kernel/crypto/password-hasher.d.ts +3 -0
  240. package/dist/kernel/crypto/password-hasher.d.ts.map +1 -0
  241. package/dist/kernel/crypto/password-hasher.js +44 -0
  242. package/dist/kernel/crypto/password-hasher.js.map +1 -0
  243. package/dist/kernel/i18n/error-envelope-options.d.ts +56 -0
  244. package/dist/kernel/i18n/error-envelope-options.d.ts.map +1 -0
  245. package/dist/kernel/i18n/error-envelope-options.js +46 -0
  246. package/dist/kernel/i18n/error-envelope-options.js.map +1 -0
  247. package/dist/kernel/i18n/error-translation.d.ts +144 -0
  248. package/dist/kernel/i18n/error-translation.d.ts.map +1 -0
  249. package/dist/kernel/i18n/error-translation.js +84 -0
  250. package/dist/kernel/i18n/error-translation.js.map +1 -0
  251. package/dist/kernel/i18n/request-language.d.ts +80 -0
  252. package/dist/kernel/i18n/request-language.d.ts.map +1 -0
  253. package/dist/kernel/i18n/request-language.js +168 -0
  254. package/dist/kernel/i18n/request-language.js.map +1 -0
  255. package/dist/kernel/index.d.ts +142 -0
  256. package/dist/kernel/index.d.ts.map +1 -0
  257. package/dist/kernel/index.js +160 -0
  258. package/dist/kernel/index.js.map +1 -0
  259. package/dist/kernel/lazy-port.d.ts +59 -0
  260. package/dist/kernel/lazy-port.d.ts.map +1 -0
  261. package/dist/kernel/lazy-port.js +78 -0
  262. package/dist/kernel/lazy-port.js.map +1 -0
  263. package/dist/kernel/lifecycle/activation-resolver.d.ts +63 -0
  264. package/dist/kernel/lifecycle/activation-resolver.d.ts.map +1 -0
  265. package/dist/kernel/lifecycle/activation-resolver.js +70 -0
  266. package/dist/kernel/lifecycle/activation-resolver.js.map +1 -0
  267. package/dist/kernel/lifecycle/capability-registry.d.ts +145 -0
  268. package/dist/kernel/lifecycle/capability-registry.d.ts.map +1 -0
  269. package/dist/kernel/lifecycle/capability-registry.js +170 -0
  270. package/dist/kernel/lifecycle/capability-registry.js.map +1 -0
  271. package/dist/kernel/lifecycle/effective-state.d.ts +126 -0
  272. package/dist/kernel/lifecycle/effective-state.d.ts.map +1 -0
  273. package/dist/kernel/lifecycle/effective-state.js +111 -0
  274. package/dist/kernel/lifecycle/effective-state.js.map +1 -0
  275. package/dist/kernel/lifecycle/module-registration.entity.d.ts +57 -0
  276. package/dist/kernel/lifecycle/module-registration.entity.d.ts.map +1 -0
  277. package/dist/kernel/lifecycle/module-registration.entity.js +111 -0
  278. package/dist/kernel/lifecycle/module-registration.entity.js.map +1 -0
  279. package/dist/kernel/lifecycle/plugin-helpers.d.ts +165 -0
  280. package/dist/kernel/lifecycle/plugin-helpers.d.ts.map +1 -0
  281. package/dist/kernel/lifecycle/plugin-helpers.js +395 -0
  282. package/dist/kernel/lifecycle/plugin-helpers.js.map +1 -0
  283. package/dist/kernel/lifecycle/registry-cache.d.ts +318 -0
  284. package/dist/kernel/lifecycle/registry-cache.d.ts.map +1 -0
  285. package/dist/kernel/lifecycle/registry-cache.js +509 -0
  286. package/dist/kernel/lifecycle/registry-cache.js.map +1 -0
  287. package/dist/kernel/lifecycle/required-modules.d.ts +137 -0
  288. package/dist/kernel/lifecycle/required-modules.d.ts.map +1 -0
  289. package/dist/kernel/lifecycle/required-modules.js +80 -0
  290. package/dist/kernel/lifecycle/required-modules.js.map +1 -0
  291. package/dist/kernel/lifecycle/unique-module-ids.d.ts +58 -0
  292. package/dist/kernel/lifecycle/unique-module-ids.d.ts.map +1 -0
  293. package/dist/kernel/lifecycle/unique-module-ids.js +82 -0
  294. package/dist/kernel/lifecycle/unique-module-ids.js.map +1 -0
  295. package/dist/kernel/logging.d.ts +116 -0
  296. package/dist/kernel/logging.d.ts.map +1 -0
  297. package/dist/kernel/logging.js +71 -0
  298. package/dist/kernel/logging.js.map +1 -0
  299. package/dist/kernel/module-context.d.ts +563 -0
  300. package/dist/kernel/module-context.d.ts.map +1 -0
  301. package/dist/kernel/module-context.js +670 -0
  302. package/dist/kernel/module-context.js.map +1 -0
  303. package/dist/kernel/ports/audit.d.ts +115 -0
  304. package/dist/kernel/ports/audit.d.ts.map +1 -0
  305. package/dist/kernel/ports/audit.js +2 -0
  306. package/dist/kernel/ports/audit.js.map +1 -0
  307. package/dist/kernel/ports/organizations.d.ts +56 -0
  308. package/dist/kernel/ports/organizations.d.ts.map +1 -0
  309. package/dist/kernel/ports/organizations.js +2 -0
  310. package/dist/kernel/ports/organizations.js.map +1 -0
  311. package/dist/kernel/ports/provide.d.ts +14 -0
  312. package/dist/kernel/ports/provide.d.ts.map +1 -0
  313. package/dist/kernel/ports/provide.js +50 -0
  314. package/dist/kernel/ports/provide.js.map +1 -0
  315. package/dist/kernel/ports/require-admin.d.ts +61 -0
  316. package/dist/kernel/ports/require-admin.d.ts.map +1 -0
  317. package/dist/kernel/ports/require-admin.js +2 -0
  318. package/dist/kernel/ports/require-admin.js.map +1 -0
  319. package/dist/kernel/ports/require-customer.d.ts +17 -0
  320. package/dist/kernel/ports/require-customer.d.ts.map +1 -0
  321. package/dist/kernel/ports/require-customer.js +2 -0
  322. package/dist/kernel/ports/require-customer.js.map +1 -0
  323. package/dist/kernel/ports/sales-channel.d.ts +84 -0
  324. package/dist/kernel/ports/sales-channel.d.ts.map +1 -0
  325. package/dist/kernel/ports/sales-channel.js +2 -0
  326. package/dist/kernel/ports/sales-channel.js.map +1 -0
  327. package/dist/kernel/ports/settings.d.ts +59 -0
  328. package/dist/kernel/ports/settings.d.ts.map +1 -0
  329. package/dist/kernel/ports/settings.js +2 -0
  330. package/dist/kernel/ports/settings.js.map +1 -0
  331. package/dist/kernel/public-api-base-url.d.ts +98 -0
  332. package/dist/kernel/public-api-base-url.d.ts.map +1 -0
  333. package/dist/kernel/public-api-base-url.js +144 -0
  334. package/dist/kernel/public-api-base-url.js.map +1 -0
  335. package/dist/kernel/request-scope-hook.d.ts +63 -0
  336. package/dist/kernel/request-scope-hook.d.ts.map +1 -0
  337. package/dist/kernel/request-scope-hook.js +67 -0
  338. package/dist/kernel/request-scope-hook.js.map +1 -0
  339. package/dist/kernel/sales-channels/channel-bridge-registry.d.ts +109 -0
  340. package/dist/kernel/sales-channels/channel-bridge-registry.d.ts.map +1 -0
  341. package/dist/kernel/sales-channels/channel-bridge-registry.js +75 -0
  342. package/dist/kernel/sales-channels/channel-bridge-registry.js.map +1 -0
  343. package/dist/kernel/sales-channels/compose.d.ts +69 -0
  344. package/dist/kernel/sales-channels/compose.d.ts.map +1 -0
  345. package/dist/kernel/sales-channels/compose.js +43 -0
  346. package/dist/kernel/sales-channels/compose.js.map +1 -0
  347. package/dist/kernel/sales-channels/default-channel-reconciler.d.ts +66 -0
  348. package/dist/kernel/sales-channels/default-channel-reconciler.d.ts.map +1 -0
  349. package/dist/kernel/sales-channels/default-channel-reconciler.js +91 -0
  350. package/dist/kernel/sales-channels/default-channel-reconciler.js.map +1 -0
  351. package/dist/kernel/sales-channels/no-system-default-channel.error.d.ts +28 -0
  352. package/dist/kernel/sales-channels/no-system-default-channel.error.d.ts.map +1 -0
  353. package/dist/kernel/sales-channels/no-system-default-channel.error.js +33 -0
  354. package/dist/kernel/sales-channels/no-system-default-channel.error.js.map +1 -0
  355. package/dist/kernel/sales-channels/request-channel-assortment.d.ts +72 -0
  356. package/dist/kernel/sales-channels/request-channel-assortment.d.ts.map +1 -0
  357. package/dist/kernel/sales-channels/request-channel-assortment.js +83 -0
  358. package/dist/kernel/sales-channels/request-channel-assortment.js.map +1 -0
  359. package/dist/kernel/sales-channels/sales-channel-membership.service.d.ts +157 -0
  360. package/dist/kernel/sales-channels/sales-channel-membership.service.d.ts.map +1 -0
  361. package/dist/kernel/sales-channels/sales-channel-membership.service.js +302 -0
  362. package/dist/kernel/sales-channels/sales-channel-membership.service.js.map +1 -0
  363. package/dist/kernel/sales-channels/sales-channel-resolver.middleware.d.ts +76 -0
  364. package/dist/kernel/sales-channels/sales-channel-resolver.middleware.d.ts.map +1 -0
  365. package/dist/kernel/sales-channels/sales-channel-resolver.middleware.js +184 -0
  366. package/dist/kernel/sales-channels/sales-channel-resolver.middleware.js.map +1 -0
  367. package/dist/kernel/sales-channels/sales-channel-resolver.service.d.ts +82 -0
  368. package/dist/kernel/sales-channels/sales-channel-resolver.service.d.ts.map +1 -0
  369. package/dist/kernel/sales-channels/sales-channel-resolver.service.js +126 -0
  370. package/dist/kernel/sales-channels/sales-channel-resolver.service.js.map +1 -0
  371. package/dist/kernel/sales-channels/sales-channel.entity.d.ts +50 -0
  372. package/dist/kernel/sales-channels/sales-channel.entity.d.ts.map +1 -0
  373. package/dist/kernel/sales-channels/sales-channel.entity.js +132 -0
  374. package/dist/kernel/sales-channels/sales-channel.entity.js.map +1 -0
  375. package/dist/kernel/sales-channels/sales-channels-cache.d.ts +170 -0
  376. package/dist/kernel/sales-channels/sales-channels-cache.d.ts.map +1 -0
  377. package/dist/kernel/sales-channels/sales-channels-cache.js +243 -0
  378. package/dist/kernel/sales-channels/sales-channels-cache.js.map +1 -0
  379. package/dist/kernel/scope.d.ts +153 -0
  380. package/dist/kernel/scope.d.ts.map +1 -0
  381. package/dist/kernel/scope.js +172 -0
  382. package/dist/kernel/scope.js.map +1 -0
  383. package/dist/kernel/settings/compose.d.ts +49 -0
  384. package/dist/kernel/settings/compose.d.ts.map +1 -0
  385. package/dist/kernel/settings/compose.js +21 -0
  386. package/dist/kernel/settings/compose.js.map +1 -0
  387. package/dist/kernel/settings/manifest-reconciler.d.ts +78 -0
  388. package/dist/kernel/settings/manifest-reconciler.d.ts.map +1 -0
  389. package/dist/kernel/settings/manifest-reconciler.js +343 -0
  390. package/dist/kernel/settings/manifest-reconciler.js.map +1 -0
  391. package/dist/kernel/settings/secret-value-codec.d.ts +52 -0
  392. package/dist/kernel/settings/secret-value-codec.d.ts.map +1 -0
  393. package/dist/kernel/settings/secret-value-codec.js +102 -0
  394. package/dist/kernel/settings/secret-value-codec.js.map +1 -0
  395. package/dist/kernel/settings/setting-group.entity.d.ts +25 -0
  396. package/dist/kernel/settings/setting-group.entity.d.ts.map +1 -0
  397. package/dist/kernel/settings/setting-group.entity.js +79 -0
  398. package/dist/kernel/settings/setting-group.entity.js.map +1 -0
  399. package/dist/kernel/settings/setting-value.entity.d.ts +23 -0
  400. package/dist/kernel/settings/setting-value.entity.d.ts.map +1 -0
  401. package/dist/kernel/settings/setting-value.entity.js +66 -0
  402. package/dist/kernel/settings/setting-value.entity.js.map +1 -0
  403. package/dist/kernel/settings/setting.entity.d.ts +56 -0
  404. package/dist/kernel/settings/setting.entity.d.ts.map +1 -0
  405. package/dist/kernel/settings/setting.entity.js +147 -0
  406. package/dist/kernel/settings/setting.entity.js.map +1 -0
  407. package/dist/kernel/settings/settings-cache.d.ts +158 -0
  408. package/dist/kernel/settings/settings-cache.d.ts.map +1 -0
  409. package/dist/kernel/settings/settings-cache.js +253 -0
  410. package/dist/kernel/settings/settings-cache.js.map +1 -0
  411. package/dist/kernel/settings/settings.service.d.ts +142 -0
  412. package/dist/kernel/settings/settings.service.d.ts.map +1 -0
  413. package/dist/kernel/settings/settings.service.js +294 -0
  414. package/dist/kernel/settings/settings.service.js.map +1 -0
  415. package/dist/lifecycle/backend.d.ts +51 -0
  416. package/dist/lifecycle/backend.d.ts.map +1 -0
  417. package/dist/lifecycle/backend.js +40 -0
  418. package/dist/lifecycle/backend.js.map +1 -0
  419. package/dist/lifecycle/commands/activation.commands.d.ts +97 -0
  420. package/dist/lifecycle/commands/activation.commands.d.ts.map +1 -0
  421. package/dist/lifecycle/commands/activation.commands.js +142 -0
  422. package/dist/lifecycle/commands/activation.commands.js.map +1 -0
  423. package/dist/lifecycle/commands/disable.d.ts +3 -0
  424. package/dist/lifecycle/commands/disable.d.ts.map +1 -0
  425. package/dist/lifecycle/commands/disable.js +126 -0
  426. package/dist/lifecycle/commands/disable.js.map +1 -0
  427. package/dist/lifecycle/commands/enable.d.ts +3 -0
  428. package/dist/lifecycle/commands/enable.d.ts.map +1 -0
  429. package/dist/lifecycle/commands/enable.js +102 -0
  430. package/dist/lifecycle/commands/enable.js.map +1 -0
  431. package/dist/lifecycle/commands/install.d.ts +3 -0
  432. package/dist/lifecycle/commands/install.d.ts.map +1 -0
  433. package/dist/lifecycle/commands/install.js +263 -0
  434. package/dist/lifecycle/commands/install.js.map +1 -0
  435. package/dist/lifecycle/commands/operator-entry.d.ts +104 -0
  436. package/dist/lifecycle/commands/operator-entry.d.ts.map +1 -0
  437. package/dist/lifecycle/commands/operator-entry.js +127 -0
  438. package/dist/lifecycle/commands/operator-entry.js.map +1 -0
  439. package/dist/lifecycle/commands/operator-runtime.d.ts +147 -0
  440. package/dist/lifecycle/commands/operator-runtime.d.ts.map +1 -0
  441. package/dist/lifecycle/commands/operator-runtime.js +40 -0
  442. package/dist/lifecycle/commands/operator-runtime.js.map +1 -0
  443. package/dist/lifecycle/commands/status.d.ts +3 -0
  444. package/dist/lifecycle/commands/status.d.ts.map +1 -0
  445. package/dist/lifecycle/commands/status.js +108 -0
  446. package/dist/lifecycle/commands/status.js.map +1 -0
  447. package/dist/lifecycle/commands/uninstall.d.ts +3 -0
  448. package/dist/lifecycle/commands/uninstall.d.ts.map +1 -0
  449. package/dist/lifecycle/commands/uninstall.js +223 -0
  450. package/dist/lifecycle/commands/uninstall.js.map +1 -0
  451. package/dist/lifecycle/divergence-declaration.d.ts +74 -0
  452. package/dist/lifecycle/divergence-declaration.d.ts.map +1 -0
  453. package/dist/lifecycle/divergence-declaration.js +92 -0
  454. package/dist/lifecycle/divergence-declaration.js.map +1 -0
  455. package/dist/lifecycle/i18n/en.json +4 -0
  456. package/dist/lifecycle/i18n/pl.json +4 -0
  457. package/dist/lifecycle/index.d.ts +110 -0
  458. package/dist/lifecycle/index.d.ts.map +1 -0
  459. package/dist/lifecycle/index.js +189 -0
  460. package/dist/lifecycle/index.js.map +1 -0
  461. package/dist/lifecycle/manifest-registry.d.ts +244 -0
  462. package/dist/lifecycle/manifest-registry.d.ts.map +1 -0
  463. package/dist/lifecycle/manifest-registry.js +223 -0
  464. package/dist/lifecycle/manifest-registry.js.map +1 -0
  465. package/dist/lifecycle/manifest.d.ts +166 -0
  466. package/dist/lifecycle/manifest.d.ts.map +1 -0
  467. package/dist/lifecycle/manifest.js +121 -0
  468. package/dist/lifecycle/manifest.js.map +1 -0
  469. package/dist/lifecycle/plugin.d.ts +56 -0
  470. package/dist/lifecycle/plugin.d.ts.map +1 -0
  471. package/dist/lifecycle/plugin.js +59 -0
  472. package/dist/lifecycle/plugin.js.map +1 -0
  473. package/dist/lifecycle/resident.d.ts +16 -0
  474. package/dist/lifecycle/resident.d.ts.map +1 -0
  475. package/dist/lifecycle/resident.js +59 -0
  476. package/dist/lifecycle/resident.js.map +1 -0
  477. package/dist/lifecycle/routes.admin.d.ts +57 -0
  478. package/dist/lifecycle/routes.admin.d.ts.map +1 -0
  479. package/dist/lifecycle/routes.admin.js +162 -0
  480. package/dist/lifecycle/routes.admin.js.map +1 -0
  481. package/dist/lifecycle/routes.storefront.d.ts +26 -0
  482. package/dist/lifecycle/routes.storefront.d.ts.map +1 -0
  483. package/dist/lifecycle/routes.storefront.js +36 -0
  484. package/dist/lifecycle/routes.storefront.js.map +1 -0
  485. package/dist/lifecycle/services/deactivation-ledger.d.ts +216 -0
  486. package/dist/lifecycle/services/deactivation-ledger.d.ts.map +1 -0
  487. package/dist/lifecycle/services/deactivation-ledger.js +171 -0
  488. package/dist/lifecycle/services/deactivation-ledger.js.map +1 -0
  489. package/dist/lifecycle/services/dep-graph.d.ts +119 -0
  490. package/dist/lifecycle/services/dep-graph.d.ts.map +1 -0
  491. package/dist/lifecycle/services/dep-graph.js +334 -0
  492. package/dist/lifecycle/services/dep-graph.js.map +1 -0
  493. package/dist/lifecycle/services/gating-graph.d.ts +164 -0
  494. package/dist/lifecycle/services/gating-graph.d.ts.map +1 -0
  495. package/dist/lifecycle/services/gating-graph.js +203 -0
  496. package/dist/lifecycle/services/gating-graph.js.map +1 -0
  497. package/dist/lifecycle/services/lock.d.ts +27 -0
  498. package/dist/lifecycle/services/lock.d.ts.map +1 -0
  499. package/dist/lifecycle/services/lock.js +82 -0
  500. package/dist/lifecycle/services/lock.js.map +1 -0
  501. package/dist/lifecycle/services/manifest-loader.d.ts +125 -0
  502. package/dist/lifecycle/services/manifest-loader.d.ts.map +1 -0
  503. package/dist/lifecycle/services/manifest-loader.js +210 -0
  504. package/dist/lifecycle/services/manifest-loader.js.map +1 -0
  505. package/dist/lifecycle/services/migration-ownership.d.ts +36 -0
  506. package/dist/lifecycle/services/migration-ownership.d.ts.map +1 -0
  507. package/dist/lifecycle/services/migration-ownership.js +15 -0
  508. package/dist/lifecycle/services/migration-ownership.js.map +1 -0
  509. package/dist/lifecycle/services/module-id-claims.d.ts +38 -0
  510. package/dist/lifecycle/services/module-id-claims.d.ts.map +1 -0
  511. package/dist/lifecycle/services/module-id-claims.js +123 -0
  512. package/dist/lifecycle/services/module-id-claims.js.map +1 -0
  513. package/dist/lifecycle/services/module-origin.d.ts +55 -0
  514. package/dist/lifecycle/services/module-origin.d.ts.map +1 -0
  515. package/dist/lifecycle/services/module-origin.js +47 -0
  516. package/dist/lifecycle/services/module-origin.js.map +1 -0
  517. package/dist/lifecycle/services/orchestrator.d.ts +235 -0
  518. package/dist/lifecycle/services/orchestrator.d.ts.map +1 -0
  519. package/dist/lifecycle/services/orchestrator.js +954 -0
  520. package/dist/lifecycle/services/orchestrator.js.map +1 -0
  521. package/dist/lifecycle/services/presence-load.d.ts +281 -0
  522. package/dist/lifecycle/services/presence-load.d.ts.map +1 -0
  523. package/dist/lifecycle/services/presence-load.js +437 -0
  524. package/dist/lifecycle/services/presence-load.js.map +1 -0
  525. package/dist/lifecycle/services/static-registry.d.ts +47 -0
  526. package/dist/lifecycle/services/static-registry.d.ts.map +1 -0
  527. package/dist/lifecycle/services/static-registry.js +41 -0
  528. package/dist/lifecycle/services/static-registry.js.map +1 -0
  529. package/dist/migrations/20260424T165847_core_foundation_init.d.ts +25 -0
  530. package/dist/migrations/20260424T165847_core_foundation_init.d.ts.map +1 -0
  531. package/dist/migrations/20260424T165847_core_foundation_init.js +238 -0
  532. package/dist/migrations/20260424T165847_core_foundation_init.js.map +1 -0
  533. package/dist/migrations/20260425T050720_core_commerce_init.d.ts +19 -0
  534. package/dist/migrations/20260425T050720_core_commerce_init.d.ts.map +1 -0
  535. package/dist/migrations/20260425T050720_core_commerce_init.js +200 -0
  536. package/dist/migrations/20260425T050720_core_commerce_init.js.map +1 -0
  537. package/dist/migrations/20260430T101450_core_settings_init.d.ts +25 -0
  538. package/dist/migrations/20260430T101450_core_settings_init.d.ts.map +1 -0
  539. package/dist/migrations/20260430T101450_core_settings_init.js +113 -0
  540. package/dist/migrations/20260430T101450_core_settings_init.js.map +1 -0
  541. package/dist/migrations/20260430T170044_core_sales_channels_promote.d.ts +67 -0
  542. package/dist/migrations/20260430T170044_core_sales_channels_promote.d.ts.map +1 -0
  543. package/dist/migrations/20260430T170044_core_sales_channels_promote.js +101 -0
  544. package/dist/migrations/20260430T170044_core_sales_channels_promote.js.map +1 -0
  545. package/dist/migrations/20260506T200657_core_module_lifecycle_init.d.ts +21 -0
  546. package/dist/migrations/20260506T200657_core_module_lifecycle_init.d.ts.map +1 -0
  547. package/dist/migrations/20260506T200657_core_module_lifecycle_init.js +41 -0
  548. package/dist/migrations/20260506T200657_core_module_lifecycle_init.js.map +1 -0
  549. package/dist/migrations/20260514T111329_core_settings_global_value.d.ts +30 -0
  550. package/dist/migrations/20260514T111329_core_settings_global_value.d.ts.map +1 -0
  551. package/dist/migrations/20260514T111329_core_settings_global_value.js +34 -0
  552. package/dist/migrations/20260514T111329_core_settings_global_value.js.map +1 -0
  553. package/dist/migrations/20260611T140411_core_settings_secret_value_type.d.ts +26 -0
  554. package/dist/migrations/20260611T140411_core_settings_secret_value_type.d.ts.map +1 -0
  555. package/dist/migrations/20260611T140411_core_settings_secret_value_type.js +63 -0
  556. package/dist/migrations/20260611T140411_core_settings_secret_value_type.js.map +1 -0
  557. package/dist/migrations/20260611T140419_core_settings_enum_options.d.ts +19 -0
  558. package/dist/migrations/20260611T140419_core_settings_enum_options.d.ts.map +1 -0
  559. package/dist/migrations/20260611T140419_core_settings_enum_options.js +23 -0
  560. package/dist/migrations/20260611T140419_core_settings_enum_options.js.map +1 -0
  561. package/dist/migrations/20260629T090100_core_settings_hidden_flag.d.ts +20 -0
  562. package/dist/migrations/20260629T090100_core_settings_hidden_flag.d.ts.map +1 -0
  563. package/dist/migrations/20260629T090100_core_settings_hidden_flag.js +24 -0
  564. package/dist/migrations/20260629T090100_core_settings_hidden_flag.js.map +1 -0
  565. package/dist/migrations/20260717T134752_core_tenant_scope_indexes.d.ts +27 -0
  566. package/dist/migrations/20260717T134752_core_tenant_scope_indexes.d.ts.map +1 -0
  567. package/dist/migrations/20260717T134752_core_tenant_scope_indexes.js +32 -0
  568. package/dist/migrations/20260717T134752_core_tenant_scope_indexes.js.map +1 -0
  569. package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.d.ts +24 -0
  570. package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.d.ts.map +1 -0
  571. package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.js +57 -0
  572. package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.js.map +1 -0
  573. package/dist/migrations/20260816T203339_core_retire_core_activation_settings.d.ts +39 -0
  574. package/dist/migrations/20260816T203339_core_retire_core_activation_settings.d.ts.map +1 -0
  575. package/dist/migrations/20260816T203339_core_retire_core_activation_settings.js +59 -0
  576. package/dist/migrations/20260816T203339_core_retire_core_activation_settings.js.map +1 -0
  577. package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.d.ts +34 -0
  578. package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.d.ts.map +1 -0
  579. package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.js +38 -0
  580. package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.js.map +1 -0
  581. package/dist/migrations/baseline-migrations.generated.d.ts +2 -0
  582. package/dist/migrations/baseline-migrations.generated.d.ts.map +1 -0
  583. package/dist/migrations/baseline-migrations.generated.js +136 -0
  584. package/dist/migrations/baseline-migrations.generated.js.map +1 -0
  585. package/dist/migrations/index.d.ts +62 -0
  586. package/dist/migrations/index.d.ts.map +1 -0
  587. package/dist/migrations/index.js +75 -0
  588. package/dist/migrations/index.js.map +1 -0
  589. package/dist/overlay/deployment-roots.d.ts +37 -0
  590. package/dist/overlay/deployment-roots.d.ts.map +1 -0
  591. package/dist/overlay/deployment-roots.js +90 -0
  592. package/dist/overlay/deployment-roots.js.map +1 -0
  593. package/dist/overlay/index.d.ts +62 -0
  594. package/dist/overlay/index.d.ts.map +1 -0
  595. package/dist/overlay/index.js +62 -0
  596. package/dist/overlay/index.js.map +1 -0
  597. package/dist/overlay/overlay-runtime.d.ts +173 -0
  598. package/dist/overlay/overlay-runtime.d.ts.map +1 -0
  599. package/dist/overlay/overlay-runtime.js +281 -0
  600. package/dist/overlay/overlay-runtime.js.map +1 -0
  601. package/dist/overlay/resolve-overlay.d.ts +41 -0
  602. package/dist/overlay/resolve-overlay.d.ts.map +1 -0
  603. package/dist/overlay/resolve-overlay.js +72 -0
  604. package/dist/overlay/resolve-overlay.js.map +1 -0
  605. package/dist/packages/index.d.ts +57 -0
  606. package/dist/packages/index.d.ts.map +1 -0
  607. package/dist/packages/index.js +57 -0
  608. package/dist/packages/index.js.map +1 -0
  609. package/dist/packages/installed-packages.d.ts +79 -0
  610. package/dist/packages/installed-packages.d.ts.map +1 -0
  611. package/dist/packages/installed-packages.js +312 -0
  612. package/dist/packages/installed-packages.js.map +1 -0
  613. package/dist/packages/package-entity-lookup.d.ts +120 -0
  614. package/dist/packages/package-entity-lookup.d.ts.map +1 -0
  615. package/dist/packages/package-entity-lookup.js +17 -0
  616. package/dist/packages/package-entity-lookup.js.map +1 -0
  617. package/dist/packages/package-runtime.d.ts +177 -0
  618. package/dist/packages/package-runtime.d.ts.map +1 -0
  619. package/dist/packages/package-runtime.js +386 -0
  620. package/dist/packages/package-runtime.js.map +1 -0
  621. package/dist/tenancy/derived-scope.d.ts +43 -0
  622. package/dist/tenancy/derived-scope.d.ts.map +1 -0
  623. package/dist/tenancy/derived-scope.js +76 -0
  624. package/dist/tenancy/derived-scope.js.map +1 -0
  625. package/dist/tenancy/escape-hatch.d.ts +30 -0
  626. package/dist/tenancy/escape-hatch.d.ts.map +1 -0
  627. package/dist/tenancy/escape-hatch.js +50 -0
  628. package/dist/tenancy/escape-hatch.js.map +1 -0
  629. package/dist/tenancy/filters.d.ts +87 -0
  630. package/dist/tenancy/filters.d.ts.map +1 -0
  631. package/dist/tenancy/filters.js +126 -0
  632. package/dist/tenancy/filters.js.map +1 -0
  633. package/dist/tenancy/index.d.ts +63 -0
  634. package/dist/tenancy/index.d.ts.map +1 -0
  635. package/dist/tenancy/index.js +61 -0
  636. package/dist/tenancy/index.js.map +1 -0
  637. package/dist/tenancy/org-scoped.decorator.d.ts +150 -0
  638. package/dist/tenancy/org-scoped.decorator.d.ts.map +1 -0
  639. package/dist/tenancy/org-scoped.decorator.js +339 -0
  640. package/dist/tenancy/org-scoped.decorator.js.map +1 -0
  641. package/dist/tenancy/org-write-guard.d.ts +106 -0
  642. package/dist/tenancy/org-write-guard.d.ts.map +1 -0
  643. package/dist/tenancy/org-write-guard.js +141 -0
  644. package/dist/tenancy/org-write-guard.js.map +1 -0
  645. package/dist/tenancy/resolve-tenant-context.d.ts +91 -0
  646. package/dist/tenancy/resolve-tenant-context.d.ts.map +1 -0
  647. package/dist/tenancy/resolve-tenant-context.js +85 -0
  648. package/dist/tenancy/resolve-tenant-context.js.map +1 -0
  649. package/dist/tenancy/scoped-em.d.ts +10 -0
  650. package/dist/tenancy/scoped-em.d.ts.map +1 -0
  651. package/dist/tenancy/scoped-em.js +11 -0
  652. package/dist/tenancy/scoped-em.js.map +1 -0
  653. package/dist/tenancy/tenant-context.d.ts +154 -0
  654. package/dist/tenancy/tenant-context.d.ts.map +1 -0
  655. package/dist/tenancy/tenant-context.js +109 -0
  656. package/dist/tenancy/tenant-context.js.map +1 -0
  657. package/package.json +123 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * The host's side of `endora demo seed` and `endora demo reset` (feature 113
3
+ * Phase 0, `contracts/module-demo-data-layer.md` §3.1–§3.2), and the shape the
4
+ * dispatcher takes an instance's own composition in.
5
+ *
6
+ * ## Why it is a *host* command and not a module's
7
+ *
8
+ * §3.2: both commands live on the CLI that **composes the platform** and must
9
+ * not live on `@endora-commerce/cli`. The scaffolder opens no database, resolves
10
+ * no container and builds no `ModuleContext`; acquiring those would make it the
11
+ * platform. And the demo run is not any one module's command — it fans out over
12
+ * every module that declares demo data — so it cannot be a `cliCommands` entry
13
+ * either, which is addressed as `<module id> <command>` and runs exactly one.
14
+ *
15
+ * ## Why it is in the package now, and it was the last thing keeping a
16
+ * scaffolded instance from running any command at all
17
+ *
18
+ * It was `backend/src/cli/demo-command.ts`, and
19
+ * `test/unit/kernel/host-residue-partition.test.ts` had it ledgered as
20
+ * *"platform-shaped — the move"*: it names no path in the tree that installs the
21
+ * platform, so `operator-half.md` §1.1 puts it here. The ledger's `retiredBy`
22
+ * named the shape this took — *"the logic in the package, a ~20-line entry point
23
+ * in the application"*.
24
+ *
25
+ * The cost of leaving it was measured rather than aesthetic. `endora new
26
+ * instance` reported `backend/src/cli.ts` as an **omission**, whose written
27
+ * reason was *"the demo layer around it is exported under no subpath"* — and a
28
+ * scaffolded instance therefore had no `admin_users create`, so nobody could log
29
+ * in to the admin bundle A5 and A13 prove is built and styled
30
+ * (`specs/123-oss-install-experience/` G2).
31
+ *
32
+ * ## What is here and what the dispatcher's
33
+ *
34
+ * The same split `module-commands.ts` makes: everything decidable with no
35
+ * process and no database is here, so it can be driven from a test. The three
36
+ * things that are **not** are the ones §3.3 orders relative to each other — the
37
+ * production guard first, then the composition, then one system scope — and
38
+ * their order is `../cli/dispatch.ts`' property rather than a value this file
39
+ * could return.
40
+ */
41
+ import type { ModuleManifest } from '@endora-commerce/contracts';
42
+ import type { EntityManager } from '@mikro-orm/postgresql';
43
+ import type { DemoManifestEntry, DemoMode } from './plan.js';
44
+ import type { DemoComposition } from './runner.js';
45
+ /** The one host verb this feature adds. */
46
+ export declare const DEMO_HOST_COMMAND = "demo";
47
+ /** One command the **host** offers, in the address an operator types. */
48
+ export interface HostCommandDescriptor {
49
+ readonly address: string;
50
+ readonly summary: string;
51
+ }
52
+ export declare const DEMO_HOST_COMMANDS: readonly HostCommandDescriptor[];
53
+ /** Is this argv the host's demo command rather than a module id? */
54
+ export declare function isDemoInvocation(first: string | undefined): boolean;
55
+ /**
56
+ * `seed` or `reset`, or a refusal naming what the command does offer.
57
+ *
58
+ * Refuses rather than defaulting: the two directions are destructive in
59
+ * opposite ways, and a missing verb that chose one would be the worst possible
60
+ * guess.
61
+ */
62
+ export declare function parseDemoVerb(name: string | undefined): DemoMode;
63
+ /**
64
+ * `--help`, answered from the declaration alone — before anything is composed.
65
+ *
66
+ * `program` is how the operator reached the dispatcher, and it is a parameter
67
+ * for defect F-1's reason: this line used to open `endora demo seed`, and in a
68
+ * scaffolded instance `endora` is the scaffolder, which has no demo verb
69
+ * (`specs/125-first-mile-install/spec.md` §2.5). The dispatcher is told; this
70
+ * function is told by the dispatcher.
71
+ */
72
+ export declare function demoHelpFor(verb: DemoMode, program?: string): string;
73
+ /** `--list` output for the host's own commands, in `formatCommandList`'s shape. */
74
+ export declare function formatHostCommandList(commands: readonly HostCommandDescriptor[]): string;
75
+ /** A module id that would be unreachable because the host reads it as a verb. */
76
+ export declare class ShadowedHostCommandError extends Error {
77
+ readonly moduleId: string;
78
+ constructor(moduleId: string);
79
+ }
80
+ /** The minimum of a resolved manifest entry this file reads. */
81
+ interface ManifestCarrier {
82
+ readonly manifest: Pick<ModuleManifest, 'id' | 'dependencies' | 'demo'>;
83
+ }
84
+ /**
85
+ * The runner's input, from the set the composition was actually built from.
86
+ *
87
+ * It carries the declaration and not the presence answer: §3.5 puts that
88
+ * decision in `planDemoRun`, before a context is built and outside every `try`.
89
+ *
90
+ * The refusal is here because this is the one place that sees every resolved id
91
+ * next to the host's own verb. `moduleIdRe` admits `demo`, and the verb is read
92
+ * first, so such a module would have commands nothing could address — the
93
+ * *"command silently not found"* failure D-157.8 rejected path-convention
94
+ * dispatch for.
95
+ */
96
+ export declare function demoEntriesFrom(entries: readonly ManifestCarrier[]): DemoManifestEntry[];
97
+ /**
98
+ * The one sentence §5.6 asks for. It says what is absent and what that means,
99
+ * and enumerates nothing.
100
+ *
101
+ * It is the platform's rather than any one tree's because the **dispatcher**
102
+ * prints it: an instance that supplies no composition loader at all is the
103
+ * ordinary case (D-216 — a client scaffolding an instance for their own trading
104
+ * receives no demo artefact unless they ask), and the default has to say so
105
+ * without the instance holding a copy of the sentence.
106
+ */
107
+ export declare const NO_DEMO_COMPOSITION_NOTICE: string;
108
+ /** What a composition loader is given. */
109
+ export interface DemoCompositionInput {
110
+ readonly em: EntityManager;
111
+ readonly isPresent: (moduleId: string) => boolean;
112
+ }
113
+ /** Present and loaded, or absent with the sentence to print. Never both. */
114
+ export type DemoCompositionLookup = {
115
+ readonly found: true;
116
+ readonly composition: DemoComposition;
117
+ } | {
118
+ readonly found: false;
119
+ readonly notice: string;
120
+ };
121
+ /**
122
+ * Finding a tree's demo composition — the parameter, not an implementation.
123
+ *
124
+ * **Locating one is the application's**, and that is the whole of why this is a
125
+ * function type rather than a function: the file lives at a path relative to the
126
+ * *caller's* own source, which is a path in a tree the platform cannot name
127
+ * (`operator-half.md` §1.1). This repository's is
128
+ * `backend/src/demo/composition-loader.ts`; a scaffolded instance supplies none
129
+ * and gets {@link NO_DEMO_COMPOSITION_NOTICE}.
130
+ */
131
+ export type DemoCompositionLoader = (input: DemoCompositionInput) => Promise<DemoCompositionLookup>;
132
+ export {};
133
+ //# sourceMappingURL=host-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-command.d.ts","sourceRoot":"","sources":["../../src/demo/host-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,qBAAqB,EAS9D,CAAC;AAIF,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAOhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,SAAiB,GAAG,MAAM,CAgB5E;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,CAKxF;AAED,iFAAiF;AACjF,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;CAQtC;AAED,gEAAgE;AAChE,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAWxF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,QAIkC,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAED,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { UnknownCommandError } from '../cli/module-commands.js';
2
+ /** The one host verb this feature adds. */
3
+ export const DEMO_HOST_COMMAND = 'demo';
4
+ export const DEMO_HOST_COMMANDS = [
5
+ {
6
+ address: `${DEMO_HOST_COMMAND} seed`,
7
+ summary: "Create every present module's demo data, plus the instance composition.",
8
+ },
9
+ {
10
+ address: `${DEMO_HOST_COMMAND} reset`,
11
+ summary: 'Withdraw the demo data this instance seeded, leaving your own rows alone.',
12
+ },
13
+ ];
14
+ const DEMO_VERBS = ['seed', 'reset'];
15
+ /** Is this argv the host's demo command rather than a module id? */
16
+ export function isDemoInvocation(first) {
17
+ return first === DEMO_HOST_COMMAND;
18
+ }
19
+ /**
20
+ * `seed` or `reset`, or a refusal naming what the command does offer.
21
+ *
22
+ * Refuses rather than defaulting: the two directions are destructive in
23
+ * opposite ways, and a missing verb that chose one would be the worst possible
24
+ * guess.
25
+ */
26
+ export function parseDemoVerb(name) {
27
+ const found = DEMO_VERBS.find((verb) => verb === name);
28
+ if (found)
29
+ return found;
30
+ const typed = name === undefined ? DEMO_HOST_COMMAND : `${DEMO_HOST_COMMAND} ${name}`;
31
+ throw new UnknownCommandError(`[cli] '${typed}' is not a demo command. It offers: ${DEMO_VERBS.join(', ')}.`);
32
+ }
33
+ /**
34
+ * `--help`, answered from the declaration alone — before anything is composed.
35
+ *
36
+ * `program` is how the operator reached the dispatcher, and it is a parameter
37
+ * for defect F-1's reason: this line used to open `endora demo seed`, and in a
38
+ * scaffolded instance `endora` is the scaffolder, which has no demo verb
39
+ * (`specs/125-first-mile-install/spec.md` §2.5). The dispatcher is told; this
40
+ * function is told by the dispatcher.
41
+ */
42
+ export function demoHelpFor(verb, program = 'pnpm run cli') {
43
+ const seeding = verb === 'seed';
44
+ return (`${program} ${DEMO_HOST_COMMAND} ${verb}\n\n` +
45
+ (seeding
46
+ ? 'Creates the demo data of every module that is installed here and switched on,\n' +
47
+ "in the order the manifest dependency graph gives, then applies this instance's\n" +
48
+ 'own composition — the wiring that spans modules. A module that is not present\n' +
49
+ 'contributes nothing and is reported as a skip, never as an error.\n'
50
+ : "Withdraws this instance's composition and then every present module's demo\n" +
51
+ 'rows, in the reverse of the order they were created in. Rows you created\n' +
52
+ 'yourself are left alone.\n') +
53
+ '\nIt refuses to run against a production database — both NODE_ENV and the\n' +
54
+ 'DATABASE_URL are checked, each with its own explicit override — and writes\n' +
55
+ 'nothing when it refuses.\n');
56
+ }
57
+ /** `--list` output for the host's own commands, in `formatCommandList`'s shape. */
58
+ export function formatHostCommandList(commands) {
59
+ const width = Math.max(...commands.map((command) => command.address.length));
60
+ return `${commands
61
+ .map((command) => ` ${command.address.padEnd(width)} ${command.summary}`)
62
+ .join('\n')}\n`;
63
+ }
64
+ /** A module id that would be unreachable because the host reads it as a verb. */
65
+ export class ShadowedHostCommandError extends Error {
66
+ moduleId;
67
+ constructor(moduleId) {
68
+ super(`[cli] a module is installed with the id '${moduleId}', which is the host's own ` +
69
+ `command. The host reads the first argument as its own verb before it dispatches ` +
70
+ `to a module, so that module's commands would be unreachable. Rename the module.`);
71
+ this.moduleId = moduleId;
72
+ this.name = 'ShadowedHostCommandError';
73
+ }
74
+ }
75
+ /**
76
+ * The runner's input, from the set the composition was actually built from.
77
+ *
78
+ * It carries the declaration and not the presence answer: §3.5 puts that
79
+ * decision in `planDemoRun`, before a context is built and outside every `try`.
80
+ *
81
+ * The refusal is here because this is the one place that sees every resolved id
82
+ * next to the host's own verb. `moduleIdRe` admits `demo`, and the verb is read
83
+ * first, so such a module would have commands nothing could address — the
84
+ * *"command silently not found"* failure D-157.8 rejected path-convention
85
+ * dispatch for.
86
+ */
87
+ export function demoEntriesFrom(entries) {
88
+ return entries.map((entry) => {
89
+ if (entry.manifest.id === DEMO_HOST_COMMAND) {
90
+ throw new ShadowedHostCommandError(entry.manifest.id);
91
+ }
92
+ return {
93
+ id: entry.manifest.id,
94
+ dependencies: entry.manifest.dependencies,
95
+ ...(entry.manifest.demo === undefined ? {} : { demo: entry.manifest.demo }),
96
+ };
97
+ });
98
+ }
99
+ /**
100
+ * The one sentence §5.6 asks for. It says what is absent and what that means,
101
+ * and enumerates nothing.
102
+ *
103
+ * It is the platform's rather than any one tree's because the **dispatcher**
104
+ * prints it: an instance that supplies no composition loader at all is the
105
+ * ordinary case (D-216 — a client scaffolding an instance for their own trading
106
+ * receives no demo artefact unless they ask), and the default has to say so
107
+ * without the instance holding a copy of the sentence.
108
+ */
109
+ export const NO_DEMO_COMPOSITION_NOTICE = 'No demo composition was found in this instance, so only the modules above ran. ' +
110
+ 'A composition is the wiring that spans modules — which categories a menu mirrors, ' +
111
+ 'which channel sells which products — and it belongs to whoever owns the instance, ' +
112
+ 'not to the platform. An instance without one is an ordinary instance.';
113
+ //# sourceMappingURL=host-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-command.js","sourceRoot":"","sources":["../../src/demo/host-command.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAQxC,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE;QACE,OAAO,EAAE,GAAG,iBAAiB,OAAO;QACpC,OAAO,EAAE,yEAAyE;KACnF;IACD;QACE,OAAO,EAAE,GAAG,iBAAiB,QAAQ;QACrC,OAAO,EAAE,2EAA2E;KACrF;CACF,CAAC;AAEF,MAAM,UAAU,GAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,KAAK,KAAK,iBAAiB,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC;IACtF,MAAM,IAAI,mBAAmB,CAC3B,UAAU,KAAK,uCAAuC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/E,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,OAAO,GAAG,cAAc;IAClE,MAAM,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC;IAChC,OAAO,CACL,GAAG,OAAO,IAAI,iBAAiB,IAAI,IAAI,MAAM;QAC7C,CAAC,OAAO;YACN,CAAC,CAAC,iFAAiF;gBACjF,kFAAkF;gBAClF,iFAAiF;gBACjF,qEAAqE;YACvE,CAAC,CAAC,8EAA8E;gBAC9E,4EAA4E;gBAC5E,4BAA4B,CAAC;QACjC,6EAA6E;QAC7E,8EAA8E;QAC9E,4BAA4B,CAC7B,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,QAA0C;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,OAAO,GAAG,QAAQ;SACf,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B;IAArB,YAAqB,QAAgB;QACnC,KAAK,CACH,4CAA4C,QAAQ,6BAA6B;YAC/E,kFAAkF;YAClF,iFAAiF,CACpF,CAAC;QALiB,aAAQ,GAAR,QAAQ,CAAQ;QAMnC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAOD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,OAAmC;IACjE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YACrB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;YACzC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,iFAAiF;IACjF,oFAAoF;IACpF,oFAAoF;IACpF,uEAAuE,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * The platform's demo-data layer (feature 113 Phase 0, D-209).
3
+ *
4
+ * Four things, and the split is the design rather than tidiness:
5
+ *
6
+ * - **`guard.ts`** — the production refusal, which must ship because a client
7
+ * running a demo seed against production is what it prevents (spec §7).
8
+ * - **`scope.ts`** — the reasons the one system scope carries (§3.4).
9
+ * - **`plan.ts`** — which modules contribute and in what order, decidable with
10
+ * no database, with presence answered before any context exists (§3.5).
11
+ * - **`runner.ts` / `report.ts`** — the invocation and what an operator reads.
12
+ *
13
+ * ## `./demo`, a host-internal subpath of its own
14
+ *
15
+ * `specs/110-instance-repository/` T119b. This barrel had **no `exports` subpath
16
+ * at all**, and its own header said it was reached through
17
+ * `@endora-commerce/platform/composition` while the shim above it said the
18
+ * opposite in as many words — *"it is deliberately not on `./composition` … so
19
+ * this is the ordinary host-internal reach the other platform shims are, naming
20
+ * the built file directly"*. What was true of neither sentence: five application
21
+ * consumers reached `packages/platform/dist/demo/index.js` through a re-export
22
+ * shim, a specifier that resolves in this checkout and in no client's, which is
23
+ * the state `check:platform-surface`'s application half exists to refuse.
24
+ *
25
+ * The shim's reasoning — *"widening a ruling's table to save a shim would be a
26
+ * self-certified exemption issued by the party being measured"* — was right
27
+ * about `./composition`, and is answered by giving this directory an address of
28
+ * its own instead. It is **host-internal**, for `./composition`'s own reason: a
29
+ * module *declares* demo data through `@endora-commerce/contracts` and never
30
+ * names the runner, while the thing that runs one has already composed the
31
+ * platform. `PUBLISHED_SUBPATHS` is unchanged at five, and a module naming
32
+ * `@endora-commerce/platform/demo` is `host-internal-subpath` — refused.
33
+ *
34
+ * ## Why it carries less than it used to export
35
+ *
36
+ * What is on it is a **consequence**, not a ruling, so it is held to its
37
+ * consumers by `test/unit/kernel/published-surface.test.ts` in `./lifecycle`'s
38
+ * shape rather than `./composition`'s written table: *a name on the barrel that
39
+ * no first-party source outside the platform imports is surface parked against a
40
+ * future need*. Eighteen names were in exactly that state and left in the merge
41
+ * request that gave the directory an address — `planDemoRun`,
42
+ * `classifySeedTarget`, `createDemoPackageResolver`, the plan and run-result
43
+ * shapes among them. They were unreachable while there was no subpath, so
44
+ * nothing had ever asked for one of them by name; publishing them on the day the
45
+ * address arrives would park the directory's internals against a need nobody
46
+ * has. Adding one back is not a breaking change and belongs to the merge request
47
+ * that gives it a consumer.
48
+ *
49
+ * Nothing here imports a module, and the composition that does is a **parameter**
50
+ * (`DemoComposition`), which is what lets the runner live in the platform at all
51
+ * (§5.3, D-52/D-53).
52
+ *
53
+ * ## What `specs/123-oss-install-experience/` G2 took off it, and why that is
54
+ * the ratchet working rather than a regression
55
+ *
56
+ * Six names went — `formatDemoReport`, `unwrapDemoFailure`, `DemoManifestEntry`
57
+ * and `DemoMode`, and the whole of what `host-command.ts` would have added. G2
58
+ * moved the demo **dispatch** into `../cli/dispatch.ts`, so the files that used
59
+ * to import those six from outside the package — `backend/src/cli.ts` and
60
+ * `backend/src/cli/demo-command.ts` — either no longer name them or are in this
61
+ * package now. A name whose last first-party consumer outside the platform went
62
+ * with the move is surface parked against a future need, which is exactly what
63
+ * the paragraph above says a subpath is not a place for, and
64
+ * `test/unit/kernel/published-surface.test.ts` holds the barrel to it in both
65
+ * directions.
66
+ *
67
+ * `host-command.ts` is therefore reachable from outside at three names and not
68
+ * thirteen: the notice and the two composition-loader shapes, which
69
+ * `backend/src/demo/composition-loader.ts` imports because locating a tree's own
70
+ * composition stays that tree's (`operator-half.md` §1.1). `DEMO_HOST_COMMANDS`,
71
+ * `demoEntriesFrom`, `parseDemoVerb` and the rest have one consumer and it is
72
+ * `../cli/dispatch.ts`, one directory over inside this package, which reaches
73
+ * them by relative path and needs no address for them at all.
74
+ *
75
+ * Adding one back is not a breaking change and belongs to the merge request that
76
+ * brings it a consumer.
77
+ */
78
+ export { mustBeNonProduction, TEST_DATABASE_NAME_PATTERN } from './guard.js';
79
+ export { DEMO_RESET_SCOPE_REASON, DEMO_SEED_SCOPE_REASON } from './scope.js';
80
+ export { runDemo, type DemoComposition, type DemoCompositionResult } from './runner.js';
81
+ export { NO_DEMO_COMPOSITION_NOTICE, type DemoCompositionInput, type DemoCompositionLookup, } from './host-command.js';
82
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * The platform's demo-data layer (feature 113 Phase 0, D-209).
3
+ *
4
+ * Four things, and the split is the design rather than tidiness:
5
+ *
6
+ * - **`guard.ts`** — the production refusal, which must ship because a client
7
+ * running a demo seed against production is what it prevents (spec §7).
8
+ * - **`scope.ts`** — the reasons the one system scope carries (§3.4).
9
+ * - **`plan.ts`** — which modules contribute and in what order, decidable with
10
+ * no database, with presence answered before any context exists (§3.5).
11
+ * - **`runner.ts` / `report.ts`** — the invocation and what an operator reads.
12
+ *
13
+ * ## `./demo`, a host-internal subpath of its own
14
+ *
15
+ * `specs/110-instance-repository/` T119b. This barrel had **no `exports` subpath
16
+ * at all**, and its own header said it was reached through
17
+ * `@endora-commerce/platform/composition` while the shim above it said the
18
+ * opposite in as many words — *"it is deliberately not on `./composition` … so
19
+ * this is the ordinary host-internal reach the other platform shims are, naming
20
+ * the built file directly"*. What was true of neither sentence: five application
21
+ * consumers reached `packages/platform/dist/demo/index.js` through a re-export
22
+ * shim, a specifier that resolves in this checkout and in no client's, which is
23
+ * the state `check:platform-surface`'s application half exists to refuse.
24
+ *
25
+ * The shim's reasoning — *"widening a ruling's table to save a shim would be a
26
+ * self-certified exemption issued by the party being measured"* — was right
27
+ * about `./composition`, and is answered by giving this directory an address of
28
+ * its own instead. It is **host-internal**, for `./composition`'s own reason: a
29
+ * module *declares* demo data through `@endora-commerce/contracts` and never
30
+ * names the runner, while the thing that runs one has already composed the
31
+ * platform. `PUBLISHED_SUBPATHS` is unchanged at five, and a module naming
32
+ * `@endora-commerce/platform/demo` is `host-internal-subpath` — refused.
33
+ *
34
+ * ## Why it carries less than it used to export
35
+ *
36
+ * What is on it is a **consequence**, not a ruling, so it is held to its
37
+ * consumers by `test/unit/kernel/published-surface.test.ts` in `./lifecycle`'s
38
+ * shape rather than `./composition`'s written table: *a name on the barrel that
39
+ * no first-party source outside the platform imports is surface parked against a
40
+ * future need*. Eighteen names were in exactly that state and left in the merge
41
+ * request that gave the directory an address — `planDemoRun`,
42
+ * `classifySeedTarget`, `createDemoPackageResolver`, the plan and run-result
43
+ * shapes among them. They were unreachable while there was no subpath, so
44
+ * nothing had ever asked for one of them by name; publishing them on the day the
45
+ * address arrives would park the directory's internals against a need nobody
46
+ * has. Adding one back is not a breaking change and belongs to the merge request
47
+ * that gives it a consumer.
48
+ *
49
+ * Nothing here imports a module, and the composition that does is a **parameter**
50
+ * (`DemoComposition`), which is what lets the runner live in the platform at all
51
+ * (§5.3, D-52/D-53).
52
+ *
53
+ * ## What `specs/123-oss-install-experience/` G2 took off it, and why that is
54
+ * the ratchet working rather than a regression
55
+ *
56
+ * Six names went — `formatDemoReport`, `unwrapDemoFailure`, `DemoManifestEntry`
57
+ * and `DemoMode`, and the whole of what `host-command.ts` would have added. G2
58
+ * moved the demo **dispatch** into `../cli/dispatch.ts`, so the files that used
59
+ * to import those six from outside the package — `backend/src/cli.ts` and
60
+ * `backend/src/cli/demo-command.ts` — either no longer name them or are in this
61
+ * package now. A name whose last first-party consumer outside the platform went
62
+ * with the move is surface parked against a future need, which is exactly what
63
+ * the paragraph above says a subpath is not a place for, and
64
+ * `test/unit/kernel/published-surface.test.ts` holds the barrel to it in both
65
+ * directions.
66
+ *
67
+ * `host-command.ts` is therefore reachable from outside at three names and not
68
+ * thirteen: the notice and the two composition-loader shapes, which
69
+ * `backend/src/demo/composition-loader.ts` imports because locating a tree's own
70
+ * composition stays that tree's (`operator-half.md` §1.1). `DEMO_HOST_COMMANDS`,
71
+ * `demoEntriesFrom`, `parseDemoVerb` and the rest have one consumer and it is
72
+ * `../cli/dispatch.ts`, one directory over inside this package, which reaches
73
+ * them by relative path and needs no address for them at all.
74
+ *
75
+ * Adding one back is not a breaking change and belongs to the merge request that
76
+ * brings it a consumer.
77
+ */
78
+ export { mustBeNonProduction, TEST_DATABASE_NAME_PATTERN } from './guard.js';
79
+ export { DEMO_RESET_SCOPE_REASON, DEMO_SEED_SCOPE_REASON } from './scope.js';
80
+ export { runDemo } from './runner.js';
81
+ export { NO_DEMO_COMPOSITION_NOTICE, } from './host-command.js';
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAoD,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,GAG3B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { ModuleDemoManifest } from '@endora-commerce/contracts';
2
+ /**
3
+ * How the runner finds a module's demo package, in two steps (§6.4).
4
+ *
5
+ * Injected rather than reached for, so the three answers §6.3 requires are
6
+ * assertable with no package on disk — the same reason `isPresent` and
7
+ * `contextFor` are parameters.
8
+ */
9
+ export interface DemoPackageResolver {
10
+ /**
11
+ * Is this package installed?
12
+ *
13
+ * Answered by resolution alone: it must not evaluate the package, because a
14
+ * package that throws on evaluation is §6.3's **third** answer and not its
15
+ * second.
16
+ */
17
+ isInstalled(name: string): boolean;
18
+ /**
19
+ * Load it.
20
+ *
21
+ * A throw here is a failure and is reported as one (§3.8). Nothing may catch
22
+ * it and report the package as absent.
23
+ */
24
+ load(name: string): Promise<unknown>;
25
+ }
26
+ /**
27
+ * The default resolver: Node's own resolution, from the instance's root.
28
+ *
29
+ * `from` is the directory whose `node_modules` the package is installed into —
30
+ * the **instance's**, not the platform's. A bare `import(name)` inside this
31
+ * package would resolve against `@endora-commerce/platform`'s own dependencies,
32
+ * where a client's demo package is not and must not be; a host that runs from
33
+ * somewhere other than the instance root passes its own `from`.
34
+ *
35
+ * The probe is `require.resolve`, which answers without evaluating, and the
36
+ * load is a real ESM `import()` of the path it returned. The bound is stated
37
+ * rather than discovered: for a **dual** CJS/ESM package `require.resolve`
38
+ * takes the `require` condition, so the file imported would be the CommonJS
39
+ * one. Every package this repository generates declares a single `default`
40
+ * condition per subpath, so the two coincide — measured over every module
41
+ * package's own manifest in this repository.
42
+ */
43
+ export declare function createDemoPackageResolver(from?: string): DemoPackageResolver;
44
+ /**
45
+ * A demo package that loaded but does not carry a demo body.
46
+ *
47
+ * Its own error rather than a `TypeError` from the first call, because the two
48
+ * are indistinguishable to an operator and only one of them names the field to
49
+ * fix. It reaches the report as {@link DemoRunFailedError}'s `cause`, so §3.8's
50
+ * *"naming the module"* holds for it exactly as for a body that threw.
51
+ */
52
+ export declare class DemoPackageShapeError extends Error {
53
+ readonly moduleId: string;
54
+ readonly packageName: string;
55
+ constructor(moduleId: string, packageName: string, detail: string);
56
+ }
57
+ /**
58
+ * The demo body a loaded package supplies, or a refusal naming what is wrong.
59
+ *
60
+ * **`after` is deliberately not read from here.** Ordering is decided by
61
+ * `planDemoRun` from the *declarations*, before anything is loaded — that is
62
+ * the property that makes the plan decidable with no database and no module
63
+ * system — so a package's own `after` would arrive after the sequence it wants
64
+ * to change. The module's manifest keeps that field, as it keeps `package`.
65
+ */
66
+ export declare function demoBodyFromPackage(loaded: unknown, moduleId: string, packageName: string): ModuleDemoManifest<never>;
67
+ //# sourceMappingURL=packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/demo/packages.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,MAAsB,GAAG,mBAAmB,CAmB3F;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM;gBADnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAC5B,MAAM,EAAE,MAAM;CAUjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,kBAAkB,CAAC,KAAK,CAAC,CAwB3B"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * The escape hatch's resolution half (feature 113, T235 —
3
+ * `specs/113-module-owned-demo-data/contracts/module-demo-data-layer.md` §6).
4
+ *
5
+ * A module that would ship more demo data than the budget allows moves it into
6
+ * a package of its own and names that package in `demo.package`. This file is
7
+ * how the runner finds it, and it exists as a file of its own so that §6.4's
8
+ * two steps are two functions:
9
+ *
10
+ * > **§6.4** The runner MUST probe resolvability before importing, and MUST NOT
11
+ * > distinguish the two states by catching the import's throw.
12
+ *
13
+ * A single `try { await import(name) } catch { … }` that reads the throw as
14
+ * *not installed* answers both questions with one signal, so a demo package
15
+ * that is installed and **broken** reads as absent and the run continues
16
+ * quietly without it. That is
17
+ * the fail-open shape `check:port-catches` refuses one seam over, and it is the
18
+ * reason {@link DemoPackageResolver} has two methods rather than one.
19
+ *
20
+ * ## Why the name is not an `import` specifier, measured
21
+ *
22
+ * §6.2, and it is the whole reason this resolution is the runner's rather than
23
+ * the module's. A module package's `package.json` is generated
24
+ * (`backend/scripts/lib/module-package-manifest.ts`), and `peerNamesOf` records
25
+ * every specifier `namedSpecifiers` yields **with no filter on kind** — a walk
26
+ * that recognises `dynamic-import`. So a literal
27
+ * `await import('@endora-commerce/mod-<id>-demo')` written anywhere in the
28
+ * module's own sources is emitted as a **required** peer, and pnpm then installs
29
+ * the demo package for every client, which is the opposite of what the field is
30
+ * for. Both halves re-verified against those two files on 2026-09-09.
31
+ *
32
+ * The consequence is worth stating because it decides the shape below: since
33
+ * the module may not import the package, the module's own body cannot *use* it
34
+ * either. So the package supplies the demo body, and the declaration's own
35
+ * `seed` / `reset` are not called when it loads — §6.3's first row in its own
36
+ * words, *"the module's demo data is the package's"*.
37
+ */
38
+ import { createRequire } from 'node:module';
39
+ import { pathToFileURL } from 'node:url';
40
+ /**
41
+ * The default resolver: Node's own resolution, from the instance's root.
42
+ *
43
+ * `from` is the directory whose `node_modules` the package is installed into —
44
+ * the **instance's**, not the platform's. A bare `import(name)` inside this
45
+ * package would resolve against `@endora-commerce/platform`'s own dependencies,
46
+ * where a client's demo package is not and must not be; a host that runs from
47
+ * somewhere other than the instance root passes its own `from`.
48
+ *
49
+ * The probe is `require.resolve`, which answers without evaluating, and the
50
+ * load is a real ESM `import()` of the path it returned. The bound is stated
51
+ * rather than discovered: for a **dual** CJS/ESM package `require.resolve`
52
+ * takes the `require` condition, so the file imported would be the CommonJS
53
+ * one. Every package this repository generates declares a single `default`
54
+ * condition per subpath, so the two coincide — measured over every module
55
+ * package's own manifest in this repository.
56
+ */
57
+ export function createDemoPackageResolver(from = process.cwd()) {
58
+ const require = createRequire(pathToFileURL(`${from}/package.json`));
59
+ return {
60
+ isInstalled(name) {
61
+ // The one `catch` in this file, and it is not a classification: a
62
+ // resolution failure *is* the answer to "is this installed", and nothing
63
+ // about evaluation has happened yet. §6.3's third answer is decided by
64
+ // `load` throwing, one method down, where nothing catches it.
65
+ try {
66
+ require.resolve(name);
67
+ return true;
68
+ }
69
+ catch {
70
+ return false;
71
+ }
72
+ },
73
+ async load(name) {
74
+ return await import(pathToFileURL(require.resolve(name)).href);
75
+ },
76
+ };
77
+ }
78
+ /**
79
+ * A demo package that loaded but does not carry a demo body.
80
+ *
81
+ * Its own error rather than a `TypeError` from the first call, because the two
82
+ * are indistinguishable to an operator and only one of them names the field to
83
+ * fix. It reaches the report as {@link DemoRunFailedError}'s `cause`, so §3.8's
84
+ * *"naming the module"* holds for it exactly as for a body that threw.
85
+ */
86
+ export class DemoPackageShapeError extends Error {
87
+ moduleId;
88
+ packageName;
89
+ constructor(moduleId, packageName, detail) {
90
+ super(`[demo] module '${moduleId}' names '${packageName}' in \`demo.package\`, and that ` +
91
+ `package ${detail}. A demo package exports \`demo\`: an object with a \`summary\` ` +
92
+ 'string and \`seed\` and \`reset\` functions, the same shape a module declares in ' +
93
+ 'its own `manifest.ts`.');
94
+ this.moduleId = moduleId;
95
+ this.packageName = packageName;
96
+ this.name = 'DemoPackageShapeError';
97
+ }
98
+ }
99
+ /**
100
+ * The demo body a loaded package supplies, or a refusal naming what is wrong.
101
+ *
102
+ * **`after` is deliberately not read from here.** Ordering is decided by
103
+ * `planDemoRun` from the *declarations*, before anything is loaded — that is
104
+ * the property that makes the plan decidable with no database and no module
105
+ * system — so a package's own `after` would arrive after the sequence it wants
106
+ * to change. The module's manifest keeps that field, as it keeps `package`.
107
+ */
108
+ export function demoBodyFromPackage(loaded, moduleId, packageName) {
109
+ if (typeof loaded !== 'object' || loaded === null || !('demo' in loaded)) {
110
+ return refuse(moduleId, packageName, 'exports no `demo`');
111
+ }
112
+ const demo = loaded.demo;
113
+ if (typeof demo !== 'object' || demo === null) {
114
+ return refuse(moduleId, packageName, 'exports a `demo` that is not an object');
115
+ }
116
+ const candidate = demo;
117
+ if (typeof candidate.summary !== 'string' || candidate.summary.length === 0) {
118
+ return refuse(moduleId, packageName, 'exports a `demo` with no `summary`');
119
+ }
120
+ if (typeof candidate.seed !== 'function' || typeof candidate.reset !== 'function') {
121
+ return refuse(moduleId, packageName, 'exports a `demo` whose `seed` or `reset` is not a function');
122
+ }
123
+ return {
124
+ summary: candidate.summary,
125
+ seed: candidate.seed,
126
+ reset: candidate.reset,
127
+ };
128
+ }
129
+ function refuse(moduleId, packageName, detail) {
130
+ throw new DemoPackageShapeError(moduleId, packageName, detail);
131
+ }
132
+ //# sourceMappingURL=packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/demo/packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA4BzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe,OAAO,CAAC,GAAG,EAAE;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC;IACrE,OAAO;QACL,WAAW,CAAC,IAAI;YACd,kEAAkE;YAClE,yEAAyE;YACzE,uEAAuE;YACvE,8DAA8D;YAC9D,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI;YACb,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAEnC;IACA;IAFX,YACW,QAAgB,EAChB,WAAmB,EAC5B,MAAc;QAEd,KAAK,CACH,kBAAkB,QAAQ,YAAY,WAAW,kCAAkC;YACjF,WAAW,MAAM,kEAAkE;YACnF,mFAAmF;YACnF,wBAAwB,CAC3B,CAAC;QATO,aAAQ,GAAR,QAAQ,CAAQ;QAChB,gBAAW,GAAX,WAAW,CAAQ;QAS5B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAe,EACf,QAAgB,EAChB,WAAmB;IAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,GAAI,MAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,wCAAwC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,SAAS,GAAG,IAA0C,CAAC;IAC7D,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,oCAAoC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAClF,OAAO,MAAM,CACX,QAAQ,EACR,WAAW,EACX,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,KAAK;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB,EAAE,WAAmB,EAAE,MAAc;IACnE,MAAM,IAAI,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}