fix: bun install, node-addon-api for sharp, consolidate PendingMessageStore (#1140)

* fix: use bun install in sync, add node-addon-api for sharp, consolidate PendingMessageStore

- Switch sync-marketplace from npm to bun install
- Add node-addon-api as dev dep so sharp builds under bun
- Consolidate duplicate PendingMessageStore instantiation in worker-service finally block

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* build assets

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2026-02-16 18:05:42 -05:00
committed by GitHub
parent d2e926fbf7
commit f24251118e
5 changed files with 149 additions and 144 deletions

View File

@@ -118,6 +118,7 @@
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"esbuild": "^0.27.2",
"node-addon-api": "^8.5.0",
"np": "^11.0.2",
"tsx": "^4.20.6",
"typescript": "^5.3.0"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -98,9 +98,9 @@ try {
console.log('Cleared stale native module cache (@img/sharp)');
}
console.log('Running npm install in marketplace...');
console.log('Running bun install in marketplace...');
execSync(
'cd ~/.claude/plugins/marketplaces/thedotmack/ && npm install',
'cd ~/.claude/plugins/marketplaces/thedotmack/ && bun install',
{ stdio: 'inherit' }
);

View File

@@ -604,23 +604,23 @@ export class WorkerService {
return;
}
// Shared store for idle-reset and pending-count checks below
const { PendingMessageStore } = require('./sqlite/PendingMessageStore.js');
const pendingStore = new PendingMessageStore(this.dbManager.getSessionStore().db, 3);
// Idle timeout means no new work arrived for 3 minutes - don't restart
if (session.idleTimedOut) {
logger.info('SYSTEM', 'Generator exited due to idle timeout, not restarting', {
sessionId: session.sessionDbId
});
// Reset stale processing messages so they can be picked up later
const { PendingMessageStore: PendingMsgStore } = require('./sqlite/PendingMessageStore.js');
const idlePendingStore = new PendingMsgStore(this.dbManager.getSessionStore().db, 3);
idlePendingStore.resetStaleProcessingMessages(0, session.sessionDbId); // Reset this session's messages only
pendingStore.resetStaleProcessingMessages(0, session.sessionDbId); // Reset this session's messages only
session.idleTimedOut = false; // Reset flag
this.broadcastProcessingStatus();
return;
}
// Check if there's pending work that needs processing with a fresh AbortController
const { PendingMessageStore } = require('./sqlite/PendingMessageStore.js');
const pendingStore = new PendingMessageStore(this.dbManager.getSessionStore().db, 3);
const pendingCount = pendingStore.getPendingCount(session.sessionDbId);
if (pendingCount > 0) {