sensorium-mcp 3.0.91 → 3.0.94
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/dist/config.d.ts +15 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +42 -0
- package/dist/config.js.map +1 -1
- package/dist/dashboard/presets.d.ts.map +1 -1
- package/dist/dashboard/presets.js +3 -0
- package/dist/dashboard/presets.js.map +1 -1
- package/dist/dashboard/routes/skills.d.ts +3 -0
- package/dist/dashboard/routes/skills.d.ts.map +1 -1
- package/dist/dashboard/routes/skills.js +63 -0
- package/dist/dashboard/routes/skills.js.map +1 -1
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +1 -0
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +4 -1
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +11 -11
- package/dist/data/memory/bootstrap.d.ts +0 -1
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +0 -15
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +7 -4
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +12 -6
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +41 -10
- package/dist/http-server.js.map +1 -1
- package/dist/integrations/openai/speech.d.ts +8 -2
- package/dist/integrations/openai/speech.d.ts.map +1 -1
- package/dist/integrations/openai/speech.js +15 -6
- package/dist/integrations/openai/speech.js.map +1 -1
- package/dist/intent.d.ts.map +1 -1
- package/dist/intent.js +38 -2
- package/dist/intent.js.map +1 -1
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +34 -3
- package/dist/server/factory.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +4 -2
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/claude-spawn.service.d.ts +1 -1
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +6 -4
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +7 -6
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +3 -8
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/process.service.d.ts +6 -0
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +81 -1
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +79 -4
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/topic.service.d.ts +1 -0
- package/dist/services/topic.service.d.ts.map +1 -1
- package/dist/services/topic.service.js +7 -3
- package/dist/services/topic.service.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts +1 -0
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +159 -19
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/sessions.d.ts +21 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +56 -0
- package/dist/sessions.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +2 -1
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +34 -0
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/start-session-tool.js +5 -5
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +10 -3
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +5 -1
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +1 -1
- package/templates/fire-and-forget.default.md +2 -2
- package/templates/{delegate-and-wait.default.md → handoff.default.md} +7 -5
- package/templates/offload.default.md +33 -0
- package/templates/swarm.default.md +41 -0
- package/templates/plan-mode.default.md +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.service.js","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAErD;;;yDAGyD;AACzD,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC,GAAG,CAAC;QACtD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAsBzC,MAAM,CAAC,MAAM,cAAc,GAAoB,EAAE,CAAC;AAElD,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;IACpE,CAAC;IACD,8EAA8E;IAC9E,0BAA0B;IAC1B,8EAA8E;IAC9E,iEAAiE;IACjE,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;;iFAIiF;AACjF,IAAI,cAAc,GAA6C,IAAI,CAAC;AAEpE,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,cAAc,IAAI,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,uBAAuB;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC;IACpG,IAAI,CAAC;QACH,gFAAgF;QAChF,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,uCAAuC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,CAAC,mEAAmE;IAClF,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,2DAA2D;IAC3F,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,kFAAkF;AAClF,uEAAuE;AACvE,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAEvC;;;;oEAIoE;AACpE,IAAI,gBAAgB,GAAuD,IAAI,CAAC;AAEhF,SAAS,sBAAsB;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,gBAAgB,IAAI,GAAG,GAAG,gBAAgB,CAAC,EAAE,GAAG,yBAAyB;QAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC;IAC9G,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CACtB,YAAY,EACZ,CAAC,YAAY,EAAE,UAAU,EAAE,wGAAwG,CAAC,EACpI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CACxD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,2CAA2C;QAC1H,CAAC;QACD,gBAAgB,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,yCAAyC,YAAY,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,CAAC,kEAAkE;IACjF,CAAC;AACH,CAAC;AAED;;6CAE6C;AAC7C,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,sBAAsB,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED;;;2EAG2E;AAC3E,SAAS,aAAa,CAAC,GAAW,EAAE,SAAkB;IACpD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAG,0CAA0C;IACtF,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAM,8CAA8C;IAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,yBAAyB,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,GAAW,CAAC;gBAChB,IAAI,IAAwB,CAAC;gBAC7B,IAAI,UAA2C,CAAC;gBAChD,IAAI,SAA6B,CAAC;gBAClC,IAAI,CAAC;oBACH,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyF,CAAC,CAAC;gBACnJ,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAChI,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAC3F,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAC3C,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC;QAC7F,GAAG,CAAC,IAAI,CAAC,4BAA4B,QAAQ,QAAQ,MAAM,CAAC,GAAG,qCAAqC,CAAC,CAAC;QACtG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACvJ,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,QAAQ,GAAkB,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,UAAU,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzR,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,CAAC,qCAAqC,QAAQ,QAAQ,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAW,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;AAEtG,MAAM,UAAU,kBAAkB;IAChC,wEAAwE;IACxE,MAAM,OAAO,GAAG,cAAc;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxB,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,oBAAoB,EAAE;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;SACxD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,kBAAkB,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;;uCAOuC;AACvC,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;oBAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,oCAAoC,IAAI,GAAG,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC;YAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,EAAY,EAAE,eAAuC;IAClF,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,EAAE,CAAC;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC/B,CAAC;IAEF,+EAA+E;IAC/E,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,4EAA4E;YAC5E,2EAA2E;YAC3E,mEAAmE;YACnE,kFAAkF;YAClF,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,QAAQ,SAAS,QAAQ,CAAC,GAAG,4CAA4C,CAAC,CAAC;gBACzI,KAAK,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,wCAAwC,QAAQ,CAAC,QAAQ,8BAA8B,CAAC,CAAC;gBAClG,IAAI,CAAC;oBAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACjD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,0DAA0D;YAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClE,cAAc,CAAC,IAAI,CAAC;oBAClB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;oBACpC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;oBAC3C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;oBAC3C,OAAO,EAAE,EAAE;oBACX,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,oCAAoC,QAAQ,CAAC,QAAQ,QAAQ,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,IAAI,CAAC;gBAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,sDAAsD,QAAQ,CAAC,QAAQ,SAAS,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC/G,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC;oBACH,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,iDAAiD,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,8CAA8C,MAAM,CAAC,QAAQ,+BAA+B,CAAC,CAAC;YACvG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAe;IAC5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,4CAA4C,MAAM,IAAI,GAAG,WAAW,QAAQ,EAAE,CAAC,CAAC;YAC9H,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,kDAAkD,MAAM,IAAI,GAAG,WAAW,QAAQ,EAAE,CAAC,CAAC;YACpI,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,iCAAiC,GAAG,WAAW,QAAQ,YAAY,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;QAE9F,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,4CAA4C,QAAQ,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC5E,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,YAAY,QAAQ,uBAAuB,OAAO,wCAAwC,CAAC,CAAC;gBACzH,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,iCAAiC;YACjC,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,YAAY,QAAQ,oCAAoC,OAAO,aAAa,CAAC,CAAC;YAC3G,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,sEAAsE;gBACtE,uEAAuE;gBACvE,sEAAsE;gBACtE,2DAA2D;gBAC3D,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,GAAG,YAAY,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;gBACtH,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;oBAChH,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAC9C,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnH,IAAI,GAAG,EAAE,CAAC;oBACR,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,YAAY,QAAQ,aAAa,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBACD,mEAAmE;gBACnE,kDAAkD;gBAClD,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,YAAY,QAAQ,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"process.service.js","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalE,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6BlE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB/E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,UAKpF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IASvE,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWjE;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,IAAI,kBAAkB,GAAG,IAAI,CAInE;AAED,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,GAAG,SAK9E,CAAC;AAOF,eAAO,MAAM,0BAA0B,QAAO,OAAmC,CAAC;AAClF,eAAO,MAAM,2BAA2B,GAAI,GAAG,OAAO,KAAG,IAAyC,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIhE;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AA2GD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7J"}
|
|
@@ -13,14 +13,40 @@ import { closeSync, existsSync, fstatSync, openSync, readSync, unlinkSync, write
|
|
|
13
13
|
import { tmpdir } from "node:os";
|
|
14
14
|
import { join } from "node:path";
|
|
15
15
|
import { log } from "../logger.js";
|
|
16
|
-
import { getMaxConcurrentThreads } from "../config.js";
|
|
16
|
+
import { getMaxConcurrentThreads, getAgentType } from "../config.js";
|
|
17
17
|
import { initMemoryDb } from "../data/memory/schema.js";
|
|
18
|
+
import { getThread } from "../data/memory/thread-registry.js";
|
|
19
|
+
import { sendTelegramMessage } from "../telegram.js";
|
|
18
20
|
import { errorMessage } from "../utils.js";
|
|
19
21
|
import { deleteTelegramTopicByBotApi } from "./topic.service.js";
|
|
20
|
-
import { PROCESS_PIDS_DIR, spawnedThreads } from "./process.service.js";
|
|
22
|
+
import { PROCESS_PIDS_DIR, PENDING_TASKS_DIR, spawnedThreads, wasTaskConsumed, clearTaskConsumed } from "./process.service.js";
|
|
21
23
|
import { ThreadState } from "./thread-lifecycle.service.js";
|
|
22
24
|
import { decommissionWorker } from "./worker-cleanup.service.js";
|
|
23
25
|
import { writeThreadHeartbeatSync, clearThreadHeartbeat } from "../data/file-storage.js";
|
|
26
|
+
// ── Worker respawn (failed MCP-handshake recovery) ──────────────────────────
|
|
27
|
+
// A swarm worker is a headless `claude -p` process whose only useful tools come
|
|
28
|
+
// from this server's MCP HTTP transport. Claude does NOT block its turn until MCP
|
|
29
|
+
// servers finish connecting; under concurrent swarm spawns the handshake can
|
|
30
|
+
// still be pending when the turn starts, so the worker boots with only built-in
|
|
31
|
+
// tools, has no start_session/wait_for_instructions, answers "I don't have those
|
|
32
|
+
// tools" into invisible stdout, and exits code 0 in ~25-35s — never consuming its
|
|
33
|
+
// pre-queued task. The reliable "did no work" signal is that the worker NEVER
|
|
34
|
+
// consumed a task (wasTaskConsumed === false) — NOT merely that the pending-task
|
|
35
|
+
// file is present, because that file is a shared append-only mailbox that
|
|
36
|
+
// report_progress and cross-thread sends can recreate AFTER a worker already did
|
|
37
|
+
// its work. Respawning on "file present" re-ran finished workers → duplicate posts.
|
|
38
|
+
// We respawn the same threadId (reusing its existing topic) up to
|
|
39
|
+
// MAX_WORKER_RESPAWNS times ONLY for the never-consumed handshake race; a worker
|
|
40
|
+
// that consumed its task is strictly single-use and is never respawned.
|
|
41
|
+
const MAX_WORKER_RESPAWNS = 3;
|
|
42
|
+
// Only respawn a task-unstarted worker whose life was short enough to match the
|
|
43
|
+
// handshake-race signature — a long-lived worker that merely has a late second
|
|
44
|
+
// task queued should not be blindly relaunched.
|
|
45
|
+
const WORKER_RESPAWN_UPTIME_MS = 180_000;
|
|
46
|
+
// Per-threadId respawn counter, cleared when the worker finally reaches
|
|
47
|
+
// decommission (normal completion or give-up). In-memory only: after a server
|
|
48
|
+
// restart workers are not resumed anyway, so a persisted counter buys nothing.
|
|
49
|
+
const workerRespawnAttempts = new Map();
|
|
24
50
|
/**
|
|
25
51
|
* Env vars that must never leak from the server's ambient environment into
|
|
26
52
|
* spawned agent children. The COPILOT_PROVIDER_* keys carry the BYOK endpoint
|
|
@@ -138,9 +164,55 @@ async function handleProcessExit(code, threadId, pid, pidFilePath, entry, proces
|
|
|
138
164
|
const isTerminal = currentState === ThreadState.Archived || currentState === ThreadState.Expired;
|
|
139
165
|
if (!isTerminal) {
|
|
140
166
|
if (entry.threadType === "worker") {
|
|
141
|
-
// Worker: fully decommission (delete topic, archive notes & DB entry, remove from registry)
|
|
142
167
|
const token = process.env.TELEGRAM_TOKEN || "";
|
|
143
168
|
const chatId = process.env.TELEGRAM_CHAT_ID || "";
|
|
169
|
+
// Handshake-race recovery: relaunch ONLY a worker that NEVER consumed a
|
|
170
|
+
// task (wasTaskConsumed === false) and exited fast enough to match the
|
|
171
|
+
// toolless-startup signature. A worker that already consumed its task is
|
|
172
|
+
// single-use — never respawned — so a late mailbox append can't cause it
|
|
173
|
+
// to re-run and duplicate its output.
|
|
174
|
+
const uptimeMs = Date.now() - entry.startedAt;
|
|
175
|
+
const taskFile = join(PENDING_TASKS_DIR, `${threadId}.txt`);
|
|
176
|
+
const taskPresent = existsSync(taskFile);
|
|
177
|
+
const consumed = wasTaskConsumed(threadId);
|
|
178
|
+
if (taskPresent && !consumed && uptimeMs < WORKER_RESPAWN_UPTIME_MS) {
|
|
179
|
+
const attempts = (workerRespawnAttempts.get(threadId) ?? 0) + 1;
|
|
180
|
+
if (attempts <= MAX_WORKER_RESPAWNS) {
|
|
181
|
+
workerRespawnAttempts.set(threadId, attempts);
|
|
182
|
+
log.warn(`[respawn] worker thread ${threadId} ("${entry.name}") exited (code ${code}) after ${Math.round(uptimeMs / 1000)}s with task never consumed — respawn attempt ${attempts}/${MAX_WORKER_RESPAWNS}`);
|
|
183
|
+
const reg = getThread(db, threadId);
|
|
184
|
+
const agentType = (reg?.client ?? getAgentType());
|
|
185
|
+
const { dispatchSpawn } = await import("./agent-spawn.service.js");
|
|
186
|
+
const res = dispatchSpawn(agentType, entry.name, threadId, threadLifecycle, reg?.workingDirectory ?? undefined, entry.memorySourceThreadId ?? reg?.rootThreadId ?? undefined, "worker", db);
|
|
187
|
+
if ("pid" in res) {
|
|
188
|
+
log.info(`[respawn] worker thread ${threadId} relaunched as PID=${res.pid}`);
|
|
189
|
+
return; // task file preserved for the new process — skip decommission
|
|
190
|
+
}
|
|
191
|
+
log.warn(`[respawn] worker thread ${threadId} relaunch failed: ${res.error} — decommissioning`);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
log.error(`[respawn] worker thread ${threadId} ("${entry.name}") exhausted ${MAX_WORKER_RESPAWNS} respawn attempts — giving up`);
|
|
195
|
+
if (token) {
|
|
196
|
+
const safeName = entry.name.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
197
|
+
try {
|
|
198
|
+
await sendTelegramMessage(token, chatId, `⚠️ Worker <b>${safeName}</b> (thread ${threadId}) failed to start its task after ${MAX_WORKER_RESPAWNS} respawns and was decommissioned.`, { parseMode: "HTML" });
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
log.warn(`[respawn] give-up alert failed for thread ${threadId}: ${errorMessage(err)}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else if (taskPresent && consumed) {
|
|
207
|
+
// A single-use worker exited with content still in its mailbox — a late
|
|
208
|
+
// append (report_progress parent-forward / cross-thread send) after the
|
|
209
|
+
// task was already done. Do NOT re-run it; warn so the reuse attempt is
|
|
210
|
+
// visible instead of silently duplicating work. The mailbox is deleted
|
|
211
|
+
// by decommissionWorker below.
|
|
212
|
+
log.warn(`[respawn] worker thread ${threadId} ("${entry.name}") exited with a non-empty mailbox after already consuming its task — NOT respawning (single-use); discarding late mailbox content.`);
|
|
213
|
+
}
|
|
214
|
+
workerRespawnAttempts.delete(threadId);
|
|
215
|
+
// Worker: fully decommission (delete topic, archive notes & DB entry, remove from registry)
|
|
144
216
|
const telegramAdapter = {
|
|
145
217
|
deleteForumTopic: async (cId, topicId) => {
|
|
146
218
|
if (token && cId)
|
|
@@ -150,8 +222,11 @@ async function handleProcessExit(code, threadId, pid, pidFilePath, entry, proces
|
|
|
150
222
|
await decommissionWorker(entry, { db, telegram: telegramAdapter, chatId, threadLifecycle });
|
|
151
223
|
}
|
|
152
224
|
else {
|
|
153
|
-
// Non-worker (e.g., keepAlive thread): mark exited so KeeperService can restart
|
|
225
|
+
// Non-worker (e.g., keepAlive thread): mark exited so KeeperService can restart.
|
|
226
|
+
// Clear the consumed-task signal too so the in-memory Set stays bounded to
|
|
227
|
+
// currently-live threads (a restarted thread re-marks it on next consume).
|
|
154
228
|
threadLifecycle.markExited(db, threadId);
|
|
229
|
+
clearTaskConsumed(threadId);
|
|
155
230
|
}
|
|
156
231
|
}
|
|
157
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-common.js","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn-common.js","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.service.d.ts","sourceRoot":"","sources":["../../src/services/topic.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAK5E,KAAK,aAAa,GAAG;IACnB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpG,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAYxF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,EAAE,sBAAsB,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"topic.service.d.ts","sourceRoot":"","sources":["../../src/services/topic.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAK5E,KAAK,aAAa,GAAG;IACnB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpG,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAYxF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,EAAE,sBAAsB,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAkCjC;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -28,7 +28,7 @@ export function resolveExistingTopic(chatId, names) {
|
|
|
28
28
|
return undefined;
|
|
29
29
|
}
|
|
30
30
|
export async function probeOrRemapTopic(opts) {
|
|
31
|
-
const { telegram, chatId, logicalThreadId, topicName, db, threadLifecycle, aliases = [], probeText } = opts;
|
|
31
|
+
const { telegram, chatId, logicalThreadId, topicName, db, threadLifecycle, aliases = [], probeText, allowWorkerRemap = false } = opts;
|
|
32
32
|
try {
|
|
33
33
|
await telegram.sendMessage(chatId, probeText, undefined, logicalThreadId);
|
|
34
34
|
return { remapped: false };
|
|
@@ -39,9 +39,13 @@ export async function probeOrRemapTopic(opts) {
|
|
|
39
39
|
return { remapped: false };
|
|
40
40
|
// Skip remap for worker threads (disposable — dead-worker-sweep archives them)
|
|
41
41
|
// and already-archived/expired/exited threads (no active session to serve).
|
|
42
|
+
// allowWorkerRemap overrides the worker skip for a deliberate start_thread
|
|
43
|
+
// resume, where recreating the topic is the whole point — that is not the
|
|
44
|
+
// orphan-send path this guard exists to protect against.
|
|
42
45
|
const threadRecord = getThread(db, logicalThreadId);
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
const isTerminal = threadRecord?.status === "archived" || threadRecord?.status === "expired" || threadRecord?.status === "exited";
|
|
47
|
+
if ((threadRecord?.type === "worker" && !allowWorkerRemap) || isTerminal) {
|
|
48
|
+
log.info(`[topic] Thread ${logicalThreadId} topic is dead (type=${threadRecord?.type}, status=${threadRecord?.status}) — skipping remap.`);
|
|
45
49
|
return { remapped: false };
|
|
46
50
|
}
|
|
47
51
|
log.warn(`[topic] Thread ${logicalThreadId} topic is dead (${msg}) - creating replacement.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.service.js","sourceRoot":"","sources":["../../src/services/topic.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGnG,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAOnC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAuB,EACvB,MAAc,EACd,SAAiB,EACjB,UAAoB,EAAE;IAEtB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjE,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3D,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS;YAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,KAAK,CAAC,iBAAiB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,KAAe;IAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"topic.service.js","sourceRoot":"","sources":["../../src/services/topic.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare function decommissionWorker(thread: {
|
|
|
14
14
|
}): Promise<void>;
|
|
15
15
|
export declare function cleanupExpiredWorkers(db: ReturnType<typeof import("../memory.js").initMemoryDb>, telegram: {
|
|
16
16
|
deleteForumTopic(chatId: string, threadId: number): Promise<void>;
|
|
17
|
+
sendMessage?(chatId: string, text: string, parseMode?: string, threadId?: number): Promise<void>;
|
|
17
18
|
}, chatId: string, threadLifecycle: ThreadLifecycleService, ttlMs?: number): Promise<{
|
|
18
19
|
cleaned: number;
|
|
19
20
|
errors: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACvF,IAAI,EAAE;IACJ,EAAE,EAAE,UAAU,CAAC,cAAc,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,QAAQ,EAAE;QAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC;CACzC,GACA,OAAO,CAAC,IAAI,CAAC,CA+Bf;AA0CD,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,UAAU,CAAC,cAAc,cAAc,EAAE,YAAY,CAAC,EAC1D,QAAQ,EAAE;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG,EACD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,sBAAsB,EACvC,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4KhD"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { unlinkSync } from "node:fs";
|
|
1
2
|
import { archiveNotesForThread } from "../data/memory/semantic.js";
|
|
3
|
+
import { closeThreadSessions } from "../sessions.js";
|
|
2
4
|
import { getExplicitTelegramTopicId } from "../data/memory/thread-registry.js";
|
|
3
5
|
import { errorMessage } from "../utils.js";
|
|
4
|
-
import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive } from "./process.service.js";
|
|
6
|
+
import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive, clearTaskConsumed, deletePendingTaskMailbox } from "./process.service.js";
|
|
5
7
|
import { ThreadState } from "./thread-lifecycle.service.js";
|
|
6
8
|
import { log } from "../logger.js";
|
|
7
9
|
export async function decommissionWorker(thread, deps) {
|
|
@@ -12,11 +14,23 @@ export async function decommissionWorker(thread, deps) {
|
|
|
12
14
|
catch (err) {
|
|
13
15
|
log.warn(`[decommission] transitionThread failed for ${thread.threadId}: ${errorMessage(err)}`);
|
|
14
16
|
}
|
|
15
|
-
// 1.
|
|
17
|
+
// 1. Close MCP transport(s) so the agent's event loop drains and its process
|
|
18
|
+
// exits ON ITS OWN. A server's own child cannot be reliably force-killed on
|
|
19
|
+
// Windows (parent→child EPERM), but the server owns the socket — closing it
|
|
20
|
+
// is the reliable teardown. The kill below stays as a fast-path backstop.
|
|
21
|
+
try {
|
|
22
|
+
const closed = closeThreadSessions(thread.threadId);
|
|
23
|
+
if (closed > 0)
|
|
24
|
+
log.info(`[decommission] Closed ${closed} MCP transport(s) for thread ${thread.threadId}.`);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
log.warn(`[decommission] closeThreadSessions failed for ${thread.threadId}: ${errorMessage(err)}`);
|
|
28
|
+
}
|
|
29
|
+
// 2. Kill process (no-op if already dead)
|
|
16
30
|
if (thread.pid !== undefined) {
|
|
17
31
|
await killProcessTree(thread.pid, thread.threadId, "decommission");
|
|
18
32
|
}
|
|
19
|
-
//
|
|
33
|
+
// 3. Delete Telegram topic
|
|
20
34
|
try {
|
|
21
35
|
const topicId = getExplicitTelegramTopicId(deps.db, thread.threadId) ?? thread.threadId;
|
|
22
36
|
await deps.telegram.deleteForumTopic(deps.chatId, topicId);
|
|
@@ -24,27 +38,79 @@ export async function decommissionWorker(thread, deps) {
|
|
|
24
38
|
catch (err) {
|
|
25
39
|
log.warn(`[decommission] deleteForumTopic failed for thread ${thread.threadId}: ${errorMessage(err)}`);
|
|
26
40
|
}
|
|
27
|
-
//
|
|
41
|
+
// 4. Archive notes
|
|
28
42
|
try {
|
|
29
43
|
archiveNotesForThread(deps.db, thread.threadId);
|
|
30
44
|
}
|
|
31
45
|
catch (err) {
|
|
32
46
|
log.warn(`[decommission] archiveNotesForThread failed for ${thread.threadId}: ${errorMessage(err)}`);
|
|
33
47
|
}
|
|
34
|
-
//
|
|
48
|
+
// 5. Archive thread in DB
|
|
35
49
|
try {
|
|
36
50
|
deps.threadLifecycle.archiveThread(deps.db, thread.threadId);
|
|
37
51
|
}
|
|
38
52
|
catch (err) {
|
|
39
53
|
log.warn(`[decommission] archiveThread failed for thread ${thread.threadId}: ${errorMessage(err)}`);
|
|
40
54
|
}
|
|
41
|
-
//
|
|
55
|
+
// 6. Remove from spawnedThreads array
|
|
42
56
|
const idx = spawnedThreads.findIndex((t) => t.threadId === thread.threadId);
|
|
43
57
|
if (idx !== -1)
|
|
44
58
|
spawnedThreads.splice(idx, 1);
|
|
59
|
+
// 7. Delete the pending-task mailbox and clear the single-use signal so a
|
|
60
|
+
// retired worker can never be re-fed a late append or re-run.
|
|
61
|
+
deletePendingTaskMailbox(thread.threadId);
|
|
62
|
+
clearTaskConsumed(thread.threadId);
|
|
63
|
+
}
|
|
64
|
+
/** Final teardown for a worker whose process is CONFIRMED dead: delete its
|
|
65
|
+
* Telegram topic (safe only now — the invariant is topic-delete-when-dead),
|
|
66
|
+
* archive notes + DB row, drop in-memory tracking, and remove its pending-task
|
|
67
|
+
* mailbox and stale PID file so it is never reprocessed.
|
|
68
|
+
* The stale PID file is unlinked ONLY when the topic delete succeeded — a
|
|
69
|
+
* transient Telegram failure must leave the PID file so the dead worker is
|
|
70
|
+
* revisited next cycle and the topic delete retried, rather than being dropped
|
|
71
|
+
* from tracking with its topic permanently leaked. Archive/mailbox ops are
|
|
72
|
+
* idempotent, so re-running them on the retry is harmless. */
|
|
73
|
+
async function finalizeDeadWorker(threadId, pidFilePath, db, telegram, chatId, threadLifecycle) {
|
|
74
|
+
let topicDeleted = false;
|
|
75
|
+
try {
|
|
76
|
+
const topicId = getExplicitTelegramTopicId(db, threadId) ?? threadId;
|
|
77
|
+
await telegram.deleteForumTopic(chatId, topicId);
|
|
78
|
+
topicDeleted = true;
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
log.warn(`[worker-cleanup] deleteForumTopic failed for dead worker ${threadId} — will retry next cycle: ${errorMessage(err)}`);
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
archiveNotesForThread(db, threadId);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
log.warn(`[worker-cleanup] archiveNotesForThread failed for dead worker ${threadId}: ${errorMessage(err)}`);
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
threadLifecycle.archiveThread(db, threadId);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
log.warn(`[worker-cleanup] archiveThread failed for dead worker ${threadId}: ${errorMessage(err)}`);
|
|
94
|
+
}
|
|
95
|
+
const idx = spawnedThreads.findIndex((t) => t.threadId === threadId);
|
|
96
|
+
if (idx !== -1)
|
|
97
|
+
spawnedThreads.splice(idx, 1);
|
|
98
|
+
deletePendingTaskMailbox(threadId);
|
|
99
|
+
clearTaskConsumed(threadId);
|
|
100
|
+
if (pidFilePath && topicDeleted) {
|
|
101
|
+
try {
|
|
102
|
+
unlinkSync(pidFilePath);
|
|
103
|
+
}
|
|
104
|
+
catch { /* already gone */ }
|
|
105
|
+
}
|
|
45
106
|
}
|
|
46
107
|
const DEFAULT_WORKER_TTL_MS = 60 * 60 * 1000;
|
|
108
|
+
const UNKILLABLE_RENOTIFY_MS = 60 * 60 * 1000; // re-ping the operator at most hourly per stuck worker
|
|
47
109
|
let orphanSweepDone = false;
|
|
110
|
+
// Per-thread timestamp (ms) of the last "worker unkillable" escalation, so the
|
|
111
|
+
// backstop reaper does not spam the operator every 5-min cycle while a wedged
|
|
112
|
+
// process refuses to die. Cleared once the process is finally gone.
|
|
113
|
+
const unkillableNotifiedAt = new Map();
|
|
48
114
|
export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycle, ttlMs = DEFAULT_WORKER_TTL_MS) {
|
|
49
115
|
const result = { cleaned: 0, errors: [] };
|
|
50
116
|
const now = Date.now();
|
|
@@ -59,13 +125,18 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
59
125
|
}
|
|
60
126
|
try {
|
|
61
127
|
const cutoff = new Date(now - ttlMs).toISOString();
|
|
128
|
+
// HARD lifetime cap: age is measured from created_at, NOT last_active_at. An
|
|
129
|
+
// idle worker that finishes its task and sits in wait_for_instructions keeps
|
|
130
|
+
// rewriting last_active_at, so an activity-based cutoff never fired and the
|
|
131
|
+
// worker lived forever. Anchoring to created_at guarantees a worker cannot
|
|
132
|
+
// outlive ttlMs regardless of how active it stays.
|
|
62
133
|
// Any non-archived worker past its TTL is stale — not just 'active'/'exited'.
|
|
63
134
|
// A worker that died mid-teardown orphans at 'exiting' (decommissionWorker
|
|
64
135
|
// sets Exiting BEFORE archiveThread); 'stuck'/'spawning' can orphan the same
|
|
65
136
|
// way. Restricting to active/exited left those lingering on the dashboard
|
|
66
137
|
// forever. Young live workers are still excluded by the TTL cutoff below.
|
|
67
138
|
const staleRows = db.prepare(`SELECT thread_id, telegram_topic_id FROM thread_registry
|
|
68
|
-
WHERE type = 'worker' AND status != 'archived' AND
|
|
139
|
+
WHERE type = 'worker' AND status != 'archived' AND created_at < ?`).all(cutoff);
|
|
69
140
|
const pidEntries = readPidFiles();
|
|
70
141
|
for (const row of staleRows) {
|
|
71
142
|
// Skip only if this thread is already tracked as a worker in spawnedThreads
|
|
@@ -77,16 +148,37 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
77
148
|
const pidEntry = pidEntries.find((e) => e.threadId === row.thread_id);
|
|
78
149
|
const inMemEntry = spawnedThreads.find((t) => t.threadId === row.thread_id);
|
|
79
150
|
const killPid = pidEntry?.pid ?? inMemEntry?.pid;
|
|
80
|
-
|
|
81
|
-
|
|
151
|
+
// Close the MCP transport first so the agent process drains and exits on
|
|
152
|
+
// its own (the reliable teardown; force-kill of a server child is racy on
|
|
153
|
+
// Windows). killProcessTree below is a best-effort fast-path backstop.
|
|
82
154
|
try {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
await telegram.deleteForumTopic(chatId, topicId);
|
|
155
|
+
const closed = closeThreadSessions(row.thread_id);
|
|
156
|
+
if (closed > 0)
|
|
157
|
+
log.info(`[worker-cleanup] Closed ${closed} MCP transport(s) for stale worker thread ${row.thread_id}.`);
|
|
87
158
|
}
|
|
88
159
|
catch (err) {
|
|
89
|
-
log.warn(`[worker-cleanup]
|
|
160
|
+
log.warn(`[worker-cleanup] closeThreadSessions failed for stale thread ${row.thread_id}: ${errorMessage(err)}`);
|
|
161
|
+
}
|
|
162
|
+
if (killPid)
|
|
163
|
+
await killProcessTree(killPid, row.thread_id, "worker-cleanup-expired");
|
|
164
|
+
// Invariant: a worker's topic is deleted ONLY when its process is confirmed
|
|
165
|
+
// gone. If the kill left it alive (EPERM on a wedged child), defer topic
|
|
166
|
+
// deletion to the backstop reaper below, which re-checks liveness — deleting
|
|
167
|
+
// here would orphan the topic of a still-running worker.
|
|
168
|
+
const processGone = !killPid || !isProcessAlive(killPid);
|
|
169
|
+
if (processGone) {
|
|
170
|
+
try {
|
|
171
|
+
// For workers, thread_id IS the Telegram topic ID (created via createManagedTopic).
|
|
172
|
+
// Use explicit telegram_topic_id if set, otherwise fall back to thread_id.
|
|
173
|
+
const topicId = row.telegram_topic_id ?? row.thread_id;
|
|
174
|
+
await telegram.deleteForumTopic(chatId, topicId);
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
log.warn(`[worker-cleanup] deleteForumTopic failed for orphan thread ${row.thread_id}: ${errorMessage(err)}`);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
log.warn(`[worker-cleanup] Stale worker thread ${row.thread_id} survived kill — deferring topic deletion to reaper (process still alive).`);
|
|
90
182
|
}
|
|
91
183
|
threadLifecycle.archiveThread(db, row.thread_id);
|
|
92
184
|
try {
|
|
@@ -141,22 +233,70 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
141
233
|
// forever. Scan live PID files and reap any worker that is no longer runnable.
|
|
142
234
|
try {
|
|
143
235
|
for (const entry of readPidFiles()) {
|
|
144
|
-
const row = db.prepare(`SELECT type, status,
|
|
236
|
+
const row = db.prepare(`SELECT type, status, name, created_at AS ts
|
|
145
237
|
FROM thread_registry WHERE thread_id = ?`).get(entry.threadId);
|
|
146
238
|
const isWorker = entry.threadType === "worker" || row?.type === "worker";
|
|
147
239
|
if (!isWorker)
|
|
148
240
|
continue;
|
|
241
|
+
// HARD lifetime cap from created_at (see staleRows above): an idle worker
|
|
242
|
+
// refreshing last_active_at must still die once it outlives ttlMs.
|
|
149
243
|
const pastTtl = row?.ts ? now - new Date(row.ts).getTime() > ttlMs : true;
|
|
150
244
|
const runnable = row?.status === "active" && !pastTtl;
|
|
151
245
|
if (runnable)
|
|
152
246
|
continue;
|
|
153
|
-
if (!isProcessAlive(entry.pid))
|
|
247
|
+
if (!isProcessAlive(entry.pid)) {
|
|
248
|
+
unkillableNotifiedAt.delete(entry.threadId);
|
|
249
|
+
// Process is confirmed dead but its topic/registry can still linger (a
|
|
250
|
+
// zombie whose exit handler never ran). This is the invariant-safe point
|
|
251
|
+
// to delete the topic and finalize.
|
|
252
|
+
await finalizeDeadWorker(entry.threadId, entry.filePath, db, telegram, chatId, threadLifecycle);
|
|
253
|
+
result.cleaned++;
|
|
154
254
|
continue;
|
|
255
|
+
}
|
|
256
|
+
// Reliable teardown for the EPERM-unkillable case: an agent that outlived
|
|
257
|
+
// its thread is still holding an open MCP socket to this server, which is
|
|
258
|
+
// what keeps its Node event loop alive. Close that socket — the client
|
|
259
|
+
// gets a FIN, drains, and the process exits ON ITS OWN. This is the fix
|
|
260
|
+
// for exactly the wedged-child case where killProcessTree hits EPERM.
|
|
261
|
+
const closedTransports = closeThreadSessions(entry.threadId);
|
|
262
|
+
if (closedTransports > 0) {
|
|
263
|
+
log.info(`[worker-cleanup] Closed ${closedTransports} MCP transport(s) for lingering worker thread ${entry.threadId} — awaiting self-exit.`);
|
|
264
|
+
}
|
|
155
265
|
await killProcessTree(entry.pid, entry.threadId, "worker-cleanup-reap");
|
|
266
|
+
// killProcessTree resolves even when the kill FAILS (e.g. EPERM on a
|
|
267
|
+
// Windows claude.exe whose wedged bash.exe child makes taskkill /T a
|
|
268
|
+
// no-op). Re-check liveness before claiming success — otherwise we log a
|
|
269
|
+
// phantom "Reaped", drop the tracking entry, and count it as cleaned,
|
|
270
|
+
// hiding a zombie that then reappears and "reaps" forever. If it survived,
|
|
271
|
+
// surface it to the operator (rate-limited) so it gets a manual kill.
|
|
272
|
+
if (isProcessAlive(entry.pid)) {
|
|
273
|
+
// If we JUST closed its socket this pass, the self-exit is still
|
|
274
|
+
// draining — don't cry "unkillable" yet. Give it until the next sweep;
|
|
275
|
+
// by then it has either exited (caught above) or is genuinely wedged.
|
|
276
|
+
if (closedTransports > 0)
|
|
277
|
+
continue;
|
|
278
|
+
const name = row?.name ?? `thread ${entry.threadId}`;
|
|
279
|
+
log.warn(`[worker-cleanup] Worker pid=${entry.pid} thread=${entry.threadId} ('${name}') survived kill — unkillable from this process (likely EPERM on a wedged child); needs a manual kill.`);
|
|
280
|
+
const last = unkillableNotifiedAt.get(entry.threadId) ?? 0;
|
|
281
|
+
if (telegram.sendMessage && now - last >= UNKILLABLE_RENOTIFY_MS) {
|
|
282
|
+
try {
|
|
283
|
+
// No threadId: the worker's own topic is usually already deleted, so
|
|
284
|
+
// route the alert to General where the operator will actually see it.
|
|
285
|
+
// Escape the name — it is HTML parse mode and a raw '<'/'&' would 400.
|
|
286
|
+
const safeName = name.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
287
|
+
await telegram.sendMessage(chatId, `💀 <b>${safeName}</b> (thread ${entry.threadId}, PID ${entry.pid}) won't terminate — needs a manual kill (<code>taskkill /F /T /PID ${entry.pid}</code> from an elevated shell).`, "HTML");
|
|
288
|
+
unkillableNotifiedAt.set(entry.threadId, now);
|
|
289
|
+
}
|
|
290
|
+
catch (err) {
|
|
291
|
+
log.warn(`[worker-cleanup] Failed to notify operator about unkillable worker ${entry.threadId}: ${errorMessage(err)}`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
unkillableNotifiedAt.delete(entry.threadId);
|
|
156
297
|
log.info(`[worker-cleanup] Reaped lingering worker pid=${entry.pid} thread=${entry.threadId} (status=${row?.status ?? "unknown"}, pastTtl=${pastTtl})`);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
spawnedThreads.splice(idx, 1);
|
|
298
|
+
// Confirmed dead after kill — delete the topic (invariant-safe) and finalize.
|
|
299
|
+
await finalizeDeadWorker(entry.threadId, entry.filePath, db, telegram, chatId, threadLifecycle);
|
|
160
300
|
result.cleaned++;
|
|
161
301
|
}
|
|
162
302
|
}
|