@onlineapps/cookbook-router 1.0.35 → 1.0.36

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.
package/README.md CHANGED
@@ -207,7 +207,7 @@ The router distinguishes between retryable and non-retryable errors:
207
207
 
208
208
  - `@onlineapps/cookbook-core` - Core parsing and validation
209
209
  - `@onlineapps/cookbook-executor` - Workflow execution engine
210
- <!-- cookbook-transformer removed in operations.json-first migration; see /api/docs/standards/operations-registry-contract.md -->
210
+ <!-- cookbook-transformer removed in operations.json-first migration; see /api/docs/biz/30-operations/registration-wire.md -->
211
211
  - `@onlineapps/connector-cookbook` - Full-featured wrapper
212
212
 
213
213
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlineapps/cookbook-router",
3
- "version": "1.0.35",
3
+ "version": "1.0.36",
4
4
  "description": "Message routing for cookbook workflows - handles service discovery and queue routing",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -18,11 +18,7 @@
18
18
  ],
19
19
  "author": "OnlineApps",
20
20
  "license": "PROPRIETARY",
21
- "dependencies": {
22
- "@onlineapps/conn-infra-mq": "1.1.70",
23
- "@onlineapps/conn-orch-registry": "1.2.2",
24
- "@onlineapps/cookbook-core": "2.1.16"
25
- },
21
+ "dependencies": {},
26
22
  "devDependencies": {
27
23
  "jest": "^29.7.0"
28
24
  },
@@ -129,8 +129,19 @@ class QueueManager {
129
129
  this.mqClient.ack(message);
130
130
  } catch (error) {
131
131
  logger.error(`Error processing message from ${queueName}:`, error);
132
- // Reject message without requeue
133
- this.mqClient.nack(message, false, false);
132
+ // Reject message without requeue.
133
+ //
134
+ // The signature is `nack(msg, options)`, NOT amqplib's raw
135
+ // `nack(msg, allUpTo, requeue)`. This call read
136
+ // `nack(message, false, false)` until 2026-08-28: `false` arrived as
137
+ // `options`, `false.requeue` is `undefined`, and the client defaults an
138
+ // undefined `requeue` to TRUE
139
+ // (`@onlineapps/mq-client-core/src/transports/rabbitmqClient.js:2252`).
140
+ // Every message whose handler threw was therefore requeued forever
141
+ // instead of being discarded — the exact opposite of what the line above
142
+ // it claimed. Measured against the live broker: one publish produced 5
143
+ // deliveries in 1.2 s and kept going.
144
+ this.mqClient.nack(message, { requeue: false });
134
145
  }
135
146
  };
136
147