@open-mercato/cli 0.6.8-develop.7016.1.4ed7b1e49d → 0.6.8-develop.7019.1.f4c01c4b5c

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 (79) hide show
  1. package/dist/agentic/guides/module-facts.json +130 -130
  2. package/dist/agentic/guides/module-facts.v2.json +130 -130
  3. package/dist/agentic/guides/modules/ai_assistant/index.md +1 -1
  4. package/dist/agentic/guides/modules/api_docs/index.md +1 -1
  5. package/dist/agentic/guides/modules/api_keys/index.md +1 -1
  6. package/dist/agentic/guides/modules/attachments/index.md +1 -1
  7. package/dist/agentic/guides/modules/audit_logs/index.md +1 -1
  8. package/dist/agentic/guides/modules/auth/index.md +1 -1
  9. package/dist/agentic/guides/modules/business_rules/index.md +1 -1
  10. package/dist/agentic/guides/modules/catalog/index.md +1 -1
  11. package/dist/agentic/guides/modules/channel_apns/index.md +1 -1
  12. package/dist/agentic/guides/modules/channel_expo/index.md +1 -1
  13. package/dist/agentic/guides/modules/channel_fcm/index.md +1 -1
  14. package/dist/agentic/guides/modules/channel_gmail/index.md +1 -1
  15. package/dist/agentic/guides/modules/channel_imap/index.md +1 -1
  16. package/dist/agentic/guides/modules/checkout/index.md +1 -1
  17. package/dist/agentic/guides/modules/communication_channels/index.md +1 -1
  18. package/dist/agentic/guides/modules/configs/index.md +1 -1
  19. package/dist/agentic/guides/modules/content/index.md +1 -1
  20. package/dist/agentic/guides/modules/currencies/index.md +1 -1
  21. package/dist/agentic/guides/modules/customer_accounts/index.md +1 -1
  22. package/dist/agentic/guides/modules/customers/index.md +1 -1
  23. package/dist/agentic/guides/modules/dashboards/index.md +1 -1
  24. package/dist/agentic/guides/modules/data_sync/exact-override-targets.md +2 -2
  25. package/dist/agentic/guides/modules/data_sync/index.md +1 -1
  26. package/dist/agentic/guides/modules/data_sync/workers.md +2 -2
  27. package/dist/agentic/guides/modules/design_system/index.md +1 -1
  28. package/dist/agentic/guides/modules/devices/index.md +1 -1
  29. package/dist/agentic/guides/modules/dictionaries/index.md +1 -1
  30. package/dist/agentic/guides/modules/directory/index.md +1 -1
  31. package/dist/agentic/guides/modules/documents/index.md +1 -1
  32. package/dist/agentic/guides/modules/entities/index.md +1 -1
  33. package/dist/agentic/guides/modules/eudr/index.md +1 -1
  34. package/dist/agentic/guides/modules/events/index.md +1 -1
  35. package/dist/agentic/guides/modules/feature_toggles/index.md +1 -1
  36. package/dist/agentic/guides/modules/gateway_stripe/index.md +1 -1
  37. package/dist/agentic/guides/modules/generators/index.md +1 -1
  38. package/dist/agentic/guides/modules/inbox_ops/index.md +1 -1
  39. package/dist/agentic/guides/modules/integrations/index.md +1 -1
  40. package/dist/agentic/guides/modules/messages/index.md +1 -1
  41. package/dist/agentic/guides/modules/notifications/index.md +1 -1
  42. package/dist/agentic/guides/modules/onboarding/index.md +1 -1
  43. package/dist/agentic/guides/modules/payment_gateways/index.md +1 -1
  44. package/dist/agentic/guides/modules/perspectives/index.md +1 -1
  45. package/dist/agentic/guides/modules/planner/index.md +1 -1
  46. package/dist/agentic/guides/modules/portal/index.md +1 -1
  47. package/dist/agentic/guides/modules/progress/index.md +1 -1
  48. package/dist/agentic/guides/modules/push_notifications/index.md +1 -1
  49. package/dist/agentic/guides/modules/query_index/index.md +1 -1
  50. package/dist/agentic/guides/modules/record_locks/index.md +1 -1
  51. package/dist/agentic/guides/modules/resources/index.md +1 -1
  52. package/dist/agentic/guides/modules/sales/index.md +1 -1
  53. package/dist/agentic/guides/modules/scheduler/index.md +1 -1
  54. package/dist/agentic/guides/modules/search/index.md +1 -1
  55. package/dist/agentic/guides/modules/security/index.md +1 -1
  56. package/dist/agentic/guides/modules/shipping_carriers/index.md +1 -1
  57. package/dist/agentic/guides/modules/sso/index.md +1 -1
  58. package/dist/agentic/guides/modules/staff/index.md +1 -1
  59. package/dist/agentic/guides/modules/storage_s3/index.md +1 -1
  60. package/dist/agentic/guides/modules/sync_akeneo/index.md +1 -1
  61. package/dist/agentic/guides/modules/sync_excel/index.md +1 -1
  62. package/dist/agentic/guides/modules/system_status_overlays/index.md +1 -1
  63. package/dist/agentic/guides/modules/translations/index.md +1 -1
  64. package/dist/agentic/guides/modules/warranty_claims/index.md +1 -1
  65. package/dist/agentic/guides/modules/webhooks/index.md +1 -1
  66. package/dist/agentic/guides/modules/wms/index.md +1 -1
  67. package/dist/agentic/guides/modules/workflows/index.md +1 -1
  68. package/dist/agentic/guides/reference-module-facts.json +1 -1
  69. package/dist/agentic/guides/upstream/manifest.json +1 -1
  70. package/dist/lib/generators/module-registry.js +77 -11
  71. package/dist/lib/generators/module-registry.js.map +2 -2
  72. package/dist/mercato.js +14 -0
  73. package/dist/mercato.js.map +2 -2
  74. package/package.json +6 -6
  75. package/src/__tests__/resolve-queue-abandon-hook.test.ts +39 -0
  76. package/src/lib/generators/__tests__/generated-registry-imports.test.ts +128 -0
  77. package/src/lib/generators/__tests__/metadata-extraction.test.ts +44 -0
  78. package/src/lib/generators/module-registry.ts +118 -5
  79. package/src/mercato.ts +27 -0
package/dist/mercato.js CHANGED
@@ -63,6 +63,15 @@ function getRegisteredCliWorkers(modules = getCliModules()) {
63
63
  }
64
64
  return allWorkers;
65
65
  }
66
+ function resolveQueueAbandonHook(queueName, queueWorkers, warn = console.warn) {
67
+ const declaring = queueWorkers.filter((worker) => worker.onJobAbandoned);
68
+ if (declaring.length > 1) {
69
+ warn(
70
+ `[worker] Queue "${queueName}" has ${declaring.length} workers declaring onJobAbandoned (${declaring.map((worker) => worker.id).join(", ")}); using the first and ignoring the rest.`
71
+ );
72
+ }
73
+ return declaring[0]?.onJobAbandoned;
74
+ }
66
75
  function shouldEmbedLocalSchedulerInSharedWorker(env = process.env) {
67
76
  return parseBooleanToken(env.OM_DEV_EMBED_SCHEDULER_IN_SHARED_WORKER) === true;
68
77
  }
@@ -1341,6 +1350,7 @@ async function run(argv = process.argv) {
1341
1350
  const concurrency = effectiveByQueue.get(queue) ?? concurrencyOverride ?? Math.max(...queueWorkers.map((w) => w.concurrency), 1);
1342
1351
  const maxStalledCount = Math.max(...queueWorkers.map((w) => w.maxStalledCount ?? 1), 1);
1343
1352
  const lockDuration = Math.max(...queueWorkers.map((w) => w.lockDuration ?? 0), 0) || void 0;
1353
+ const onJobAbandoned = resolveQueueAbandonHook(queue, queueWorkers);
1344
1354
  console.log(`[worker] Starting "${queue}" with ${queueWorkers.length} handler(s), concurrency: ${concurrency}`);
1345
1355
  const queueRedisUrl = getRedisUrl("QUEUE");
1346
1356
  await runWorker({
@@ -1349,6 +1359,7 @@ async function run(argv = process.argv) {
1349
1359
  concurrency,
1350
1360
  lockDuration,
1351
1361
  maxStalledCount,
1362
+ onJobAbandoned,
1352
1363
  background: true,
1353
1364
  handler: createPerJobWorkerHandler(queueWorkers, createRequestContainer)
1354
1365
  });
@@ -1382,6 +1393,7 @@ async function run(argv = process.argv) {
1382
1393
  const concurrency = budgetPlan.entries[0]?.effective ?? requested;
1383
1394
  const maxStalledCount = Math.max(...queueWorkers.map((w) => w.maxStalledCount ?? 1), 1);
1384
1395
  const lockDuration = Math.max(...queueWorkers.map((w) => w.lockDuration ?? 0), 0) || void 0;
1396
+ const onJobAbandoned = resolveQueueAbandonHook(queueName, queueWorkers);
1385
1397
  console.log(`[worker] Found ${queueWorkers.length} worker(s) for queue "${queueName}"`);
1386
1398
  const queueRedisUrl = getRedisUrl("QUEUE");
1387
1399
  await runWorker({
@@ -1390,6 +1402,7 @@ async function run(argv = process.argv) {
1390
1402
  concurrency,
1391
1403
  lockDuration,
1392
1404
  maxStalledCount,
1405
+ onJobAbandoned,
1393
1406
  handler: createPerJobWorkerHandler(queueWorkers, createRequestContainer)
1394
1407
  });
1395
1408
  } else {
@@ -2173,6 +2186,7 @@ export {
2173
2186
  hasCliModules,
2174
2187
  padByCodePointWidth,
2175
2188
  registerCliModules,
2189
+ resolveQueueAbandonHook,
2176
2190
  run
2177
2191
  };
2178
2192
  //# sourceMappingURL=mercato.js.map