@open-mercato/cli 0.10.1-develop.7994.1.c9f31972aa → 0.10.1-develop.8022.1.b6753de892

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 (125) hide show
  1. package/build.mjs +1 -0
  2. package/dist/agentic/guides/module-facts.json +162 -162
  3. package/dist/agentic/guides/module-facts.v2.json +162 -162
  4. package/dist/agentic/guides/modules/agent_orchestrator/index.md +1 -1
  5. package/dist/agentic/guides/modules/ai_assistant/index.md +1 -1
  6. package/dist/agentic/guides/modules/api_docs/index.md +1 -1
  7. package/dist/agentic/guides/modules/api_keys/index.md +1 -1
  8. package/dist/agentic/guides/modules/attachments/index.md +1 -1
  9. package/dist/agentic/guides/modules/audit_logs/index.md +1 -1
  10. package/dist/agentic/guides/modules/auth/index.md +1 -1
  11. package/dist/agentic/guides/modules/availability/index.md +1 -1
  12. package/dist/agentic/guides/modules/business_rules/index.md +1 -1
  13. package/dist/agentic/guides/modules/carrier_inpost/index.md +1 -1
  14. package/dist/agentic/guides/modules/cart/index.md +1 -1
  15. package/dist/agentic/guides/modules/catalog/index.md +1 -1
  16. package/dist/agentic/guides/modules/channel_apns/index.md +1 -1
  17. package/dist/agentic/guides/modules/channel_discord/index.md +1 -1
  18. package/dist/agentic/guides/modules/channel_expo/index.md +1 -1
  19. package/dist/agentic/guides/modules/channel_fcm/index.md +1 -1
  20. package/dist/agentic/guides/modules/channel_gmail/index.md +1 -1
  21. package/dist/agentic/guides/modules/channel_imap/index.md +1 -1
  22. package/dist/agentic/guides/modules/channel_resend/index.md +1 -1
  23. package/dist/agentic/guides/modules/channel_ses/index.md +1 -1
  24. package/dist/agentic/guides/modules/channel_smtp/index.md +1 -1
  25. package/dist/agentic/guides/modules/checkout/index.md +1 -1
  26. package/dist/agentic/guides/modules/communication_channels/index.md +1 -1
  27. package/dist/agentic/guides/modules/configs/index.md +1 -1
  28. package/dist/agentic/guides/modules/content/index.md +1 -1
  29. package/dist/agentic/guides/modules/currencies/index.md +1 -1
  30. package/dist/agentic/guides/modules/customer_accounts/index.md +1 -1
  31. package/dist/agentic/guides/modules/customer_groups/index.md +1 -1
  32. package/dist/agentic/guides/modules/customers/index.md +1 -1
  33. package/dist/agentic/guides/modules/dashboards/index.md +1 -1
  34. package/dist/agentic/guides/modules/data_sync/index.md +1 -1
  35. package/dist/agentic/guides/modules/design_system/index.md +1 -1
  36. package/dist/agentic/guides/modules/devices/index.md +1 -1
  37. package/dist/agentic/guides/modules/dictionaries/index.md +1 -1
  38. package/dist/agentic/guides/modules/directory/index.md +1 -1
  39. package/dist/agentic/guides/modules/documents/index.md +1 -1
  40. package/dist/agentic/guides/modules/ecommerce/index.md +1 -1
  41. package/dist/agentic/guides/modules/entities/index.md +1 -1
  42. package/dist/agentic/guides/modules/eudr/index.md +1 -1
  43. package/dist/agentic/guides/modules/events/index.md +1 -1
  44. package/dist/agentic/guides/modules/feature_toggles/index.md +1 -1
  45. package/dist/agentic/guides/modules/forms/index.md +1 -1
  46. package/dist/agentic/guides/modules/gateway_autopay/index.md +1 -1
  47. package/dist/agentic/guides/modules/gateway_stripe/index.md +1 -1
  48. package/dist/agentic/guides/modules/gateway_tpay/index.md +1 -1
  49. package/dist/agentic/guides/modules/generators/index.md +1 -1
  50. package/dist/agentic/guides/modules/inbox_ops/index.md +1 -1
  51. package/dist/agentic/guides/modules/integrations/index.md +1 -1
  52. package/dist/agentic/guides/modules/messages/index.md +1 -1
  53. package/dist/agentic/guides/modules/notifications/index.md +1 -1
  54. package/dist/agentic/guides/modules/onboarding/index.md +1 -1
  55. package/dist/agentic/guides/modules/payment_gateways/index.md +1 -1
  56. package/dist/agentic/guides/modules/perspectives/index.md +1 -1
  57. package/dist/agentic/guides/modules/phone_calls/index.md +1 -1
  58. package/dist/agentic/guides/modules/planner/index.md +1 -1
  59. package/dist/agentic/guides/modules/portal/index.md +1 -1
  60. package/dist/agentic/guides/modules/progress/index.md +1 -1
  61. package/dist/agentic/guides/modules/promotions/index.md +1 -1
  62. package/dist/agentic/guides/modules/push_notifications/index.md +1 -1
  63. package/dist/agentic/guides/modules/query_index/index.md +1 -1
  64. package/dist/agentic/guides/modules/record_locks/index.md +1 -1
  65. package/dist/agentic/guides/modules/resources/index.md +1 -1
  66. package/dist/agentic/guides/modules/sales/index.md +1 -1
  67. package/dist/agentic/guides/modules/scheduler/index.md +1 -1
  68. package/dist/agentic/guides/modules/search/index.md +1 -1
  69. package/dist/agentic/guides/modules/security/index.md +1 -1
  70. package/dist/agentic/guides/modules/seeds/index.md +1 -1
  71. package/dist/agentic/guides/modules/shipping_carriers/index.md +1 -1
  72. package/dist/agentic/guides/modules/sso/index.md +1 -1
  73. package/dist/agentic/guides/modules/staff/index.md +1 -1
  74. package/dist/agentic/guides/modules/storage_s3/index.md +1 -1
  75. package/dist/agentic/guides/modules/sync_akeneo/index.md +1 -1
  76. package/dist/agentic/guides/modules/sync_excel/index.md +1 -1
  77. package/dist/agentic/guides/modules/system_status_overlays/index.md +1 -1
  78. package/dist/agentic/guides/modules/telemetry/index.md +1 -1
  79. package/dist/agentic/guides/modules/tillio/index.md +1 -1
  80. package/dist/agentic/guides/modules/translations/index.md +1 -1
  81. package/dist/agentic/guides/modules/warranty_claims/index.md +1 -1
  82. package/dist/agentic/guides/modules/webhooks/index.md +1 -1
  83. package/dist/agentic/guides/modules/wms/index.md +1 -1
  84. package/dist/agentic/guides/modules/workflows/index.md +1 -1
  85. package/dist/agentic/guides/reference-module-facts.json +1 -1
  86. package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +8 -0
  87. package/dist/agentic/guides/upstream/manifest.json +2 -2
  88. package/dist/agentic/shared/ai/harness/cases.json +2 -2
  89. package/dist/agentic/shared/ai/trackers/github.md +257 -2
  90. package/dist/agentic/shared/scripts/execution-sandbox.mjs +1 -0
  91. package/dist/i18n/de.json +4 -0
  92. package/dist/i18n/en.json +4 -0
  93. package/dist/i18n/es.json +4 -0
  94. package/dist/i18n/ko.json +4 -0
  95. package/dist/i18n/pl.json +4 -0
  96. package/dist/lib/__fixtures__/module-search/built-in.json +235 -0
  97. package/dist/lib/__fixtures__/module-search/catalog-parity.json +4076 -0
  98. package/dist/lib/__fixtures__/module-search/modules-index.json +1980 -0
  99. package/dist/lib/__fixtures__/official-module-package/package.json +33 -0
  100. package/dist/lib/generators/openapi.js +7 -2
  101. package/dist/lib/generators/openapi.js.map +2 -2
  102. package/dist/lib/init-secrets.js +33 -1
  103. package/dist/lib/init-secrets.js.map +2 -2
  104. package/dist/lib/telemetry-init.js +1 -1
  105. package/dist/lib/telemetry-init.js.map +1 -1
  106. package/dist/lib/testing/integration.js +22 -0
  107. package/dist/lib/testing/integration.js.map +2 -2
  108. package/dist/mercato.js +3 -14
  109. package/dist/mercato.js.map +2 -2
  110. package/package.json +7 -7
  111. package/src/__tests__/mercato.test.ts +57 -0
  112. package/src/i18n/de.json +4 -0
  113. package/src/i18n/en.json +4 -0
  114. package/src/i18n/es.json +4 -0
  115. package/src/i18n/ko.json +4 -0
  116. package/src/i18n/pl.json +4 -0
  117. package/src/lib/__tests__/init-secrets.test.ts +85 -1
  118. package/src/lib/__tests__/telemetry-init.test.ts +1 -1
  119. package/src/lib/generators/__tests__/openapi.test.ts +24 -0
  120. package/src/lib/generators/openapi.ts +7 -2
  121. package/src/lib/init-secrets.ts +37 -0
  122. package/src/lib/telemetry-init.ts +1 -1
  123. package/src/lib/testing/__tests__/integration.test.ts +24 -0
  124. package/src/lib/testing/integration.ts +23 -0
  125. package/src/mercato.ts +4 -20
@@ -0,0 +1,1980 @@
1
+ {
2
+ "$schema": "https://modules.openmercato.com/schema/modules-1.json",
3
+ "schemaVersion": 1,
4
+ "generatedAt": "2026-10-23T03:05:00Z",
5
+ "dataVersion": "1.0.0-202610230305.ha3da99",
6
+ "site": "https://modules.openmercato.com",
7
+ "dataAsOf": {
8
+ "nightly": "2026-10-23T02:17:00Z",
9
+ "npm": "2026-10-23T00:17:00Z"
10
+ },
11
+ "features": {
12
+ "cliSearch": false
13
+ },
14
+ "officialCoverage": {
15
+ "listed": 3,
16
+ "missing": []
17
+ },
18
+ "lines": [
19
+ {
20
+ "key": "0.9",
21
+ "version": "0.9.0",
22
+ "source": "latest",
23
+ "cadence": "nightly",
24
+ "baseline": {
25
+ "status": "verified",
26
+ "step": null,
27
+ "omVersion": "0.9.0",
28
+ "moduleVersion": null,
29
+ "at": "2026-10-23T02:17:00Z",
30
+ "receipt": "r_20261023_ab33b4e8d8a1",
31
+ "since": "2026-10-23",
32
+ "precheck": null,
33
+ "patches": [
34
+ "api-keys"
35
+ ]
36
+ }
37
+ },
38
+ {
39
+ "key": "0.8",
40
+ "version": "0.8.0",
41
+ "source": "previous",
42
+ "cadence": "weekly",
43
+ "baseline": null
44
+ },
45
+ {
46
+ "key": "next",
47
+ "version": "0.10.1-develop.7583.1.0c886d0a14",
48
+ "source": "develop",
49
+ "cadence": "nightly",
50
+ "baseline": {
51
+ "status": "verified",
52
+ "step": null,
53
+ "omVersion": "0.10.1-develop.7583.1.0c886d0a14",
54
+ "moduleVersion": null,
55
+ "at": "2026-10-23T02:17:00Z",
56
+ "receipt": "r_20261023_53a00a7b1ef8",
57
+ "since": "2026-10-23",
58
+ "precheck": null,
59
+ "patches": []
60
+ }
61
+ }
62
+ ],
63
+ "categories": [
64
+ {
65
+ "id": "crm-sales",
66
+ "title": "CRM & Sales",
67
+ "wedge": "sell",
68
+ "count": 1
69
+ },
70
+ {
71
+ "id": "catalog-pricing",
72
+ "title": "Catalog & Pricing",
73
+ "wedge": "sell",
74
+ "count": 0
75
+ },
76
+ {
77
+ "id": "orders-checkout",
78
+ "title": "Orders & Checkout",
79
+ "wedge": "sell",
80
+ "count": 0
81
+ },
82
+ {
83
+ "id": "marketing-loyalty",
84
+ "title": "Marketing & Loyalty",
85
+ "wedge": "sell",
86
+ "count": 1
87
+ },
88
+ {
89
+ "id": "warehouse-shipping",
90
+ "title": "Warehouse & Shipping",
91
+ "wedge": "operate",
92
+ "count": 0
93
+ },
94
+ {
95
+ "id": "operations",
96
+ "title": "Operations & Services",
97
+ "wedge": "operate",
98
+ "count": 0
99
+ },
100
+ {
101
+ "id": "payments-finance",
102
+ "title": "Payments & Finance",
103
+ "wedge": "money",
104
+ "count": 2
105
+ },
106
+ {
107
+ "id": "localization-compliance",
108
+ "title": "Localization & Compliance",
109
+ "wedge": "money",
110
+ "count": 1
111
+ },
112
+ {
113
+ "id": "integrations-sync",
114
+ "title": "Integrations & Data Sync",
115
+ "wedge": "connect",
116
+ "count": 1
117
+ },
118
+ {
119
+ "id": "communication",
120
+ "title": "Communication & Notifications",
121
+ "wedge": "connect",
122
+ "count": 0
123
+ },
124
+ {
125
+ "id": "ai-automation",
126
+ "title": "AI & Automation",
127
+ "wedge": "think",
128
+ "count": 0
129
+ },
130
+ {
131
+ "id": "search-analytics",
132
+ "title": "Search & Analytics",
133
+ "wedge": "think",
134
+ "count": 0
135
+ },
136
+ {
137
+ "id": "auth-security",
138
+ "title": "Auth & Security",
139
+ "wedge": "platform",
140
+ "count": 1
141
+ },
142
+ {
143
+ "id": "content-portal",
144
+ "title": "Content & Portal",
145
+ "wedge": "platform",
146
+ "count": 0
147
+ },
148
+ {
149
+ "id": "storage-infrastructure",
150
+ "title": "Storage & Infrastructure",
151
+ "wedge": "platform",
152
+ "count": 1
153
+ },
154
+ {
155
+ "id": "devtools",
156
+ "title": "Developer Tools",
157
+ "wedge": "platform",
158
+ "count": 0
159
+ }
160
+ ],
161
+ "counts": {
162
+ "entries": 8,
163
+ "listed": 8,
164
+ "modules": 8,
165
+ "verifiedOnLatest": 3,
166
+ "omQuality": 0,
167
+ "builtIn": 3
168
+ },
169
+ "builtIn": {
170
+ "coreVersion": "0.9.0",
171
+ "count": 3,
172
+ "href": "https://modules.openmercato.com/built-in.json"
173
+ },
174
+ "entries": [
175
+ {
176
+ "locator": "github:Chmarusso/open-mercato-enrichment-treg",
177
+ "path": "github/chmarusso/open-mercato-enrichment-treg",
178
+ "npm": null,
179
+ "github": "Chmarusso/open-mercato-enrichment-treg",
180
+ "repoPath": null,
181
+ "kind": "module",
182
+ "type": "3rd-party",
183
+ "enterprise": false,
184
+ "title": "treg.to Enrichment",
185
+ "summary": "Enriches companies with data from the Polish business register.",
186
+ "whenToUse": "Use when CRM company records need registry data looked up by tax number.",
187
+ "whenNotToUse": null,
188
+ "category": "crm-sales",
189
+ "tags": [],
190
+ "providers": [],
191
+ "moduleIds": [],
192
+ "requires": [],
193
+ "replaces": [],
194
+ "slotConflicts": [],
195
+ "renamedFrom": [],
196
+ "supersededBy": null,
197
+ "alternatives": [],
198
+ "status": "active",
199
+ "listed": true,
200
+ "featured": false,
201
+ "license": {
202
+ "spdx": "MIT",
203
+ "kind": "osi",
204
+ "mismatch": false
205
+ },
206
+ "version": {
207
+ "latest": null,
208
+ "preview": null,
209
+ "publishedAt": null,
210
+ "integrity": null,
211
+ "installableFrom": null,
212
+ "gitRef": null,
213
+ "recommended": {
214
+ "0.9": null,
215
+ "0.8": null,
216
+ "next": null
217
+ }
218
+ },
219
+ "identity": {
220
+ "builtFrom": "none",
221
+ "claimed": false,
222
+ "source": "github"
223
+ },
224
+ "compat": {
225
+ "builtFor": {
226
+ "range": null,
227
+ "kind": "missing",
228
+ "lines": []
229
+ },
230
+ "lines": {},
231
+ "verifiedOn": []
232
+ },
233
+ "anatomy": null,
234
+ "signals": {
235
+ "receipt": {
236
+ "0.9": "untested",
237
+ "0.8": "untested",
238
+ "next": "untested"
239
+ },
240
+ "fit": {
241
+ "0.9": "unknown",
242
+ "0.8": "unknown",
243
+ "next": "unknown"
244
+ },
245
+ "anatomy": "none",
246
+ "supplyChain": {
247
+ "status": "ok",
248
+ "reasons": []
249
+ },
250
+ "hygiene": {
251
+ "status": "ok",
252
+ "failing": []
253
+ },
254
+ "maintenance": {
255
+ "status": "current",
256
+ "lastRelease": "2026-10-08",
257
+ "catchUpDays": null
258
+ },
259
+ "declaredVsObserved": {
260
+ "status": "match",
261
+ "notes": []
262
+ }
263
+ },
264
+ "tier": "listed",
265
+ "quality": null,
266
+ "agentPolicy": {
267
+ "0.9": {
268
+ "decision": "refuse",
269
+ "reasons": [
270
+ {
271
+ "code": "UNPINNED_GIT",
272
+ "text": "GitHub source without a pinned tag."
273
+ },
274
+ {
275
+ "code": "THIRD_PARTY",
276
+ "text": "Third-party code runs with access to all tenants' data."
277
+ },
278
+ {
279
+ "code": "NOT_VERIFIED",
280
+ "text": "No receipt on 0.9 yet."
281
+ }
282
+ ]
283
+ },
284
+ "0.8": {
285
+ "decision": "refuse",
286
+ "reasons": [
287
+ {
288
+ "code": "UNPINNED_GIT",
289
+ "text": "GitHub source without a pinned tag."
290
+ },
291
+ {
292
+ "code": "THIRD_PARTY",
293
+ "text": "Third-party code runs with access to all tenants' data."
294
+ },
295
+ {
296
+ "code": "NOT_VERIFIED",
297
+ "text": "No receipt on 0.8 yet."
298
+ }
299
+ ]
300
+ },
301
+ "next": {
302
+ "decision": "refuse",
303
+ "reasons": [
304
+ {
305
+ "code": "UNPINNED_GIT",
306
+ "text": "GitHub source without a pinned tag."
307
+ },
308
+ {
309
+ "code": "THIRD_PARTY",
310
+ "text": "Third-party code runs with access to all tenants' data."
311
+ },
312
+ {
313
+ "code": "NOT_VERIFIED",
314
+ "text": "No receipt on next yet."
315
+ }
316
+ ]
317
+ }
318
+ },
319
+ "install": {
320
+ "cli": "npx create-mercato-module install Chmarusso/open-mercato-enrichment-treg",
321
+ "cmm": "npx create-mercato-module install Chmarusso/open-mercato-enrichment-treg",
322
+ "needsAllowThirdParty": false,
323
+ "moduleFlag": null
324
+ },
325
+ "stats": {
326
+ "downloads30d": null,
327
+ "stars": 0
328
+ },
329
+ "sigil": {
330
+ "glyph": "0000000",
331
+ "phase": 343,
332
+ "publicRoutes": false
333
+ },
334
+ "links": {
335
+ "page": "https://modules.openmercato.com/m/github/chmarusso/open-mercato-enrichment-treg",
336
+ "md": "https://modules.openmercato.com/m/github/chmarusso/open-mercato-enrichment-treg.md",
337
+ "json": "https://modules.openmercato.com/m/github/chmarusso/open-mercato-enrichment-treg.json",
338
+ "facts": null,
339
+ "npm": null,
340
+ "repo": "https://github.com/Chmarusso/open-mercato-enrichment-treg",
341
+ "docs": null
342
+ },
343
+ "addedAt": "2026-10-23",
344
+ "updatedAt": "2026-10-23T03:05:00Z",
345
+ "_meta": {}
346
+ },
347
+ {
348
+ "locator": "npm:@fastwhitecat/integration-ksef-direct",
349
+ "path": "@fastwhitecat/integration-ksef-direct",
350
+ "npm": "@fastwhitecat/integration-ksef-direct",
351
+ "github": "FastWhiteCat/openmercato-module-ksef",
352
+ "repoPath": null,
353
+ "kind": "module",
354
+ "type": "3rd-party",
355
+ "enterprise": false,
356
+ "title": "KSeF Integration",
357
+ "summary": "Sends and receives Polish structured e-invoices through the KSeF API v2.",
358
+ "whenToUse": "Use when the app must issue or receive structured invoices in KSeF (Poland).",
359
+ "whenNotToUse": null,
360
+ "category": "localization-compliance",
361
+ "tags": [
362
+ "ksef",
363
+ "e-invoicing",
364
+ "poland"
365
+ ],
366
+ "providers": [
367
+ {
368
+ "name": "ksef",
369
+ "label": "KSeF"
370
+ }
371
+ ],
372
+ "moduleIds": [
373
+ "integration_ksef_direct"
374
+ ],
375
+ "requires": [
376
+ {
377
+ "raw": "integrations",
378
+ "resolvesTo": "core:integrations"
379
+ }
380
+ ],
381
+ "replaces": [],
382
+ "slotConflicts": [],
383
+ "renamedFrom": [
384
+ "npm:@fast-white-cat/integration-ksef-direct"
385
+ ],
386
+ "supersededBy": null,
387
+ "alternatives": [],
388
+ "status": "active",
389
+ "listed": true,
390
+ "featured": false,
391
+ "license": {
392
+ "spdx": "MIT",
393
+ "kind": "osi",
394
+ "mismatch": false
395
+ },
396
+ "version": {
397
+ "latest": "0.1.8",
398
+ "preview": null,
399
+ "publishedAt": "2026-10-15",
400
+ "integrity": "sha512-S/WTfqYPGCe4qSyCzAa6Fg+eMGdLd92HB09unoaqdgBgYBcp9YxQL63GDcq1kA7/wm8CokntXpg9l7jkt106RA==",
401
+ "installableFrom": "2026-10-20",
402
+ "gitRef": "df48a8c52904dc2cae6dabf3379f7076a7b319a5",
403
+ "recommended": {
404
+ "0.9": "0.1.8",
405
+ "0.8": null,
406
+ "next": "0.1.8"
407
+ }
408
+ },
409
+ "identity": {
410
+ "builtFrom": "verified",
411
+ "claimed": false,
412
+ "source": "npm"
413
+ },
414
+ "compat": {
415
+ "builtFor": {
416
+ "range": ">=0.7.0 <0.8.0",
417
+ "kind": "bounded",
418
+ "lines": []
419
+ },
420
+ "lines": {
421
+ "0.9": {
422
+ "status": "verified",
423
+ "step": null,
424
+ "omVersion": "0.9.0",
425
+ "moduleVersion": "0.1.8",
426
+ "at": "2026-10-23T02:17:00Z",
427
+ "receipt": "r_20261023_44221517d2f6",
428
+ "since": "2026-10-23",
429
+ "precheck": null,
430
+ "patches": [
431
+ "api-keys"
432
+ ]
433
+ },
434
+ "next": {
435
+ "status": "verified",
436
+ "step": null,
437
+ "omVersion": "0.10.1-develop.7583.1.0c886d0a14",
438
+ "moduleVersion": "0.1.8",
439
+ "at": "2026-10-23T02:17:00Z",
440
+ "receipt": "r_20261023_f1c31fd2f033",
441
+ "since": "2026-10-23",
442
+ "precheck": null,
443
+ "patches": []
444
+ }
445
+ },
446
+ "verifiedOn": [
447
+ "0.9",
448
+ "next"
449
+ ]
450
+ },
451
+ "anatomy": {
452
+ "version": "0.1.8",
453
+ "coverage": "full",
454
+ "counts": {
455
+ "entities": 3,
456
+ "tables": 3,
457
+ "migrations": 6,
458
+ "routes": 8,
459
+ "publicRoutes": 0,
460
+ "aclFeatures": 7,
461
+ "eventsEmitted": 9,
462
+ "eventsConsumed": 1,
463
+ "backendPages": 4,
464
+ "frontendPages": 0,
465
+ "widgets": 0,
466
+ "workers": 3,
467
+ "cli": 0,
468
+ "aiTools": 0,
469
+ "aiAgents": 0,
470
+ "extends": 0
471
+ },
472
+ "lists": {
473
+ "aclFeatures": [
474
+ "integration_ksef_direct.view",
475
+ "integration_ksef_direct.manage",
476
+ "integration_ksef_direct.documents.view",
477
+ "integration_ksef_direct.documents.create",
478
+ "integration_ksef_direct.documents.send",
479
+ "integration_ksef_direct.received_documents.view",
480
+ "integration_ksef_direct.received_documents.sync"
481
+ ],
482
+ "eventsEmitted": [
483
+ "ksef_direct.connection.connected",
484
+ "ksef_direct.connection.failed",
485
+ "ksef_direct.connection.checked",
486
+ "ksef_direct.document.created",
487
+ "ksef_direct.document.queued",
488
+ "ksef_direct.document.sent",
489
+ "ksef_direct.document.failed",
490
+ "ksef_direct.received_document.synced",
491
+ "ksef_direct.received_document.failed"
492
+ ],
493
+ "eventsConsumed": [
494
+ "ksef_direct.document.created"
495
+ ],
496
+ "env": [],
497
+ "hosts": [
498
+ "api-test.ksef.mf.gov.pl",
499
+ "api.ksef.mf.gov.pl"
500
+ ],
501
+ "tables": [
502
+ "ksef_direct_documents",
503
+ "ksef_direct_received_documents",
504
+ "ksef_direct_connections"
505
+ ],
506
+ "publicRoutes": [],
507
+ "credentials": [
508
+ {
509
+ "key": "ksef_token",
510
+ "type": "secret",
511
+ "required": true
512
+ },
513
+ {
514
+ "key": "nip",
515
+ "type": "text",
516
+ "required": true
517
+ },
518
+ {
519
+ "key": "environment",
520
+ "type": "select",
521
+ "required": true
522
+ }
523
+ ]
524
+ },
525
+ "callout": "ADDS 3 TABLES · 8 ROUTES (0 PUBLIC) · 7 PERMISSIONS · EMITS 9 EVENTS",
526
+ "diff": null
527
+ },
528
+ "signals": {
529
+ "receipt": {
530
+ "0.9": "verified",
531
+ "0.8": "untested",
532
+ "next": "verified"
533
+ },
534
+ "fit": {
535
+ "0.9": "ok",
536
+ "0.8": "ok",
537
+ "next": "ok"
538
+ },
539
+ "anatomy": "full",
540
+ "supplyChain": {
541
+ "status": "ok",
542
+ "reasons": []
543
+ },
544
+ "hygiene": {
545
+ "status": "warn",
546
+ "failing": [
547
+ "event-prefix"
548
+ ]
549
+ },
550
+ "maintenance": {
551
+ "status": "current",
552
+ "lastRelease": "2026-10-15",
553
+ "catchUpDays": null
554
+ },
555
+ "declaredVsObserved": {
556
+ "status": "mismatch",
557
+ "notes": [
558
+ "Built for no tested line; verified on 0.9, next."
559
+ ]
560
+ }
561
+ },
562
+ "tier": "verified",
563
+ "quality": null,
564
+ "agentPolicy": {
565
+ "0.9": {
566
+ "decision": "ask",
567
+ "reasons": [
568
+ {
569
+ "code": "THIRD_PARTY",
570
+ "text": "Third-party code runs with access to all tenants' data."
571
+ }
572
+ ],
573
+ "consentText": "Install @fastwhitecat/integration-ksef-direct@0.1.8"
574
+ },
575
+ "0.8": {
576
+ "decision": "ask",
577
+ "reasons": [
578
+ {
579
+ "code": "THIRD_PARTY",
580
+ "text": "Third-party code runs with access to all tenants' data."
581
+ },
582
+ {
583
+ "code": "NOT_VERIFIED",
584
+ "text": "No receipt on 0.8 yet."
585
+ }
586
+ ],
587
+ "consentText": "Install @fastwhitecat/integration-ksef-direct@0.1.8"
588
+ },
589
+ "next": {
590
+ "decision": "ask",
591
+ "reasons": [
592
+ {
593
+ "code": "THIRD_PARTY",
594
+ "text": "Third-party code runs with access to all tenants' data."
595
+ }
596
+ ],
597
+ "consentText": "Install @fastwhitecat/integration-ksef-direct@0.1.8"
598
+ }
599
+ },
600
+ "install": {
601
+ "cli": "yarn mercato module add @fastwhitecat/integration-ksef-direct@0.1.8 --allow-third-party",
602
+ "cmm": "npx create-mercato-module install @fastwhitecat/integration-ksef-direct@0.1.8",
603
+ "needsAllowThirdParty": true,
604
+ "moduleFlag": null
605
+ },
606
+ "stats": {
607
+ "downloads30d": 42,
608
+ "stars": 1
609
+ },
610
+ "sigil": {
611
+ "glyph": "2223200",
612
+ "phase": 224,
613
+ "publicRoutes": false
614
+ },
615
+ "links": {
616
+ "page": "https://modules.openmercato.com/m/@fastwhitecat/integration-ksef-direct",
617
+ "md": "https://modules.openmercato.com/m/@fastwhitecat/integration-ksef-direct.md",
618
+ "json": "https://modules.openmercato.com/m/@fastwhitecat/integration-ksef-direct.json",
619
+ "facts": "https://modules.openmercato.com/m/@fastwhitecat/integration-ksef-direct/v/0.1.8/facts.json",
620
+ "npm": "https://www.npmjs.com/package/@fastwhitecat/integration-ksef-direct",
621
+ "repo": "https://github.com/FastWhiteCat/openmercato-module-ksef",
622
+ "docs": null
623
+ },
624
+ "addedAt": "2026-10-23",
625
+ "updatedAt": "2026-10-23T03:05:00Z",
626
+ "_meta": {
627
+ "com.openmercato.modules/installable": {
628
+ "0.9": "0.1.8",
629
+ "0.8": "0.1.8",
630
+ "next": "0.1.8"
631
+ }
632
+ }
633
+ },
634
+ {
635
+ "locator": "npm:@fullstackhouse/open-mercato-data-sync-durable",
636
+ "path": "@fullstackhouse/open-mercato-data-sync-durable",
637
+ "npm": "@fullstackhouse/open-mercato-data-sync-durable",
638
+ "github": "fullstackhouse/open-mercato-durable",
639
+ "repoPath": null,
640
+ "kind": "module",
641
+ "type": "3rd-party",
642
+ "enterprise": false,
643
+ "title": "Durable Data Sync",
644
+ "summary": "Drop-in replacement for the built-in data_sync module on leased durable jobs.",
645
+ "whenToUse": "Use when long imports must survive worker restarts with lease and epoch fencing.",
646
+ "whenNotToUse": null,
647
+ "category": "integrations-sync",
648
+ "tags": [],
649
+ "providers": [],
650
+ "moduleIds": [
651
+ "data_sync"
652
+ ],
653
+ "requires": [
654
+ {
655
+ "raw": "@fullstackhouse/open-mercato-durable-work",
656
+ "resolvesTo": "npm:@fullstackhouse/open-mercato-durable-work"
657
+ }
658
+ ],
659
+ "replaces": [
660
+ "core:data_sync"
661
+ ],
662
+ "slotConflicts": [],
663
+ "renamedFrom": [],
664
+ "supersededBy": null,
665
+ "alternatives": [],
666
+ "status": "active",
667
+ "listed": true,
668
+ "featured": false,
669
+ "license": {
670
+ "spdx": "MIT",
671
+ "kind": "osi",
672
+ "mismatch": false
673
+ },
674
+ "version": {
675
+ "latest": "0.6.0",
676
+ "preview": null,
677
+ "publishedAt": "2026-09-17",
678
+ "integrity": "sha512-LJ8pmZjcEjdlX2yuDkmNADwyqbxzvpn7oRHXemr/gdhUf5A7sAvl48Cgz3HArXX5S8kXoiFFOVH2E+7H3kKS+w==",
679
+ "installableFrom": "2026-09-22",
680
+ "gitRef": "1bf9ada1b3e3bb9022b07684252b5aeaf23191b1",
681
+ "recommended": {
682
+ "0.9": null,
683
+ "0.8": null,
684
+ "next": null
685
+ }
686
+ },
687
+ "identity": {
688
+ "builtFrom": "verified",
689
+ "claimed": false,
690
+ "source": "npm"
691
+ },
692
+ "compat": {
693
+ "builtFor": {
694
+ "range": ">=0.7.0 <0.8.0",
695
+ "kind": "bounded",
696
+ "lines": []
697
+ },
698
+ "lines": {},
699
+ "verifiedOn": []
700
+ },
701
+ "anatomy": {
702
+ "version": "0.6.0",
703
+ "coverage": "full",
704
+ "counts": {
705
+ "entities": 0,
706
+ "tables": 0,
707
+ "migrations": 2,
708
+ "routes": 11,
709
+ "publicRoutes": 0,
710
+ "aclFeatures": 0,
711
+ "eventsEmitted": 0,
712
+ "eventsConsumed": 0,
713
+ "backendPages": 2,
714
+ "frontendPages": 0,
715
+ "widgets": 0,
716
+ "workers": 0,
717
+ "cli": 0,
718
+ "aiTools": 0,
719
+ "aiAgents": 0,
720
+ "extends": 0
721
+ },
722
+ "lists": {
723
+ "aclFeatures": [],
724
+ "eventsEmitted": [],
725
+ "eventsConsumed": [],
726
+ "env": [],
727
+ "hosts": [],
728
+ "tables": [],
729
+ "publicRoutes": [],
730
+ "credentials": []
731
+ },
732
+ "callout": "ADDS 11 ROUTES (0 PUBLIC)",
733
+ "diff": null
734
+ },
735
+ "signals": {
736
+ "receipt": {
737
+ "0.9": "untested",
738
+ "0.8": "untested",
739
+ "next": "untested"
740
+ },
741
+ "fit": {
742
+ "0.9": "ok",
743
+ "0.8": "ok",
744
+ "next": "ok"
745
+ },
746
+ "anatomy": "full",
747
+ "supplyChain": {
748
+ "status": "ok",
749
+ "reasons": []
750
+ },
751
+ "hygiene": {
752
+ "status": "ok",
753
+ "failing": []
754
+ },
755
+ "maintenance": {
756
+ "status": "current",
757
+ "lastRelease": "2026-09-17",
758
+ "catchUpDays": null
759
+ },
760
+ "declaredVsObserved": {
761
+ "status": "match",
762
+ "notes": []
763
+ }
764
+ },
765
+ "tier": "listed",
766
+ "quality": null,
767
+ "agentPolicy": {
768
+ "0.9": {
769
+ "decision": "ask",
770
+ "reasons": [
771
+ {
772
+ "code": "THIRD_PARTY",
773
+ "text": "Third-party code runs with access to all tenants' data."
774
+ },
775
+ {
776
+ "code": "NOT_VERIFIED",
777
+ "text": "No receipt on 0.9 yet."
778
+ },
779
+ {
780
+ "code": "REPLACES",
781
+ "text": "Replaces core data_sync. Remove the core registration first."
782
+ }
783
+ ],
784
+ "consentText": "Install @fullstackhouse/open-mercato-data-sync-durable@0.6.0"
785
+ },
786
+ "0.8": {
787
+ "decision": "ask",
788
+ "reasons": [
789
+ {
790
+ "code": "THIRD_PARTY",
791
+ "text": "Third-party code runs with access to all tenants' data."
792
+ },
793
+ {
794
+ "code": "NOT_VERIFIED",
795
+ "text": "No receipt on 0.8 yet."
796
+ },
797
+ {
798
+ "code": "REPLACES",
799
+ "text": "Replaces core data_sync. Remove the core registration first."
800
+ }
801
+ ],
802
+ "consentText": "Install @fullstackhouse/open-mercato-data-sync-durable@0.6.0"
803
+ },
804
+ "next": {
805
+ "decision": "ask",
806
+ "reasons": [
807
+ {
808
+ "code": "THIRD_PARTY",
809
+ "text": "Third-party code runs with access to all tenants' data."
810
+ },
811
+ {
812
+ "code": "NOT_VERIFIED",
813
+ "text": "No receipt on next yet."
814
+ },
815
+ {
816
+ "code": "REPLACES",
817
+ "text": "Replaces core data_sync. Remove the core registration first."
818
+ }
819
+ ],
820
+ "consentText": "Install @fullstackhouse/open-mercato-data-sync-durable@0.6.0"
821
+ }
822
+ },
823
+ "install": {
824
+ "cli": "yarn mercato module add @fullstackhouse/open-mercato-data-sync-durable@0.6.0 --allow-third-party",
825
+ "cmm": "npx create-mercato-module install @fullstackhouse/open-mercato-data-sync-durable@0.6.0",
826
+ "needsAllowThirdParty": true,
827
+ "moduleFlag": null
828
+ },
829
+ "stats": {
830
+ "downloads30d": 172,
831
+ "stars": null
832
+ },
833
+ "sigil": {
834
+ "glyph": "1320000",
835
+ "phase": 294,
836
+ "publicRoutes": false
837
+ },
838
+ "links": {
839
+ "page": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-data-sync-durable",
840
+ "md": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-data-sync-durable.md",
841
+ "json": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-data-sync-durable.json",
842
+ "facts": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-data-sync-durable/v/0.6.0/facts.json",
843
+ "npm": "https://www.npmjs.com/package/@fullstackhouse/open-mercato-data-sync-durable",
844
+ "repo": "https://github.com/fullstackhouse/open-mercato-durable",
845
+ "docs": null
846
+ },
847
+ "addedAt": "2026-10-23",
848
+ "updatedAt": "2026-10-23T03:05:00Z",
849
+ "_meta": {
850
+ "com.openmercato.modules/installable": {
851
+ "0.9": "0.6.0",
852
+ "0.8": "0.6.0",
853
+ "next": "0.6.0"
854
+ }
855
+ }
856
+ },
857
+ {
858
+ "locator": "npm:@fullstackhouse/open-mercato-durable-work",
859
+ "path": "@fullstackhouse/open-mercato-durable-work",
860
+ "npm": "@fullstackhouse/open-mercato-durable-work",
861
+ "github": null,
862
+ "repoPath": null,
863
+ "kind": "module",
864
+ "type": "3rd-party",
865
+ "enterprise": false,
866
+ "title": "Durable Work",
867
+ "summary": "Durable at-least-once background work on leased job records in Postgres.",
868
+ "whenToUse": "Use when background jobs must survive deploys and worker kills and resume where they stopped.",
869
+ "whenNotToUse": null,
870
+ "category": "storage-infrastructure",
871
+ "tags": [
872
+ "background-jobs",
873
+ "durable"
874
+ ],
875
+ "providers": [],
876
+ "moduleIds": [
877
+ "durable_work"
878
+ ],
879
+ "requires": [],
880
+ "replaces": [],
881
+ "slotConflicts": [],
882
+ "renamedFrom": [],
883
+ "supersededBy": null,
884
+ "alternatives": [],
885
+ "status": "active",
886
+ "listed": true,
887
+ "featured": false,
888
+ "license": {
889
+ "spdx": "MIT",
890
+ "kind": "osi",
891
+ "mismatch": false
892
+ },
893
+ "version": {
894
+ "latest": "0.6.0",
895
+ "preview": null,
896
+ "publishedAt": "2026-09-17",
897
+ "integrity": "sha512-uA3NDDbBb2LLA9KG2ZtXm1LeY2RJtDoOFzQafJcWTa/VstxZ8/yJL1BQL9OOWMVBM3qKbTrw6HodEQ5A287o3A==",
898
+ "installableFrom": "2026-09-22",
899
+ "gitRef": "1bf9ada1b3e3bb9022b07684252b5aeaf23191b1",
900
+ "recommended": {
901
+ "0.9": "0.6.0",
902
+ "0.8": null,
903
+ "next": null
904
+ }
905
+ },
906
+ "identity": {
907
+ "builtFrom": "verified",
908
+ "claimed": false,
909
+ "source": "npm"
910
+ },
911
+ "compat": {
912
+ "builtFor": {
913
+ "range": ">=0.7.0 <0.8.0",
914
+ "kind": "bounded",
915
+ "lines": []
916
+ },
917
+ "lines": {
918
+ "0.9": {
919
+ "status": "verified",
920
+ "step": null,
921
+ "omVersion": "0.9.0",
922
+ "moduleVersion": "0.6.0",
923
+ "at": "2026-10-23T02:17:00Z",
924
+ "receipt": "r_20261023_a719d113ce7a",
925
+ "since": "2026-10-23",
926
+ "precheck": null,
927
+ "patches": [
928
+ "api-keys"
929
+ ]
930
+ }
931
+ },
932
+ "verifiedOn": [
933
+ "0.9"
934
+ ]
935
+ },
936
+ "anatomy": {
937
+ "version": "0.6.0",
938
+ "coverage": "full",
939
+ "counts": {
940
+ "entities": 1,
941
+ "tables": 1,
942
+ "migrations": 1,
943
+ "routes": 3,
944
+ "publicRoutes": 0,
945
+ "aclFeatures": 2,
946
+ "eventsEmitted": 10,
947
+ "eventsConsumed": 0,
948
+ "backendPages": 0,
949
+ "frontendPages": 0,
950
+ "widgets": 0,
951
+ "workers": 0,
952
+ "cli": 3,
953
+ "aiTools": 0,
954
+ "aiAgents": 0,
955
+ "extends": 0
956
+ },
957
+ "lists": {
958
+ "aclFeatures": [
959
+ "durable_work.view",
960
+ "durable_work.operate"
961
+ ],
962
+ "eventsEmitted": [
963
+ "durable_work.job.created",
964
+ "durable_work.job.started",
965
+ "durable_work.job.yielded",
966
+ "durable_work.job.completed",
967
+ "durable_work.job.failed",
968
+ "durable_work.job.parked",
969
+ "durable_work.job.cancelled",
970
+ "durable_work.job.redriven",
971
+ "durable_work.job.lease_lost",
972
+ "durable_work.job.mirror_stuck"
973
+ ],
974
+ "eventsConsumed": [],
975
+ "env": [],
976
+ "hosts": [],
977
+ "tables": [
978
+ "durable_work_jobs"
979
+ ],
980
+ "publicRoutes": [],
981
+ "credentials": []
982
+ },
983
+ "callout": "ADDS 1 TABLE · 3 ROUTES (0 PUBLIC) · 2 PERMISSIONS · EMITS 10 EVENTS",
984
+ "diff": null
985
+ },
986
+ "signals": {
987
+ "receipt": {
988
+ "0.9": "verified",
989
+ "0.8": "untested",
990
+ "next": "untested"
991
+ },
992
+ "fit": {
993
+ "0.9": "ok",
994
+ "0.8": "ok",
995
+ "next": "drift"
996
+ },
997
+ "anatomy": "full",
998
+ "supplyChain": {
999
+ "status": "ok",
1000
+ "reasons": []
1001
+ },
1002
+ "hygiene": {
1003
+ "status": "ok",
1004
+ "failing": []
1005
+ },
1006
+ "maintenance": {
1007
+ "status": "current",
1008
+ "lastRelease": "2026-09-17",
1009
+ "catchUpDays": null
1010
+ },
1011
+ "declaredVsObserved": {
1012
+ "status": "mismatch",
1013
+ "notes": [
1014
+ "Built for no tested line; verified on 0.9."
1015
+ ]
1016
+ }
1017
+ },
1018
+ "tier": "verified",
1019
+ "quality": null,
1020
+ "agentPolicy": {
1021
+ "0.9": {
1022
+ "decision": "ask",
1023
+ "reasons": [
1024
+ {
1025
+ "code": "THIRD_PARTY",
1026
+ "text": "Third-party code runs with access to all tenants' data."
1027
+ }
1028
+ ],
1029
+ "consentText": "Install @fullstackhouse/open-mercato-durable-work@0.6.0"
1030
+ },
1031
+ "0.8": {
1032
+ "decision": "ask",
1033
+ "reasons": [
1034
+ {
1035
+ "code": "THIRD_PARTY",
1036
+ "text": "Third-party code runs with access to all tenants' data."
1037
+ },
1038
+ {
1039
+ "code": "NOT_VERIFIED",
1040
+ "text": "No receipt on 0.8 yet."
1041
+ }
1042
+ ],
1043
+ "consentText": "Install @fullstackhouse/open-mercato-durable-work@0.6.0"
1044
+ },
1045
+ "next": {
1046
+ "decision": "ask",
1047
+ "reasons": [
1048
+ {
1049
+ "code": "THIRD_PARTY",
1050
+ "text": "Third-party code runs with access to all tenants' data."
1051
+ },
1052
+ {
1053
+ "code": "NOT_VERIFIED",
1054
+ "text": "No receipt on next yet."
1055
+ }
1056
+ ],
1057
+ "consentText": "Install @fullstackhouse/open-mercato-durable-work@0.6.0"
1058
+ }
1059
+ },
1060
+ "install": {
1061
+ "cli": "yarn mercato module add @fullstackhouse/open-mercato-durable-work@0.6.0 --allow-third-party",
1062
+ "cmm": "npx create-mercato-module install @fullstackhouse/open-mercato-durable-work@0.6.0",
1063
+ "needsAllowThirdParty": true,
1064
+ "moduleFlag": null
1065
+ },
1066
+ "stats": {
1067
+ "downloads30d": 204,
1068
+ "stars": null
1069
+ },
1070
+ "sigil": {
1071
+ "glyph": "2203200",
1072
+ "phase": 194,
1073
+ "publicRoutes": false
1074
+ },
1075
+ "links": {
1076
+ "page": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-durable-work",
1077
+ "md": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-durable-work.md",
1078
+ "json": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-durable-work.json",
1079
+ "facts": "https://modules.openmercato.com/m/@fullstackhouse/open-mercato-durable-work/v/0.6.0/facts.json",
1080
+ "npm": "https://www.npmjs.com/package/@fullstackhouse/open-mercato-durable-work",
1081
+ "repo": null,
1082
+ "docs": null
1083
+ },
1084
+ "addedAt": "2026-10-23",
1085
+ "updatedAt": "2026-10-23T03:05:00Z",
1086
+ "_meta": {
1087
+ "com.openmercato.modules/installable": {
1088
+ "0.9": "0.6.0",
1089
+ "0.8": "0.6.0",
1090
+ "next": "0.6.0"
1091
+ }
1092
+ }
1093
+ },
1094
+ {
1095
+ "locator": "npm:@open-mercato/enterprise",
1096
+ "path": "@open-mercato/enterprise",
1097
+ "npm": "@open-mercato/enterprise",
1098
+ "github": null,
1099
+ "repoPath": null,
1100
+ "kind": "module",
1101
+ "type": "official",
1102
+ "enterprise": true,
1103
+ "title": "Enterprise",
1104
+ "summary": "Commercial Open Mercato modules for SSO, security, record locks and agent orchestration.",
1105
+ "whenToUse": "Use when a production app needs SSO, record locks or agent orchestration under a commercial license.",
1106
+ "whenNotToUse": null,
1107
+ "category": "auth-security",
1108
+ "tags": [],
1109
+ "providers": [],
1110
+ "moduleIds": [
1111
+ "agent_orchestrator",
1112
+ "record_locks",
1113
+ "security",
1114
+ "sso",
1115
+ "system_status_overlays"
1116
+ ],
1117
+ "requires": [],
1118
+ "replaces": [],
1119
+ "slotConflicts": [],
1120
+ "renamedFrom": [],
1121
+ "supersededBy": null,
1122
+ "alternatives": [],
1123
+ "status": "active",
1124
+ "listed": true,
1125
+ "featured": false,
1126
+ "license": {
1127
+ "spdx": null,
1128
+ "kind": "enterprise",
1129
+ "mismatch": false
1130
+ },
1131
+ "version": {
1132
+ "latest": "0.9.0",
1133
+ "preview": null,
1134
+ "publishedAt": "2026-10-09",
1135
+ "integrity": "sha512-d6wOhNvfBA0+UJA4T/fF2QVxkjbg4aRaOsTGZVqYweKURReiz/EoBg7M/1CE+L0cbphP1kadwy/7RWGZrpE6JA==",
1136
+ "installableFrom": "2026-10-09",
1137
+ "gitRef": null,
1138
+ "recommended": {
1139
+ "0.9": null,
1140
+ "0.8": null,
1141
+ "next": null
1142
+ }
1143
+ },
1144
+ "identity": {
1145
+ "builtFrom": "verified",
1146
+ "claimed": false,
1147
+ "source": "npm"
1148
+ },
1149
+ "compat": {
1150
+ "builtFor": {
1151
+ "range": "0.9.0",
1152
+ "kind": "exact-pin",
1153
+ "lines": [
1154
+ "0.9"
1155
+ ]
1156
+ },
1157
+ "lines": {},
1158
+ "verifiedOn": []
1159
+ },
1160
+ "anatomy": null,
1161
+ "signals": {
1162
+ "receipt": {
1163
+ "0.9": "skipped",
1164
+ "0.8": "skipped",
1165
+ "next": "skipped"
1166
+ },
1167
+ "fit": {
1168
+ "0.9": "ok",
1169
+ "0.8": "unknown",
1170
+ "next": "ok"
1171
+ },
1172
+ "anatomy": "hidden",
1173
+ "supplyChain": {
1174
+ "status": "ok",
1175
+ "reasons": []
1176
+ },
1177
+ "hygiene": {
1178
+ "status": "warn",
1179
+ "failing": [
1180
+ "invalid-identifier",
1181
+ "peer-exact-pin"
1182
+ ]
1183
+ },
1184
+ "maintenance": {
1185
+ "status": "current",
1186
+ "lastRelease": "2026-10-09",
1187
+ "catchUpDays": null
1188
+ },
1189
+ "declaredVsObserved": {
1190
+ "status": "mismatch",
1191
+ "notes": [
1192
+ "Built for 0.9; verified on no line."
1193
+ ]
1194
+ }
1195
+ },
1196
+ "tier": null,
1197
+ "quality": null,
1198
+ "agentPolicy": {
1199
+ "0.9": {
1200
+ "decision": "ask",
1201
+ "reasons": [
1202
+ {
1203
+ "code": "NOT_VERIFIED",
1204
+ "text": "No receipt on 0.9 yet."
1205
+ },
1206
+ {
1207
+ "code": "LICENSE",
1208
+ "text": "License: enterprise (SEE LICENSE IN LICENSE.md)."
1209
+ }
1210
+ ],
1211
+ "consentText": "Install @open-mercato/enterprise@0.9.0"
1212
+ },
1213
+ "0.8": {
1214
+ "decision": "ask",
1215
+ "reasons": [
1216
+ {
1217
+ "code": "NOT_VERIFIED",
1218
+ "text": "No receipt on 0.8 yet."
1219
+ },
1220
+ {
1221
+ "code": "LICENSE",
1222
+ "text": "License: enterprise (SEE LICENSE IN LICENSE.md)."
1223
+ }
1224
+ ],
1225
+ "consentText": "Install @open-mercato/enterprise@0.8.0"
1226
+ },
1227
+ "next": {
1228
+ "decision": "ask",
1229
+ "reasons": [
1230
+ {
1231
+ "code": "NOT_VERIFIED",
1232
+ "text": "No receipt on next yet."
1233
+ },
1234
+ {
1235
+ "code": "LICENSE",
1236
+ "text": "License: enterprise (SEE LICENSE IN LICENSE.md)."
1237
+ }
1238
+ ],
1239
+ "consentText": "Install @open-mercato/enterprise@0.9.0"
1240
+ }
1241
+ },
1242
+ "install": {
1243
+ "cli": "yarn mercato module add @open-mercato/enterprise@0.9.0",
1244
+ "cmm": "npx create-mercato-module install @open-mercato/enterprise@0.9.0",
1245
+ "needsAllowThirdParty": false,
1246
+ "moduleFlag": null
1247
+ },
1248
+ "stats": null,
1249
+ "sigil": {
1250
+ "glyph": "0000000",
1251
+ "phase": 318,
1252
+ "publicRoutes": false
1253
+ },
1254
+ "links": {
1255
+ "page": "https://modules.openmercato.com/m/@open-mercato/enterprise",
1256
+ "md": "https://modules.openmercato.com/m/@open-mercato/enterprise.md",
1257
+ "json": "https://modules.openmercato.com/m/@open-mercato/enterprise.json",
1258
+ "facts": null,
1259
+ "npm": "https://www.npmjs.com/package/@open-mercato/enterprise",
1260
+ "repo": "https://github.com/open-mercato/open-mercato",
1261
+ "docs": null
1262
+ },
1263
+ "addedAt": "2026-10-23",
1264
+ "updatedAt": "2026-10-23T03:05:00Z",
1265
+ "_meta": {
1266
+ "com.openmercato.modules/installable": {
1267
+ "0.9": "0.9.0",
1268
+ "0.8": "0.8.0",
1269
+ "next": "0.9.0"
1270
+ }
1271
+ }
1272
+ },
1273
+ {
1274
+ "locator": "npm:@open-mercato/gateway-stripe",
1275
+ "path": "@open-mercato/gateway-stripe",
1276
+ "npm": "@open-mercato/gateway-stripe",
1277
+ "github": null,
1278
+ "repoPath": "open-mercato/open-mercato#main/packages/gateway-stripe",
1279
+ "kind": "module",
1280
+ "type": "official",
1281
+ "enterprise": false,
1282
+ "title": "Stripe Payment Gateway",
1283
+ "summary": "Card payments through Stripe for checkout and sales documents.",
1284
+ "whenToUse": "Use when the app takes card payments and you already have a Stripe account.",
1285
+ "whenNotToUse": "For PLN bank transfers and BLIK use gateway-tpay.",
1286
+ "category": "payments-finance",
1287
+ "tags": [],
1288
+ "providers": [
1289
+ {
1290
+ "name": "stripe",
1291
+ "label": "Stripe"
1292
+ }
1293
+ ],
1294
+ "moduleIds": [
1295
+ "gateway_stripe"
1296
+ ],
1297
+ "requires": [],
1298
+ "replaces": [],
1299
+ "slotConflicts": [],
1300
+ "renamedFrom": [],
1301
+ "supersededBy": null,
1302
+ "alternatives": [],
1303
+ "status": "active",
1304
+ "listed": true,
1305
+ "featured": false,
1306
+ "license": {
1307
+ "spdx": "MIT",
1308
+ "kind": "osi",
1309
+ "mismatch": false
1310
+ },
1311
+ "version": {
1312
+ "latest": "0.9.0",
1313
+ "preview": null,
1314
+ "publishedAt": "2026-10-09",
1315
+ "integrity": "sha512-U/tlIjnj/V5AuSB+fEEIh4Ta9Uftzrzr5iUb6nSWLcd7W8W7mzPHd6Ngg3ZYPH9g98cSUayH1e6nOga2E3Iqag==",
1316
+ "installableFrom": "2026-10-09",
1317
+ "gitRef": null,
1318
+ "recommended": {
1319
+ "0.9": "0.9.0",
1320
+ "0.8": null,
1321
+ "next": null
1322
+ }
1323
+ },
1324
+ "identity": {
1325
+ "builtFrom": "verified",
1326
+ "claimed": false,
1327
+ "source": "npm"
1328
+ },
1329
+ "compat": {
1330
+ "builtFor": {
1331
+ "range": "0.9.0",
1332
+ "kind": "exact-pin",
1333
+ "lines": [
1334
+ "0.9"
1335
+ ]
1336
+ },
1337
+ "lines": {
1338
+ "0.9": {
1339
+ "status": "verified",
1340
+ "step": null,
1341
+ "omVersion": "0.9.0",
1342
+ "moduleVersion": "0.9.0",
1343
+ "at": "2026-10-23T02:17:00Z",
1344
+ "receipt": "r_20261023_d1ff59259fdf",
1345
+ "since": "2026-10-23",
1346
+ "precheck": null,
1347
+ "patches": [
1348
+ "api-keys"
1349
+ ]
1350
+ }
1351
+ },
1352
+ "verifiedOn": [
1353
+ "0.9"
1354
+ ]
1355
+ },
1356
+ "anatomy": {
1357
+ "version": "0.9.0",
1358
+ "coverage": "full",
1359
+ "counts": {
1360
+ "entities": 0,
1361
+ "tables": 0,
1362
+ "migrations": 0,
1363
+ "routes": 0,
1364
+ "publicRoutes": 0,
1365
+ "aclFeatures": 2,
1366
+ "eventsEmitted": 0,
1367
+ "eventsConsumed": 0,
1368
+ "backendPages": 0,
1369
+ "frontendPages": 0,
1370
+ "widgets": 4,
1371
+ "workers": 1,
1372
+ "cli": 2,
1373
+ "aiTools": 0,
1374
+ "aiAgents": 0,
1375
+ "extends": 1
1376
+ },
1377
+ "lists": {
1378
+ "aclFeatures": [
1379
+ "gateway_stripe.view",
1380
+ "gateway_stripe.configure"
1381
+ ],
1382
+ "eventsEmitted": [],
1383
+ "eventsConsumed": [],
1384
+ "env": [],
1385
+ "hosts": [
1386
+ "docs.stripe.com"
1387
+ ],
1388
+ "tables": [],
1389
+ "publicRoutes": [],
1390
+ "credentials": [
1391
+ {
1392
+ "key": "publishableKey",
1393
+ "type": "text",
1394
+ "required": true
1395
+ },
1396
+ {
1397
+ "key": "secretKey",
1398
+ "type": "secret",
1399
+ "required": true
1400
+ },
1401
+ {
1402
+ "key": "webhookSecret",
1403
+ "type": "secret",
1404
+ "required": true
1405
+ }
1406
+ ]
1407
+ },
1408
+ "callout": "ADDS 2 PERMISSIONS",
1409
+ "diff": null
1410
+ },
1411
+ "signals": {
1412
+ "receipt": {
1413
+ "0.9": "verified",
1414
+ "0.8": "untested",
1415
+ "next": "untested"
1416
+ },
1417
+ "fit": {
1418
+ "0.9": "ok",
1419
+ "0.8": "ok",
1420
+ "next": "ok"
1421
+ },
1422
+ "anatomy": "full",
1423
+ "supplyChain": {
1424
+ "status": "ok",
1425
+ "reasons": []
1426
+ },
1427
+ "hygiene": {
1428
+ "status": "warn",
1429
+ "failing": [
1430
+ "peer-exact-pin"
1431
+ ]
1432
+ },
1433
+ "maintenance": {
1434
+ "status": "current",
1435
+ "lastRelease": "2026-10-09",
1436
+ "catchUpDays": null
1437
+ },
1438
+ "declaredVsObserved": {
1439
+ "status": "match",
1440
+ "notes": []
1441
+ }
1442
+ },
1443
+ "tier": "verified",
1444
+ "quality": null,
1445
+ "agentPolicy": {
1446
+ "0.9": {
1447
+ "decision": "allow",
1448
+ "reasons": [
1449
+ {
1450
+ "code": "OFFICIAL_VERIFIED",
1451
+ "text": "Official, verified on 0.9."
1452
+ }
1453
+ ]
1454
+ },
1455
+ "0.8": {
1456
+ "decision": "ask",
1457
+ "reasons": [
1458
+ {
1459
+ "code": "NOT_VERIFIED",
1460
+ "text": "No receipt on 0.8 yet."
1461
+ }
1462
+ ],
1463
+ "consentText": "Install @open-mercato/gateway-stripe@0.9.0"
1464
+ },
1465
+ "next": {
1466
+ "decision": "ask",
1467
+ "reasons": [
1468
+ {
1469
+ "code": "NOT_VERIFIED",
1470
+ "text": "No receipt on next yet."
1471
+ }
1472
+ ],
1473
+ "consentText": "Install @open-mercato/gateway-stripe@0.9.0"
1474
+ }
1475
+ },
1476
+ "install": {
1477
+ "cli": "yarn mercato module add @open-mercato/gateway-stripe@0.9.0",
1478
+ "cmm": "npx create-mercato-module install @open-mercato/gateway-stripe@0.9.0",
1479
+ "needsAllowThirdParty": false,
1480
+ "moduleFlag": null
1481
+ },
1482
+ "stats": null,
1483
+ "sigil": {
1484
+ "glyph": "0020201",
1485
+ "phase": 141,
1486
+ "publicRoutes": false
1487
+ },
1488
+ "links": {
1489
+ "page": "https://modules.openmercato.com/m/@open-mercato/gateway-stripe",
1490
+ "md": "https://modules.openmercato.com/m/@open-mercato/gateway-stripe.md",
1491
+ "json": "https://modules.openmercato.com/m/@open-mercato/gateway-stripe.json",
1492
+ "facts": "https://modules.openmercato.com/m/@open-mercato/gateway-stripe/v/0.9.0/facts.json",
1493
+ "npm": "https://www.npmjs.com/package/@open-mercato/gateway-stripe",
1494
+ "repo": "https://github.com/open-mercato/open-mercato",
1495
+ "docs": null
1496
+ },
1497
+ "addedAt": "2026-10-23",
1498
+ "updatedAt": "2026-10-23T03:05:00Z",
1499
+ "_meta": {
1500
+ "com.openmercato.modules/installable": {
1501
+ "0.9": "0.9.0",
1502
+ "0.8": "0.9.0",
1503
+ "next": "0.9.0"
1504
+ }
1505
+ }
1506
+ },
1507
+ {
1508
+ "locator": "npm:@open-mercato/gateway-tpay",
1509
+ "path": "@open-mercato/gateway-tpay",
1510
+ "npm": "@open-mercato/gateway-tpay",
1511
+ "github": null,
1512
+ "repoPath": null,
1513
+ "kind": "module",
1514
+ "type": "official",
1515
+ "enterprise": false,
1516
+ "title": "Tpay Payment Gateway",
1517
+ "summary": "PLN payments and BLIK through Tpay for checkout and sales documents.",
1518
+ "whenToUse": "Use when the app takes PLN bank transfers or BLIK payments through a Tpay account.",
1519
+ "whenNotToUse": null,
1520
+ "category": "payments-finance",
1521
+ "tags": [],
1522
+ "providers": [
1523
+ {
1524
+ "name": "tpay",
1525
+ "label": "Tpay"
1526
+ }
1527
+ ],
1528
+ "moduleIds": [
1529
+ "gateway_tpay"
1530
+ ],
1531
+ "requires": [],
1532
+ "replaces": [],
1533
+ "slotConflicts": [],
1534
+ "renamedFrom": [],
1535
+ "supersededBy": null,
1536
+ "alternatives": [],
1537
+ "status": "active",
1538
+ "listed": true,
1539
+ "featured": false,
1540
+ "license": {
1541
+ "spdx": "MIT",
1542
+ "kind": "osi",
1543
+ "mismatch": false
1544
+ },
1545
+ "version": {
1546
+ "latest": null,
1547
+ "preview": "0.8.1-develop.7442.1.4c1dbf1f0e",
1548
+ "publishedAt": "2026-10-10",
1549
+ "integrity": "sha512-HGCiENOGtHStItm8ekf6I02pWbgmQR+7LalF60XIBgK4qWHe8f+h7GPpYlr9S1JtBxUCB0YJLHNQeHqYfCEO+g==",
1550
+ "installableFrom": "2026-10-10",
1551
+ "gitRef": null,
1552
+ "recommended": {
1553
+ "0.9": null,
1554
+ "0.8": null,
1555
+ "next": null
1556
+ }
1557
+ },
1558
+ "identity": {
1559
+ "builtFrom": "verified",
1560
+ "claimed": false,
1561
+ "source": "npm"
1562
+ },
1563
+ "compat": {
1564
+ "builtFor": {
1565
+ "range": null,
1566
+ "kind": "missing",
1567
+ "lines": []
1568
+ },
1569
+ "lines": {},
1570
+ "verifiedOn": []
1571
+ },
1572
+ "anatomy": {
1573
+ "version": "0.8.1-develop.7442.1.4c1dbf1f0e",
1574
+ "coverage": "partial",
1575
+ "counts": {
1576
+ "entities": 0,
1577
+ "tables": 0,
1578
+ "migrations": 0,
1579
+ "routes": 0,
1580
+ "publicRoutes": 0,
1581
+ "aclFeatures": 2,
1582
+ "eventsEmitted": 0,
1583
+ "eventsConsumed": 0,
1584
+ "backendPages": 0,
1585
+ "frontendPages": 0,
1586
+ "widgets": 0,
1587
+ "workers": 0,
1588
+ "cli": 2,
1589
+ "aiTools": 0,
1590
+ "aiAgents": 0,
1591
+ "extends": 1
1592
+ },
1593
+ "lists": {
1594
+ "aclFeatures": [
1595
+ "gateway_tpay.view",
1596
+ "gateway_tpay.configure"
1597
+ ],
1598
+ "eventsEmitted": [],
1599
+ "eventsConsumed": [],
1600
+ "env": [],
1601
+ "hosts": [
1602
+ "docs-api.tpay.com",
1603
+ "api.tpay.com",
1604
+ "openapi.sandbox.tpay.com"
1605
+ ],
1606
+ "tables": [],
1607
+ "publicRoutes": [],
1608
+ "credentials": [
1609
+ {
1610
+ "key": "clientId",
1611
+ "type": "text",
1612
+ "required": true
1613
+ },
1614
+ {
1615
+ "key": "clientSecret",
1616
+ "type": "secret",
1617
+ "required": true
1618
+ },
1619
+ {
1620
+ "key": "environment",
1621
+ "type": "select",
1622
+ "required": true
1623
+ },
1624
+ {
1625
+ "key": "notificationUrl",
1626
+ "type": "url",
1627
+ "required": false
1628
+ },
1629
+ {
1630
+ "key": "notificationSecurityCode",
1631
+ "type": "secret",
1632
+ "required": false
1633
+ }
1634
+ ]
1635
+ },
1636
+ "callout": "ADDS 2 PERMISSIONS",
1637
+ "diff": null
1638
+ },
1639
+ "signals": {
1640
+ "receipt": {
1641
+ "0.9": "skipped",
1642
+ "0.8": "skipped",
1643
+ "next": "untested"
1644
+ },
1645
+ "fit": {
1646
+ "0.9": "unknown",
1647
+ "0.8": "unknown",
1648
+ "next": "unknown"
1649
+ },
1650
+ "anatomy": "partial",
1651
+ "supplyChain": {
1652
+ "status": "ok",
1653
+ "reasons": []
1654
+ },
1655
+ "hygiene": {
1656
+ "status": "warn",
1657
+ "failing": [
1658
+ "peer-exact-pin"
1659
+ ]
1660
+ },
1661
+ "maintenance": {
1662
+ "status": "current",
1663
+ "lastRelease": "2026-10-10",
1664
+ "catchUpDays": null
1665
+ },
1666
+ "declaredVsObserved": {
1667
+ "status": "match",
1668
+ "notes": []
1669
+ }
1670
+ },
1671
+ "tier": "listed",
1672
+ "quality": null,
1673
+ "agentPolicy": {
1674
+ "0.9": {
1675
+ "decision": "ask",
1676
+ "reasons": [
1677
+ {
1678
+ "code": "NOT_VERIFIED",
1679
+ "text": "No receipt on 0.9 yet."
1680
+ }
1681
+ ],
1682
+ "consentText": "Install @open-mercato/gateway-tpay@0.8.1-develop.7442.1.4c1dbf1f0e"
1683
+ },
1684
+ "0.8": {
1685
+ "decision": "ask",
1686
+ "reasons": [
1687
+ {
1688
+ "code": "NOT_VERIFIED",
1689
+ "text": "No receipt on 0.8 yet."
1690
+ }
1691
+ ],
1692
+ "consentText": "Install @open-mercato/gateway-tpay@0.8.1-develop.7442.1.4c1dbf1f0e"
1693
+ },
1694
+ "next": {
1695
+ "decision": "ask",
1696
+ "reasons": [
1697
+ {
1698
+ "code": "NOT_VERIFIED",
1699
+ "text": "No receipt on next yet."
1700
+ }
1701
+ ],
1702
+ "consentText": "Install @open-mercato/gateway-tpay@0.8.1-develop.7442.1.4c1dbf1f0e"
1703
+ }
1704
+ },
1705
+ "install": {
1706
+ "cli": "yarn mercato module add @open-mercato/gateway-tpay@0.8.1-develop.7442.1.4c1dbf1f0e",
1707
+ "cmm": "npx create-mercato-module install @open-mercato/gateway-tpay@0.8.1-develop.7442.1.4c1dbf1f0e",
1708
+ "needsAllowThirdParty": false,
1709
+ "moduleFlag": null
1710
+ },
1711
+ "stats": null,
1712
+ "sigil": {
1713
+ "glyph": "0000201",
1714
+ "phase": 104,
1715
+ "publicRoutes": false
1716
+ },
1717
+ "links": {
1718
+ "page": "https://modules.openmercato.com/m/@open-mercato/gateway-tpay",
1719
+ "md": "https://modules.openmercato.com/m/@open-mercato/gateway-tpay.md",
1720
+ "json": "https://modules.openmercato.com/m/@open-mercato/gateway-tpay.json",
1721
+ "facts": "https://modules.openmercato.com/m/@open-mercato/gateway-tpay/v/0.8.1-develop.7442.1.4c1dbf1f0e/facts.json",
1722
+ "npm": "https://www.npmjs.com/package/@open-mercato/gateway-tpay",
1723
+ "repo": "https://github.com/open-mercato/open-mercato",
1724
+ "docs": null
1725
+ },
1726
+ "addedAt": "2026-10-23",
1727
+ "updatedAt": "2026-10-23T03:05:00Z",
1728
+ "_meta": {
1729
+ "com.openmercato.modules/installable": {
1730
+ "0.9": null,
1731
+ "0.8": null,
1732
+ "next": null
1733
+ }
1734
+ }
1735
+ },
1736
+ {
1737
+ "locator": "npm:@piotrkarwatka/marketing-consents",
1738
+ "path": "@piotrkarwatka/marketing-consents",
1739
+ "npm": "@piotrkarwatka/marketing-consents",
1740
+ "github": null,
1741
+ "repoPath": null,
1742
+ "kind": "module",
1743
+ "type": "community",
1744
+ "enterprise": false,
1745
+ "title": "Marketing Consents",
1746
+ "summary": "Records and withdraws marketing consents for customers, with encrypted fields.",
1747
+ "whenToUse": "Use when the app must store marketing consent records and let staff withdraw them.",
1748
+ "whenNotToUse": null,
1749
+ "category": "marketing-loyalty",
1750
+ "tags": [],
1751
+ "providers": [],
1752
+ "moduleIds": [
1753
+ "marketing_consents"
1754
+ ],
1755
+ "requires": [],
1756
+ "replaces": [],
1757
+ "slotConflicts": [],
1758
+ "renamedFrom": [],
1759
+ "supersededBy": null,
1760
+ "alternatives": [],
1761
+ "status": "active",
1762
+ "listed": true,
1763
+ "featured": false,
1764
+ "license": {
1765
+ "spdx": null,
1766
+ "kind": "proprietary",
1767
+ "mismatch": false
1768
+ },
1769
+ "version": {
1770
+ "latest": "0.1.0",
1771
+ "preview": null,
1772
+ "publishedAt": "2026-10-14",
1773
+ "integrity": "sha512-ByUXs82VmoFMQa6c7kgE1yhKDBH9MNhZoMvTnkpU0ORD4KxHyv4/fQGUXOzmiUnfU6+Zsc4H1hncG7GbnaE2ig==",
1774
+ "installableFrom": "2026-10-19",
1775
+ "gitRef": null,
1776
+ "recommended": {
1777
+ "0.9": null,
1778
+ "0.8": null,
1779
+ "next": null
1780
+ }
1781
+ },
1782
+ "identity": {
1783
+ "builtFrom": "none",
1784
+ "claimed": false,
1785
+ "source": "npm"
1786
+ },
1787
+ "compat": {
1788
+ "builtFor": {
1789
+ "range": "0.9.0",
1790
+ "kind": "exact-pin",
1791
+ "lines": [
1792
+ "0.9"
1793
+ ]
1794
+ },
1795
+ "lines": {
1796
+ "0.9": {
1797
+ "status": "broken",
1798
+ "step": "typecheck",
1799
+ "omVersion": "0.9.0",
1800
+ "moduleVersion": "0.1.0",
1801
+ "at": "2026-10-23T02:17:00Z",
1802
+ "receipt": "r_20261023_9dc851ba3c0e",
1803
+ "since": "2026-10-23",
1804
+ "precheck": null,
1805
+ "patches": [
1806
+ "api-keys"
1807
+ ]
1808
+ }
1809
+ },
1810
+ "verifiedOn": []
1811
+ },
1812
+ "anatomy": {
1813
+ "version": "0.1.0",
1814
+ "coverage": "partial",
1815
+ "counts": {
1816
+ "entities": 2,
1817
+ "tables": 2,
1818
+ "migrations": 1,
1819
+ "routes": 4,
1820
+ "publicRoutes": 1,
1821
+ "aclFeatures": 3,
1822
+ "eventsEmitted": 0,
1823
+ "eventsConsumed": 0,
1824
+ "backendPages": 2,
1825
+ "frontendPages": 0,
1826
+ "widgets": 0,
1827
+ "workers": 0,
1828
+ "cli": 0,
1829
+ "aiTools": 0,
1830
+ "aiAgents": 0,
1831
+ "extends": 0
1832
+ },
1833
+ "lists": {
1834
+ "aclFeatures": [
1835
+ "marketing_consents.record",
1836
+ "marketing_consents.view",
1837
+ "marketing_consents.withdraw"
1838
+ ],
1839
+ "eventsEmitted": [],
1840
+ "eventsConsumed": [],
1841
+ "env": [],
1842
+ "hosts": [],
1843
+ "tables": [
1844
+ "marketing_consent_records",
1845
+ "marketing_consent_withdrawal_evidence"
1846
+ ],
1847
+ "publicRoutes": [],
1848
+ "credentials": []
1849
+ },
1850
+ "callout": "ADDS 2 TABLES · 4 ROUTES (1 PUBLIC) · 3 PERMISSIONS",
1851
+ "diff": null
1852
+ },
1853
+ "signals": {
1854
+ "receipt": {
1855
+ "0.9": "broken",
1856
+ "0.8": "untested",
1857
+ "next": "untested"
1858
+ },
1859
+ "fit": {
1860
+ "0.9": "ok",
1861
+ "0.8": "no-fit",
1862
+ "next": "drift"
1863
+ },
1864
+ "anatomy": "partial",
1865
+ "supplyChain": {
1866
+ "status": "ok",
1867
+ "reasons": []
1868
+ },
1869
+ "hygiene": {
1870
+ "status": "warn",
1871
+ "failing": [
1872
+ "host-dependency-duplication",
1873
+ "peer-exact-pin"
1874
+ ]
1875
+ },
1876
+ "maintenance": {
1877
+ "status": "current",
1878
+ "lastRelease": "2026-10-14",
1879
+ "catchUpDays": null
1880
+ },
1881
+ "declaredVsObserved": {
1882
+ "status": "mismatch",
1883
+ "notes": [
1884
+ "Built for 0.9; verified on no line."
1885
+ ]
1886
+ }
1887
+ },
1888
+ "tier": "listed",
1889
+ "quality": null,
1890
+ "agentPolicy": {
1891
+ "0.9": {
1892
+ "decision": "refuse",
1893
+ "reasons": [
1894
+ {
1895
+ "code": "BROKEN",
1896
+ "text": "Fails at typecheck on 0.9 since 23 Oct."
1897
+ },
1898
+ {
1899
+ "code": "THIRD_PARTY",
1900
+ "text": "Third-party code runs with access to all tenants' data."
1901
+ },
1902
+ {
1903
+ "code": "LICENSE",
1904
+ "text": "License: proprietary (UNLICENSED)."
1905
+ }
1906
+ ]
1907
+ },
1908
+ "0.8": {
1909
+ "decision": "ask",
1910
+ "reasons": [
1911
+ {
1912
+ "code": "THIRD_PARTY",
1913
+ "text": "Third-party code runs with access to all tenants' data."
1914
+ },
1915
+ {
1916
+ "code": "NOT_VERIFIED",
1917
+ "text": "No receipt on 0.8 yet."
1918
+ },
1919
+ {
1920
+ "code": "LICENSE",
1921
+ "text": "License: proprietary (UNLICENSED)."
1922
+ }
1923
+ ],
1924
+ "consentText": "Install @piotrkarwatka/marketing-consents@0.1.0"
1925
+ },
1926
+ "next": {
1927
+ "decision": "ask",
1928
+ "reasons": [
1929
+ {
1930
+ "code": "THIRD_PARTY",
1931
+ "text": "Third-party code runs with access to all tenants' data."
1932
+ },
1933
+ {
1934
+ "code": "NOT_VERIFIED",
1935
+ "text": "No receipt on next yet."
1936
+ },
1937
+ {
1938
+ "code": "LICENSE",
1939
+ "text": "License: proprietary (UNLICENSED)."
1940
+ }
1941
+ ],
1942
+ "consentText": "Install @piotrkarwatka/marketing-consents@0.1.0"
1943
+ }
1944
+ },
1945
+ "install": {
1946
+ "cli": "yarn mercato module add @piotrkarwatka/marketing-consents@0.1.0 --allow-third-party",
1947
+ "cmm": "npx create-mercato-module install @piotrkarwatka/marketing-consents@0.1.0",
1948
+ "needsAllowThirdParty": true,
1949
+ "moduleFlag": null
1950
+ },
1951
+ "stats": {
1952
+ "downloads30d": 21,
1953
+ "stars": 0
1954
+ },
1955
+ "sigil": {
1956
+ "glyph": "2220000",
1957
+ "phase": 125,
1958
+ "publicRoutes": true
1959
+ },
1960
+ "links": {
1961
+ "page": "https://modules.openmercato.com/m/@piotrkarwatka/marketing-consents",
1962
+ "md": "https://modules.openmercato.com/m/@piotrkarwatka/marketing-consents.md",
1963
+ "json": "https://modules.openmercato.com/m/@piotrkarwatka/marketing-consents.json",
1964
+ "facts": "https://modules.openmercato.com/m/@piotrkarwatka/marketing-consents/v/0.1.0/facts.json",
1965
+ "npm": "https://www.npmjs.com/package/@piotrkarwatka/marketing-consents",
1966
+ "repo": "https://github.com/pkarw/marketing-consents",
1967
+ "docs": null
1968
+ },
1969
+ "addedAt": "2026-10-23",
1970
+ "updatedAt": "2026-10-23T03:05:00Z",
1971
+ "_meta": {
1972
+ "com.openmercato.modules/installable": {
1973
+ "0.9": "0.1.0",
1974
+ "0.8": "0.1.0",
1975
+ "next": "0.1.0"
1976
+ }
1977
+ }
1978
+ }
1979
+ ]
1980
+ }