@open-mercato/cli 0.6.8-develop.6984.1.f0cf23f0f6 → 0.6.8-develop.6986.1.3adb0d0df6

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 (146) hide show
  1. package/.turbo/turbo-build.log +11 -1
  2. package/dist/agentic/guides/module-facts.json +8739 -5654
  3. package/dist/agentic/guides/module-facts.v2.json +8738 -5653
  4. package/dist/agentic/guides/modules/ai_assistant/index.md +1 -1
  5. package/dist/agentic/guides/modules/api_docs/index.md +1 -1
  6. package/dist/agentic/guides/modules/api_keys/index.md +1 -1
  7. package/dist/agentic/guides/modules/attachments/index.md +1 -1
  8. package/dist/agentic/guides/modules/audit_logs/index.md +1 -1
  9. package/dist/agentic/guides/modules/auth/index.md +1 -1
  10. package/dist/agentic/guides/modules/business_rules/index.md +1 -1
  11. package/dist/agentic/guides/modules/catalog/index.md +1 -1
  12. package/dist/agentic/guides/modules/channel_apns/acl-features.md +12 -0
  13. package/dist/agentic/guides/modules/channel_apns/contribution-resolutions.md +12 -0
  14. package/dist/agentic/guides/modules/channel_apns/di-registrations-rich.md +12 -0
  15. package/dist/agentic/guides/modules/channel_apns/exact-override-targets.md +17 -0
  16. package/dist/agentic/guides/modules/channel_apns/index.md +18 -0
  17. package/dist/agentic/guides/modules/channel_apns/owned-contract-module-metadata.md +11 -0
  18. package/dist/agentic/guides/modules/channel_apns/setup.md +11 -0
  19. package/dist/agentic/guides/modules/channel_apns/umes-contributions.md +12 -0
  20. package/dist/agentic/guides/modules/channel_expo/acl-features.md +12 -0
  21. package/dist/agentic/guides/modules/channel_expo/contribution-resolutions.md +12 -0
  22. package/dist/agentic/guides/modules/channel_expo/di-registrations-rich.md +12 -0
  23. package/dist/agentic/guides/modules/channel_expo/exact-override-targets.md +17 -0
  24. package/dist/agentic/guides/modules/channel_expo/index.md +18 -0
  25. package/dist/agentic/guides/modules/channel_expo/owned-contract-module-metadata.md +11 -0
  26. package/dist/agentic/guides/modules/channel_expo/setup.md +11 -0
  27. package/dist/agentic/guides/modules/channel_expo/umes-contributions.md +12 -0
  28. package/dist/agentic/guides/modules/channel_fcm/acl-features.md +12 -0
  29. package/dist/agentic/guides/modules/channel_fcm/contribution-resolutions.md +12 -0
  30. package/dist/agentic/guides/modules/channel_fcm/di-registrations-rich.md +12 -0
  31. package/dist/agentic/guides/modules/channel_fcm/exact-override-targets.md +17 -0
  32. package/dist/agentic/guides/modules/channel_fcm/index.md +18 -0
  33. package/dist/agentic/guides/modules/channel_fcm/owned-contract-module-metadata.md +11 -0
  34. package/dist/agentic/guides/modules/channel_fcm/setup.md +11 -0
  35. package/dist/agentic/guides/modules/channel_fcm/umes-contributions.md +12 -0
  36. package/dist/agentic/guides/modules/channel_gmail/index.md +1 -1
  37. package/dist/agentic/guides/modules/channel_imap/index.md +1 -1
  38. package/dist/agentic/guides/modules/checkout/index.md +1 -1
  39. package/dist/agentic/guides/modules/communication_channels/acl-features.md +2 -1
  40. package/dist/agentic/guides/modules/communication_channels/active-extension-bindings.md +1 -0
  41. package/dist/agentic/guides/modules/communication_channels/domain-commands.md +1 -0
  42. package/dist/agentic/guides/modules/communication_channels/exact-override-targets.md +1 -0
  43. package/dist/agentic/guides/modules/communication_channels/incoming-installed-contributions.md +3 -0
  44. package/dist/agentic/guides/modules/communication_channels/index.md +3 -3
  45. package/dist/agentic/guides/modules/configs/index.md +1 -1
  46. package/dist/agentic/guides/modules/content/index.md +1 -1
  47. package/dist/agentic/guides/modules/currencies/index.md +1 -1
  48. package/dist/agentic/guides/modules/customer_accounts/index.md +1 -1
  49. package/dist/agentic/guides/modules/customers/index.md +1 -1
  50. package/dist/agentic/guides/modules/dashboards/index.md +1 -1
  51. package/dist/agentic/guides/modules/data_sync/index.md +1 -1
  52. package/dist/agentic/guides/modules/design_system/index.md +1 -1
  53. package/dist/agentic/guides/modules/devices/acl-features.md +13 -0
  54. package/dist/agentic/guides/modules/devices/active-extension-bindings.md +11 -0
  55. package/dist/agentic/guides/modules/devices/backend-pages.md +13 -0
  56. package/dist/agentic/guides/modules/devices/di-registrations-rich.md +11 -0
  57. package/dist/agentic/guides/modules/devices/domain-commands.md +13 -0
  58. package/dist/agentic/guides/modules/devices/encryption.md +11 -0
  59. package/dist/agentic/guides/modules/devices/entities.md +11 -0
  60. package/dist/agentic/guides/modules/devices/events.md +15 -0
  61. package/dist/agentic/guides/modules/devices/exact-override-targets.md +19 -0
  62. package/dist/agentic/guides/modules/devices/host-extension-points.md +10 -0
  63. package/dist/agentic/guides/modules/devices/index.md +24 -0
  64. package/dist/agentic/guides/modules/devices/owned-contract-module-metadata.md +11 -0
  65. package/dist/agentic/guides/modules/devices/setup.md +11 -0
  66. package/dist/agentic/guides/modules/devices/umes-hosts.md +17 -0
  67. package/dist/agentic/guides/modules/dictionaries/index.md +1 -1
  68. package/dist/agentic/guides/modules/directory/index.md +1 -1
  69. package/dist/agentic/guides/modules/entities/index.md +1 -1
  70. package/dist/agentic/guides/modules/eudr/index.md +1 -1
  71. package/dist/agentic/guides/modules/events/index.md +1 -1
  72. package/dist/agentic/guides/modules/feature_toggles/index.md +1 -1
  73. package/dist/agentic/guides/modules/gateway_stripe/index.md +1 -1
  74. package/dist/agentic/guides/modules/generators/index.md +1 -1
  75. package/dist/agentic/guides/modules/inbox_ops/index.md +1 -1
  76. package/dist/agentic/guides/modules/integrations/index.md +1 -1
  77. package/dist/agentic/guides/modules/messages/index.md +1 -1
  78. package/dist/agentic/guides/modules/notifications/acl-features.md +3 -1
  79. package/dist/agentic/guides/modules/notifications/backend-pages.md +2 -0
  80. package/dist/agentic/guides/modules/notifications/contribution-resolutions.md +11 -0
  81. package/dist/agentic/guides/modules/notifications/di-registrations-rich.md +2 -1
  82. package/dist/agentic/guides/modules/notifications/di-service-tokens.md +2 -1
  83. package/dist/agentic/guides/modules/notifications/entities.md +3 -0
  84. package/dist/agentic/guides/modules/notifications/exact-override-targets.md +9 -2
  85. package/dist/agentic/guides/modules/notifications/generator-plugins.md +12 -0
  86. package/dist/agentic/guides/modules/notifications/index.md +8 -5
  87. package/dist/agentic/guides/modules/notifications/setup.md +1 -1
  88. package/dist/agentic/guides/modules/notifications/umes-contributions.md +11 -0
  89. package/dist/agentic/guides/modules/notifications/umes-hosts.md +3 -0
  90. package/dist/agentic/guides/modules/onboarding/index.md +1 -1
  91. package/dist/agentic/guides/modules/payment_gateways/index.md +1 -1
  92. package/dist/agentic/guides/modules/perspectives/index.md +1 -1
  93. package/dist/agentic/guides/modules/planner/index.md +1 -1
  94. package/dist/agentic/guides/modules/portal/index.md +1 -1
  95. package/dist/agentic/guides/modules/progress/index.md +1 -1
  96. package/dist/agentic/guides/modules/push_notifications/acl-features.md +12 -0
  97. package/dist/agentic/guides/modules/push_notifications/backend-pages.md +13 -0
  98. package/dist/agentic/guides/modules/push_notifications/contribution-resolutions.md +12 -0
  99. package/dist/agentic/guides/modules/push_notifications/di-registrations-rich.md +12 -0
  100. package/dist/agentic/guides/modules/push_notifications/entities.md +11 -0
  101. package/dist/agentic/guides/modules/push_notifications/events.md +12 -0
  102. package/dist/agentic/guides/modules/push_notifications/exact-override-targets.md +21 -0
  103. package/dist/agentic/guides/modules/push_notifications/host-extension-points.md +10 -0
  104. package/dist/agentic/guides/modules/push_notifications/index.md +24 -0
  105. package/dist/agentic/guides/modules/push_notifications/owned-contract-module-metadata.md +11 -0
  106. package/dist/agentic/guides/modules/push_notifications/setup.md +11 -0
  107. package/dist/agentic/guides/modules/push_notifications/umes-contributions.md +12 -0
  108. package/dist/agentic/guides/modules/push_notifications/umes-hosts.md +13 -0
  109. package/dist/agentic/guides/modules/push_notifications/workers.md +12 -0
  110. package/dist/agentic/guides/modules/query_index/index.md +1 -1
  111. package/dist/agentic/guides/modules/record_locks/index.md +1 -1
  112. package/dist/agentic/guides/modules/resources/index.md +1 -1
  113. package/dist/agentic/guides/modules/sales/index.md +1 -1
  114. package/dist/agentic/guides/modules/scheduler/index.md +1 -1
  115. package/dist/agentic/guides/modules/search/index.md +1 -1
  116. package/dist/agentic/guides/modules/security/index.md +1 -1
  117. package/dist/agentic/guides/modules/shipping_carriers/index.md +1 -1
  118. package/dist/agentic/guides/modules/sso/index.md +1 -1
  119. package/dist/agentic/guides/modules/staff/index.md +1 -1
  120. package/dist/agentic/guides/modules/storage_s3/index.md +1 -1
  121. package/dist/agentic/guides/modules/sync_akeneo/index.md +1 -1
  122. package/dist/agentic/guides/modules/sync_excel/index.md +1 -1
  123. package/dist/agentic/guides/modules/system_status_overlays/index.md +1 -1
  124. package/dist/agentic/guides/modules/translations/index.md +1 -1
  125. package/dist/agentic/guides/modules/webhooks/index.md +1 -1
  126. package/dist/agentic/guides/modules/wms/index.md +1 -1
  127. package/dist/agentic/guides/modules/workflows/index.md +1 -1
  128. package/dist/agentic/guides/reference-module-facts.json +141 -3
  129. package/dist/agentic/guides/reference-modules/example/contribution-resolutions.md +2 -0
  130. package/dist/agentic/guides/reference-modules/example/exact-override-targets.md +2 -0
  131. package/dist/agentic/guides/reference-modules/example/index.md +2 -2
  132. package/dist/agentic/guides/reference-modules/example/notifications.md +2 -0
  133. package/dist/agentic/guides/reference-modules/example/umes-contributions.md +2 -0
  134. package/dist/agentic/guides/upstream/AGENTS.md +1 -1
  135. package/dist/agentic/guides/upstream/manifest.json +2 -2
  136. package/dist/agentic/shared/AGENTS.md.template +2 -2
  137. package/dist/agentic/shared/ai/harness/README.md +2 -2
  138. package/dist/agentic/shared/ai/harness/RELEASE.md +4 -4
  139. package/dist/agentic/shared/ai/harness/cases.json +175 -2
  140. package/dist/agentic/shared/ai/harness/cases.schema.json +4 -4
  141. package/dist/agentic/shared/ai/harness/validators.json +1 -1
  142. package/dist/lib/testing/integration.js +30 -0
  143. package/dist/lib/testing/integration.js.map +2 -2
  144. package/package.json +6 -6
  145. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +9 -3
  146. package/src/lib/testing/integration.ts +30 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/cli",
3
- "version": "0.6.8-develop.6984.1.f0cf23f0f6",
3
+ "version": "0.6.8-develop.6986.1.3adb0d0df6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -60,9 +60,9 @@
60
60
  "@mikro-orm/decorators": "^7.1.8",
61
61
  "@mikro-orm/migrations": "^7.1.8",
62
62
  "@mikro-orm/postgresql": "^7.1.8",
63
- "@open-mercato/queue": "0.6.8-develop.6984.1.f0cf23f0f6",
64
- "@open-mercato/shared": "0.6.8-develop.6984.1.f0cf23f0f6",
65
- "@open-mercato/telemetry": "0.6.8-develop.6984.1.f0cf23f0f6",
63
+ "@open-mercato/queue": "0.6.8-develop.6986.1.3adb0d0df6",
64
+ "@open-mercato/shared": "0.6.8-develop.6986.1.3adb0d0df6",
65
+ "@open-mercato/telemetry": "0.6.8-develop.6986.1.3adb0d0df6",
66
66
  "cross-spawn": "^7.0.6",
67
67
  "pg": "8.22.0",
68
68
  "semver": "^7.8.5",
@@ -73,10 +73,10 @@
73
73
  "typescript-js": "npm:typescript@6.0.3"
74
74
  },
75
75
  "peerDependencies": {
76
- "@open-mercato/shared": "0.6.8-develop.6984.1.f0cf23f0f6"
76
+ "@open-mercato/shared": "0.6.8-develop.6986.1.3adb0d0df6"
77
77
  },
78
78
  "devDependencies": {
79
- "@open-mercato/shared": "0.6.8-develop.6984.1.f0cf23f0f6",
79
+ "@open-mercato/shared": "0.6.8-develop.6986.1.3adb0d0df6",
80
80
  "@types/jest": "^30.0.0",
81
81
  "jest": "^30.4.2",
82
82
  "ts-jest": "^29.4.12"
@@ -123,8 +123,9 @@ describe('module-facts BC resolve guard (T2)', () => {
123
123
  // copied provenance payloads. The cap also covers the newly reachable
124
124
  // framework-host activations (dashboard/menu/notification contributions now
125
125
  // resolve as bound instead of silently falling back to capability-only).
126
- // This is a blow-up detector, not a performance target. It measures CPU time
127
- // for a whole-repo extraction, and CPU time for fixed work varies with the
126
+ //
127
+ // The CPU bound is a blow-up detector, not a performance target. It measures CPU
128
+ // time for a whole-repo extraction, and CPU time for fixed work varies with the
128
129
  // machine: the same extraction measures ~7.3s on a developer workstation and
129
130
  // ~30.0s on a CI runner. At the previous 30s cap CI sat exactly on the line
130
131
  // (an observed failure at 30,052.8ms), so the guard could not tell a genuine
@@ -141,7 +142,12 @@ describe('module-facts BC resolve guard (T2)', () => {
141
142
  // ~28KB, which is the fix working, not drift.
142
143
  // The additive EUDR module contributes its real routes, ACL, events,
143
144
  // entities, and extension surfaces without changing the extraction shape.
144
- expect(Buffer.byteLength(completeJson)).toBeLessThan(3_750_000)
145
+ //
146
+ // JSON cap raised a fifth time by the devices/push-notifications stack: the
147
+ // `devices` and `push_notifications` modules plus the `channel-fcm`,
148
+ // `channel-apns` and `channel-expo` provider packages add their own facts,
149
+ // provenance entries and override targets to every render.
150
+ expect(Buffer.byteLength(completeJson)).toBeLessThan(3_850_000)
145
151
  expect(Buffer.byteLength(completeJson) - Buffer.byteLength(legacyJson)).toBeLessThan(1_800_000)
146
152
  // Markdown cap raised with the source-link contract: entities, events, ACL
147
153
  // features, DI tokens, search entities, notifications, UMES hosts and UMES
@@ -1972,6 +1972,18 @@ function buildReusableEnvironment(
1972
1972
  OM_TEST_MODE: '1',
1973
1973
  OM_TEST_EMAIL_CAPTURE_PATH: EPHEMERAL_EMAIL_CAPTURE_PATH,
1974
1974
  OM_TEST_AUTH_RATE_LIMIT_MODE: 'opt-in',
1975
+ // Register the test-only `push_stub` channel adapter in the reused Playwright
1976
+ // process (and any drain/worker child it spawns) so push integration specs can
1977
+ // drive real delivery. Production-safe + inert unless a delivery row carries
1978
+ // `provider='push_stub'`. Mirrors the fresh-environment app server env below.
1979
+ OM_ENABLE_PUSH_STUB_ADAPTER: process.env.OM_ENABLE_PUSH_STUB_ADAPTER ?? '1',
1980
+ // Swap the FCM/APNs/Expo SDK clients for network-free fakes so the REAL provider
1981
+ // adapters run end-to-end. Unlike `push_stub` (which replaces the whole adapter),
1982
+ // this replaces only each SDK client. Mirrors the fresh-environment env below.
1983
+ OM_PUSH_FAKE_PROVIDERS: process.env.OM_PUSH_FAKE_PROVIDERS ?? '1',
1984
+ // Expo's receipt reaper ignores rows younger than 15 minutes by default, which no
1985
+ // integration test can wait out. Poll immediately instead.
1986
+ OM_PUSH_RECEIPT_MIN_AGE_MINUTES: process.env.OM_PUSH_RECEIPT_MIN_AGE_MINUTES ?? '0',
1975
1987
  // Tests assert on access_logs immediately after CRUD reads; keep the
1976
1988
  // blocking write path on inside the integration runtime so tests do
1977
1989
  // not have to call flushPendingCrudAccessLogs() explicitly.
@@ -3332,6 +3344,24 @@ export async function startEphemeralEnvironment(options: EphemeralRuntimeOptions
3332
3344
  OM_TEST_MODE: '1',
3333
3345
  OM_TEST_EMAIL_CAPTURE_PATH: EPHEMERAL_EMAIL_CAPTURE_PATH,
3334
3346
  OM_TEST_AUTH_RATE_LIMIT_MODE: 'opt-in',
3347
+ // Register the network-free `push_stub` channel adapter so push integration
3348
+ // specs (TC-PUSH-003) can drive the strategy → delivery-row → send-push worker
3349
+ // → sendMessage chain end-to-end without a real FCM/APNs/Expo provider. The
3350
+ // adapter is production-safe (registered only under this flag) and inert unless
3351
+ // a delivery row carries `provider='push_stub'` — i.e. a test seeded a matching
3352
+ // push channel + device. Applies to the app server, the Playwright process, and
3353
+ // any drain/worker child that inherits this environment.
3354
+ OM_ENABLE_PUSH_STUB_ADAPTER: process.env.OM_ENABLE_PUSH_STUB_ADAPTER ?? '1',
3355
+ // Swap the FCM/APNs/Expo SDK clients for network-free fakes (TC-CHANNEL-PUSH-005+) so the REAL
3356
+ // provider adapters — native message construction, credential parsing, client caching, and every
3357
+ // error → `device_unregistered` mapping — run end-to-end without live keys. Unlike
3358
+ // `push_stub`, which replaces the whole adapter, this replaces only each SDK client, and is
3359
+ // registered only under this flag. Applies to the app server, the Playwright process, and any
3360
+ // drain/worker child that inherits this environment.
3361
+ OM_PUSH_FAKE_PROVIDERS: process.env.OM_PUSH_FAKE_PROVIDERS ?? '1',
3362
+ // Expo's receipt reaper ignores rows younger than 15 minutes by default (it polls a real
3363
+ // provider's async receipts). No integration test can wait that out — poll immediately.
3364
+ OM_PUSH_RECEIPT_MIN_AGE_MINUTES: process.env.OM_PUSH_RECEIPT_MIN_AGE_MINUTES ?? '0',
3335
3365
  OM_DISABLE_EMAIL_DELIVERY: '1',
3336
3366
  OM_WEBHOOKS_ALLOW_PRIVATE_URLS: process.env.OM_WEBHOOKS_ALLOW_PRIVATE_URLS ?? '1',
3337
3367
  // Read at build time as well as at runtime, so this block has to carry it: