@adhdev/daemon-core 0.9.82-rc.544 → 0.9.82-rc.545

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhdev/daemon-core",
3
- "version": "0.9.82-rc.544",
3
+ "version": "0.9.82-rc.545",
4
4
  "description": "ADHDev daemon core — CDP, IDE detection, providers, command execution",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -47,8 +47,8 @@
47
47
  "author": "vilmire",
48
48
  "license": "AGPL-3.0-or-later",
49
49
  "dependencies": {
50
- "@adhdev/mesh-shared": "0.9.82-rc.544",
51
- "@adhdev/session-host-core": "0.9.82-rc.544",
50
+ "@adhdev/mesh-shared": "0.9.82-rc.545",
51
+ "@adhdev/session-host-core": "0.9.82-rc.545",
52
52
  "@agentclientprotocol/sdk": "^0.16.1",
53
53
  "ajv": "^8.20.0",
54
54
  "ajv-formats": "^3.0.1",
@@ -1417,7 +1417,18 @@ export class MeshRuntimeStore {
1417
1417
  taskId: entry.taskId ?? null,
1418
1418
  kind: entry.kind,
1419
1419
  priority: entry.priority ?? 0,
1420
- message: entry.message,
1420
+ // MESH-DELIVERY-MESSAGE-NOTNULL: the `message` column is NOT NULL, but a
1421
+ // re-dispatch / reclaim / idle-assign path can reach here with an undefined
1422
+ // message (a claimed task whose payload predates the message field, or a
1423
+ // slimmed re-drive entry). better-sqlite3 binds undefined as NULL, so the
1424
+ // bare `entry.message` threw 'NOT NULL constraint failed' and — because this
1425
+ // insert runs inside triggerMeshQueue — took down the ENTIRE queue drain
1426
+ // (fresh enqueue, pending-claim recovery, idle-assign, MAGI replica launch),
1427
+ // stranding all delegation. A delivery record's message is informational
1428
+ // ack-tracking, so coercing an absent message to '' preserves the row and the
1429
+ // drain instead of crashing. Matches the `?? null` defensive coercion every
1430
+ // other optional column here already uses.
1431
+ message: entry.message ?? '',
1421
1432
  status: entry.status,
1422
1433
  deliverAfter: entry.deliverAfter ?? null,
1423
1434
  expiresAt: entry.expiresAt ?? null,